MySQL – 状態の確認とコマンド一覧

statusコマンドでMySQLのバージョンや文字セット、ポート番号などを状態を確認できる。

また、helpコマンドでコマンド一覧を表示できる。

 

 

MySQL – コンソールからの接続

MySQLへのログイン

ターミナルソフトでサーバにログイン後、mysqlコマンドでMySQLに接続する。

-uでユーザ名を指定し、-hでホスト名(サーバ名)を指定する。-pオプションだけつけると、パスワードの入力を求められる。さくらサーバでMySQLをインストール済みの場合は以下の通り。

パスワード入力に成功すると、mysql>プロンプトが表示される。

MySQLからのログアウト

mysql>プロンプトに対してquitまたはexitで終了。

quitの代わりに\qでも終了できる。

 

 

RLoginでさくらサーバーにssh接続

RLoginのインストール

Poderosaを使っていたが、Windows10で動かそうとすると.NET3.5が必要だと言われた上に、そのインストールが固まって動かなくなってしまった。Poderosaは開発も止まっているらしく、この機にRLoginを試してみた。

ダウンロードサイトからrlogin.zipをダウンロードして解凍すると、ファイルはrlogin.exeの一つだけなので、これを実行できるように配置すればよい。

最初にRLoginを立ち上げるとサーバーを登録するダイアログが立ち上がる。RLoginでは接続するサーバーを「エントリ」として登録する。

エントリの登録

RLogin起動時に”Serever Select”ダイアログが立ち上がるが、一旦接続を切った後などのRLoginのメインウィンドウからは、「ファイル」→「サーバーに接続」メニューか左端の「サーバー接続」ボタンで同じダイアログが立ち上がる。

  • 「エントリー/コメント」欄にサーバー名などを入力
  • プロトコルはssh
  • Server Addressはさくらサーバーの場合、[ユーザ名].sakura.ne.jp
  • User NameとPasswordは空欄にしておいて、「接続時にユーザ名・パスワードの入力を求める」にチェック
  • デフォルト文字セットは「UTF-8」

これでエントリ名を選択してOKを押すとユーザ名とパスワードの入力ダイアログが立ち上がり、接続後は通常のターミナル画面となる。

タイムアウト対策

デフォルト設定のままだと2分程度でサーバー側から接続が切られてしまうので、タイムアウト対策が必要。

RLoginの場合は、

  1. Server Selectダイアログからさくらサーバーのエントリを選んで「編集」
  2. 「プロトコル」を選ぶ
  3. SSHフィールドの「KeepAliveパケット」を設定
    • チェックボックスをOn
    • 送信間隔を60(秒)に

 

QGIS – カテゴリによる地図の塗り分け

都道府県や市区町村のような地図を、値データではなくカテゴリデータで分類して塗り分ける方法。自治体名そのものをデータとすると、自治体ごとに色を変えて塗り分けることができる。

qgis-japan-random-paint

この操作は次のように行う。

  1. レイヤパネルで塗り分けたい地図のレイヤを右クリック→「プロパティ」
  2. ダイアログの左タブで「スタイル」を選択
  3. 一番上のドロップダウンで「分類された」を選択
  4. その下のドロップダウンで、分類に使うカテゴリデータの項目を選択
  5. シンボルや色階調を選択(上の都道府県塗り分けでは「ランダムカラー」を使った)
  6. 「分類」ボタンを押してスクロールウィンドウの表示を確認
  7. 「はい」ボタン/「適用」ボタンで塗り分け実行

 

QGIS – ラベル表示

表示されている地物に、属性データのカテゴリーを選んでラベルとして表示することができる。

  1. レイヤパネルで対象のレイヤを右クリック→「プロパティ」
  2. 左側のタブで「ラベル」を選択
  3. 一番上のドロップダウンで「このレイヤのラベル表示」を選択
  4. その下のドロップダウンでラベルに使う項目を選択
  5. 「はい」か「適用」を選択

ただし日本の全市区町村名をラベルとして表示させようとするとかなり重たくなる。一定サイズ以上の地物だけラベルを表示させるようにすると軽くなる。

 

QGIS – 属性データの項目名変更

項目名の制限と対策

