Linuxコマンド – alias

さくらサーバで用いられているaliasコマンドの書き方。

たとえばlsaという名前でls -aを実行させたい時は以下のように入力。

登録済みのエイリアスの一覧は引数なしでaliasコマンド。

エイリアスを削除するにはunaliasコマンド。

さくらサーバのデフォルトでは、.cshrcファイルにエイリアスが登録されている。

このファイルに新たなaliasを追加することができる。

 

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

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

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

 

 

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

MySQLへのログイン

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

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

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

MySQLからのログアウト

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

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

 

 

RLoginでさくらサーバに接続

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. 「別名」欄に別名を入力

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

 

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. 表計算ソフトなどへ貼り付ける