QGISは属性名の長さが半角10文字以内と短いため使い難い。より長い文字列を項目名として使う対策として2通りある。

  1. 項目名を編集する方法
  2. 項目の別名を定義する方法

項目名自体を編集するには、プロセッシングツールを使う必要があり、新しいShapeファイルへ書き出すことになるので手間がかかる。

項目の別名は通常メニューから操作でき、新しいShapeファイルも作成されない。

項目名を編集する方法

各レイヤの属性データの項目名を変更方法として、Table Managerというプラグインの利用が紹介されているが、これを実行してみたところ「最新バージョンではQGIS内でテーブル操作が可能となっており、プラグインの仕様はデータの破壊の可能性が・・・」といった趣旨の警告ダイアログが立ち上がる。

プロセッシングツールの「フィールドのリファクタリング」を用いるとよいらしいので、メニューからたどってみると、属性テーブルの項目情報が表示され、それらが変更可能になっていた。

メモとして手順だけを示しておく。

  1. 「プロセッシング」→「ツールボックス」でプロセッシングツールボックスが開く
  2. 「QGISジオアルゴリズム」→「ベクターテーブルツール」と階層をたどると「フィールドのリファクタリング」が見つかる
  3. それをダブルクリックするとダイアログが立ち上がり、属性テーブルの項目情報が表示される。
  4. 入力レイヤを選択
    • “Do you want to reset the field mapping?”のダイアログに「はい」
  5. フィールドマッピングエリアで、項目名(Name)の書き換え
  6.  Refactordで新しいファイルの保存場所とファイル名を指定
    • System(UTF-8にしたらエラーになって文字化けした)
  7. Run
    • Pythonでエラーが出るが気にしない

注意点

新しいShapeファイルの書き出しは、フォルダが空の場合は早いが、既に同名のshpファイルがある場合は極端に処理が重くなる

項目名の別名を定義する方法

レイヤのプロパティから、各項目の別名を入力・設定することができる。この方法は新しいShapeファイルを生成しないので時間がかからない。

レイヤーのプロパティーを表示

項目名を変更するレイヤーを右クリックして「プロパティー」を選択。

レイヤプロパティダイアログで以下のように操作する。

  1. 左側のタブ中、「属性フォーム」を選択
  2. 項目名を変更したいフィールドを選択し、別名(Alias)に好みの項目名を入力
  3. OKボタンをクリック

これによって、属性テーブルを表示させたとき項目名に別名が表示されるようになる。

 

QGIS – デフォルト座標系の設定

QGISでデフォルトの座標系(CRS: Coordinate Reference System)を設定するには以下のように操作する。

「設定」→「オプション」でオプションダイアログ|CRSが開くので、「常に次のCRSで新プロジェクトを開始する」の「CRSの選択」ボタンを押す。

qgis-settings-crs1

「空間参照システム」ダイアログが開くので、「フィルター」の欄に”JGD2000″と入力。

qgis-settings-crs2

「世界中の空間参照システム」のエリアのトップにJGD2000/EPSG4612が表示されるので、それを選択して「OK」。

 

MANDARA – 国土数値情報(高速道路)のインポート

概要

MANDARAは国土数値情報など複数の地図データ形式を取り込むことができる。高速道路データを国土数値情報のダウンロードサービスからダウンロードしてMANDARAに取り込んだので、その過程をメモ。国土数値情報の高速道路時系列の内容についてはこちら

国土数値情報では、全国の高速道路のリンクと接合部のデータがJPGIS形式で提供されているものの、MANDARAでJPGISで取り込み可能なのは「行政区域(面)」、鉄道(線)」、「公共施設」のみ。

旧統一フォーマット形式で「道路」のデータCSVで提供されているが、こちらは平成7年度と年次が古いので使い難い。

ところで、先のJPGIS形式のデータをダウンロードするとShape形式(shp)やdbfファイルもついてくる。これらを取り込むことで、地図ファイルデータと属性データとして取り込むことができる。この取り込み方法には、属性データまで一括して取り込む方法と、地図ファイルと属性データを別々にファイル化して取り込む方法がある。

たとえば高速道路の場合、xmlファイルと別に、路線についてはN06-15_HighwaySection、ICやJCTなどのジョイントについてはN06-15_Jointといったファイル名が付され、それぞれに拡張子shp、dbf、shxの3種類のファイルが得られる。

方法1:地図と属性の一括取り込み

  1. 作業用のフォルダに3つの拡張子(shp、dbf、shx)のファイルを保存
  2. MANDARAを起動した直後のダイアログで「シェープファイル読み込み」を選択
  3. shpファイルを参照・選択して読み込み
    • 複数のshpファイルを読み込むことができ、それぞれ別のレイヤの属性として取り込まれる
    • 地図データは、一つのファイルに複数のオブジェクトグループとして取り込まれる

この方法の特徴は以下の通り。

  • 路線と結節点のオブジェクト名は、元のオブジェクト名が基本になる
    • ファイル名を使うと[ファイル名].[オブジェクト連番]になる
    • 複数のShapeファイルを取り込んでファイル名を使わないと[ファイル連番].[オブジェクト連番]になる
  • 地図ファイルを分離するには、「編集」メニューからマップエディタを開き、地図ファイルとして保存
  • 属性データはdbfファイルに保存された順番・内容のまま
    • 集成したい場合は属性データの編集で行う

方法2:地図と属性を別々にファイル化

地図データの取得

  1. マップエディタを起動
  2. 「地図データ取得」→「シェープファイル」でダイアログが開く
  3. よみこむShapeファイルを選択していく
  4. 「オブジェクト名のヘッダにファイル名をつける」のチェックを入れる/はずす
  5. 座標系、測地系、投影法を確認して「ファイル変換」ボタンを押す
  6. このあと必要なら、オブジェクト名を一括変換

参考:オブジェクト名の変更と属性データの取り込み

オブジェクト名の変更

Shapeファイルを読み込んだままの状態では、オブジェクト名は単なる連番か、その前にファイル名が付されたものになる。オブジェクト名に路線名を入れたかったのと、連番の桁数を固定長としたかったので、次のようにした。

  1. dbfファイルを表計算ソフトで開く
  2. 路線名のデータをコピーして別シートに貼り付け
  3. 同じ項目数の連番を生成して値コピー
  4. 固定長の連番を文字列化し路線名と合体させて新たなオブジェクト名とする
  5. 元の連番を1列目、新たなオブジェクト名を2列目に配置して、2列分の全データをコピー
  6. マップエディタのオブジェクト名の一括変換でオブジェクト名を変換

属性データの取り込み

種別や車線数などの基本データをCSV化して、後で利用しやすいようにしておく。

  1. dbfファイルを表計算ソフトで開く
  2. 先頭列を確保し、マップエディタのオブジェクト名のコピー機能を利用して、オブジェクト名をコピー・ペースト
  3. 不要なデータ項目(列)を削除
  4. 項目名を適宜修正
  5. ファイルをCSV形式で保存

 

MANDARA – オブジェクトの操作

マップエディタ

オブジェクトの検索

マップエディタで開いている地図ファイルのオブジェクトは、「編集」→「オブジェクト名関係」→「オブジェクト名検索」で開くダイアログで検索できる。

ただし、通常オブジェクトと集成オブジェクトを同時に検索することができない点に注意。

オブジェクト編集の対象は通常オブジェクトと集成オブジェクトをトグルで切り替えるが、この設定が検索にも影響する。

  1. オブジェクト編集モードで「編集対象選択」を押すとだいあろぐがたちあがある
  2. 「オブジェクトのタイプ」で「通常」か「集成」のどちらかを選択
  3. 「編集」メニューからオブジェクト検索のダイアログを開くと、「オブジェクトのタイプ」が上で選択した方(通常/集成)になっていて、選択されていない方はグレイアウトになっている

オブジェクト名一括変換

オブジェクト名の一括変換は、あらかじめ表計算ソフトで作成したデータをクリップボードにコピーして、その内容で一括変換を行う。

変換データの準備

表の構成は、1列目が元のオブジェクト名、2列目が新しいオブジェクト名1、3列目は必要に応じて新しいオブジェクト名2。

一括変換操作

表のデータを準備した後、以下のように操作。

  1. 表計算ソフトの対象エリアを選択してコピー
  2. 「編集」→「オブジェクト名関係」→「オブジェクト名一括変換」
  3. 「クリップボードのデータをもとに一括してオブジェクト名を変換します」のダイアログで「はい」のボタンを押す

オブジェクト名のコピー

地図ファイルデータのオブジェクト名をクリップボードへコピーし、表計算ソフトなどへ貼り付けて利用することができる。データの一括作成・変更に便利。

  1. 「編集」→「オブジェクト名関係」→「クリップボードへオブジェクト名のコピー」でダイアログが立ち上がる
  2. 必要なオブジェクト名を絞り込み・指定
  3. 「オブジェクト名1をコピー」などのボタンを押してクリップボードへコピー
  4. 表計算ソフトなどへ貼り付ける

 

 

MANDARA – 地図ファイルだけの表示について

地図ファイルだけを表示する3つの方法

地図データのオブジェクトを、主題図での統計操作ではなく絵柄として描画させたいとき、トライアル・アンド・エラーでわかったことをメモ。数値処理を意図しないで地図だけを表示させたい時、次の3つの方法があるらしい。

  1. 白地図データのレイヤを設定して読み込み、直接表示させる方法
  2. 属性データでダミーオブジェクトを表示させる方法
  3. カテゴリ・データを使って表示させる方法

いろいろ試してみたところ、3のカテゴリ・データを使う方法が柔軟で手軽なようだ。

白地図データを直接表示させる方法

まず、地図ファイルからレイヤを構成する。

  1. 白地図データ表示を指定してダイアログを表示
    • MANDARA起動時のダイアログで「白地図・初期属性データ表示」を選択
    • MANDARAメニューの「ファイル」→「白地図・初期属性データ表示」
  2. 「地図ファイル」エリアの「参照」ボタンを押して地図ファイルを指定
  3. 既に1つレイヤが登録されているので、そのレイヤで表示するオブジェクトグループを選択
  4. さらに「レイヤ追加」ボタンを押して新規レイヤを追加し、表示するオブジェクトグループを選択
  5. 「OK」ボタンを押して設定終了→主題図メニューへ
    • このとき、同じレイヤに異なる形状のオブジェクトグループを指定すると「形状の異なるオブジェクトグループが指定されています」とエラーになる

形状が異なるオブジェクトグループは同じレイヤに指定できないので、レイヤ分類は多くの場合必要になる。

次に、各レイヤを重ね合わせ表示させる。

  1. 「データ表示」タブで「対象レイヤ」を選択して、「重ね合わせセット」ボタンを押す
    1. 「重ね合わせ表示」タブの「重ね合わせデータ」に登録されたことが確認できる
  2. 以後、同じ手順で対象レイヤを指定して重ね合わせセット
  3. 「重ね合わせ表示」タブで「描画開始」ボタンを押して地図を表示
  4. 必要に応じてMANDARAの形式でデータ・設定を保存

この方法の特徴は以下の通り。

  • 特に新たな属性データを準備する必要がない
  • レイヤの変更が柔軟に行えない
    • 変更のたびに「白地図・初期属性データ表示」からやり直さなければならない
  • オブジェクトの表示色はオブジェクト作成時のものではなく、データ表示のペイントで設定する必要がある

ダミーオブジェクトグループを定義する方法

以下のようなCSVファイルを準備して読み込む。ただし見やすさのため、区切りのcommaの後にTABを入れている。

あるいは必要最低限のタグだけを残すと、以下でもok。

ダミーオブジェクトを指定することで、それらについては属性データがなくても表示される。ただし実体オブジェクトとその属性データが全くないとエラーになるので、最低でも一つ、この例では「北海道」というオブジェクトを準備している。

この方法の特徴は以下の通り。

  • 同じCSVファイルを再利用可能
  • 地図だけの表示でも最低一つの実体オブジェクトが必要となり、その表示方法の設定が必要になる

カテゴリ・データを使う方法

以下のようなCSVファイルを準備して読み込む。

表示は以下の手順で。

  1. 各レイヤ・カテゴリのデータ表示パターンを設定する
  2. 必要ななレイヤ・データ項目を重ね合わせる。

この方法の特徴は以下の通り。

  1. 同じCSVファイルを再利用可能
  2. セットした表示パターンをセーブ可能
  3. レイヤを別ファイルにして、データ挿入が可能
    • 使用する地図ファイルは共通していなければならない