2012年06月22日

カシミール3DのマップカッターでKMZ作成→GIS用のJpeg作成

注意!この記事はかなり古い情報です。

カシミール3Dでネットに接続していれば使える「電子国土」の地図ですが、

なんとかGISで簡単に使えないかと、いろいろ考えて、

次の方法を考えました。

手順としては、

カシミール3DのマップカッターでKMZファイルを作る

  ↓

KMZファイルを解凍し、中からJpegファイルと、KMLファイルを取り出す

  ↓

エクセルで自作したワールドファイルの座標を計算するファイルでワールドファイルを作る

  ↓

Jpegと同じファイル名の拡張子Jgwのファイルをテキストファイルで作りJpegと同じフォルダに入れる

  ↓

JpegをGISで表示する


こんな感じです。

ワールドファイルとは、JpegやビットマップをGISで表示するための、

座標が記録されたファイルのことです。


まずは、カシミール3Dで範囲を指定し、マップカッターを起動します。

保存するフォルダを選択して、

保存形式を「GARMIN/Google KMZ形式」を選択します。

分割数は、縦1枚、横1枚にします。

Image 2012_06_22_005304.jpg

「OK」ボタンで地図が出力されます。


作成されたKMZファイルは、ZIPファイルと同じ形式なので、解凍ソフトで解凍できます。

解凍後は、次のExcelファイルに書かれた手順でワールドファイルを作成してください。




QGISで使用する場合には、オンザフライCRS変換を有効にしておくと、違う座標参照系でも綺麗につながります。

Jpegをジオレファレンサーで位置合わせしてもいいのですが、たくさんあると大変なので、

楽する方法を考えました。


posted by kouichi at 01:05| Comment(0) | カシミール3D | このブログの読者になる | 更新情報をチェックする

2012年02月08日

カシミール3Dに林小班界を表示(KMLデータの利用)

注意!この記事はかなり古い情報です。

以前の記事で、地名ファイルを使用して、林小班のラベルを表示しました。

そこで使用していた林小班界、実はあれは「E00」ファイルではなく、

KMLファイルを利用して作成したものでした。

Image 2012_01_29_000104.jpg


カシミール3DではGISツールプラグインで、

E00形式のファイルを表示できますが、

現在、フリーソフトでシェープファイルを、

E00形式のファイルに変換できるものは全くありません。

(あったら教えて下さい)


なので、シェープファイルをQGISでKMLファイルにし、

GoogleEathで保存しなおして、林小班界をカシミール3Dに表示します。


QGISで林小班界のシェープファイルを開きます。

ラインのシェープファイルを開いてください。

Image 2012_02_08_225347.jpg

ラインのシェープファイルがない場合には、

「ベクタ」→「ジオメトリツール」→「ポリゴンをラインにする」で、

ラインのシェープファイルを作成します。


レイヤを右クリックして、「名前をつけて保存」で

KMLファイルに保存します。

この時、CRSは「WGS84」に指定してください。

(カシミール3Dの測地系がWGS84の場合)

Image 2012_02_08_225446.jpg


QGISで作ったKMLファイルを直接カシミール3Dに表示すると、

なんかすごいことになります。

Image 2012_02_08_230050.jpg


これを修正するために、一度GoogleEarthに読み込んで、

再度KMLファイルで保存します。

Image 2012_02_08_230349.jpg


Image 2012_02_08_230402.jpg


Image 2012_02_08_230438.jpg

間違って「KMZ」で保存しないように注意してください。


カシミール3Dに、作成したKMLデータをドロップします。

Image 2012_02_08_230907.jpg

このように地図に表示されました。

線の太さや、色は、GPSデータの編集で行なってください。

Image 2012_02_08_231143.jpg

Image 2012_02_08_231213.jpg


<地図画像として保存してしまう>


GPSデータのまま林小班界を使用していると、

地図移動時にポップアップが出たり、

点を間違って移動してしまったりします。

Image 2012_02_08_231642.jpg


すこし煩わしいので、新たな地図データとして保存してしまいましょう。

地図データとして保存すると、1枚の画像になってしまうので、

線のスタイルの変更はできません。

地図を保存する前に、林小班界の線を、

自分の好きなスタイルに変更してください。


地図にしたい範囲を選択します。

Image 2012_02_08_231858.jpg


Image 2012_02_08_231936.jpg


選択後に、地図で表示したい縮尺まで拡大します。

Image 2012_02_08_232013.jpg

小さい縮尺のままだと、ファイルサイズは小さいですが、画像が荒くなります。


「ツール」→「マップカッター」→「切り出し」で、

マップカッタープラグインの画面を表示させます。

マップカッタープラグインが表示されない場合には、

プラグインをインストールしてください。

Image 2012_02_08_232749.jpg


カシミール形式で保存します。

圧縮する場合には、「圧縮する」にチェックを付けます。

圧縮すると「cmp」で、圧縮しなければ「bmp」で保存します。

「地図を等倍表示で切り出す」のチェックを外すと、

現在の表示倍率で保存します。

分割数は、好みで良いです。

カシミールだけで画像を使用するなら、640x480などでいいです。

Image 2012_02_08_232958.jpg

「OK」をクリックすると、地図を作成します。


地図データを開くで、新しく作成した地図を指定し開きます。

Image 2012_02_08_233515.jpg


これで、画像データとしての新しい地図データを作成できました。


林小班ラベルも地名ファイルの場合、間違って移動したりしてしまうので、

林小班ラベルも表示した状態で、地図を作成すると、ラベルありの

新しい地図が作れます。


posted by kouichi at 23:18| Comment(3) | カシミール3D | このブログの読者になる | 更新情報をチェックする

2012年01月29日

カシミール3Dの地名ファイルを利用し、林小班ラベルを表示する(その2)

注意!この記事はかなり古い情報です。現在のQGISとは操作方法が違いますので注意してください

カシミール3Dの地名ファイルを利用し、林小班名をラベル表示する方法です。

イメージはこんな感じです。

Image 2012_01_27_222358.jpg


まずは準備。

必要なものは次のとおりです。

・林小班のシェープファイル(ポリゴンのデータ)

・QuantumGIS(以下QGIS)

・カシミール3D

・私の作ったデータ変換ファイル KML→地名ファイル変換.vbs
(vbsファイルは、クリックするとコードが表示されます。そのコードをコピーして、テキストエディタに貼り付け、拡張子を「vbs」にして保存してもいいですし、リンクを右クリックし、「名前をつけてリンク先を保存」を選択し、ファイル名を入力して保存しても構いません。)

(方法は同じなので、小班データで説明します)
まず、QGISでシェープファイルを読み込み、小班を表示させます。
Image 2012_01_28_232551.jpg

このポリゴンデータを元に、ラベルを表示する位置のポイントデータを作成します。
「ベクタ」→「ジオメトリツール」→「ポリゴンの重心」を選択します。
(ベクタメニューは「fToolプラグイン」が有効になっていなければ表示されません。)
Image 2012_01_28_232713.jpg

ファイル名を指定して、シェープファイルを作成します。
Image 2012_01_28_232952.jpg

日本語のファイル名を使用していると、変換直後にプロジェクトに追加しようとするとエラーが出ますが、
ベクタレイヤの追加で、追加してください。
追加したポイントレイヤを右クリックし、「名前をつけて保存」を選択します。
Image 2012_01_28_233207.jpg

「形式」を「Keyhole Markup Language[KML]」を選択。
保存先を指定し、「CRS」に「WGS84」を選択します。(カシミール3D側が「Tokyo」なら「Tokyo」を選択)
「OK」ボタンをクリックすると、KMLファイルが作成されます。

つぎに、このKMLファイルを地名ファイルに変換するのですが、
その前に、シェープファイルの何というフィールドに、ラベルに表示したいデータが入っているか確認します。
小班データの属性データを表示し、フィールド名を確認し、メモします。
Image 2012_01_28_234035.jpg

KMLデータをカシミール3D用の地名ファイルに変換します。
上でダウンロードした「KML→地名ファイル変換.vbs」に作成したKMLファイルをドロップします。
Image 2012_01_28_234639.jpg

ラベルに表示したいデータのあるフィールド名を聞かれるので、
先ほどメモしたフィールド名を入力します。
Image 2012_01_28_234908.jpg

地名の種類を聞かれます。
これは適当に入力していいです。
Image 2012_01_28_235200.jpg

次に表示するレイヤレベルを入力します。
上に表示したいものほど数字を小さくします。
林班は「1」、小班は「3」などと入力します。
Image 2012_01_28_235721.jpg

処理が行われ、KMLファイルと同じフォルダに同じ名前の「ndb」ファイルができています。
これが地名ファイルです。

林班データも同じように変換し、地名ファイルを作成します。

カシミール3Dを起動し、「ファイル」→「開く」→「地名ファイル」または、地名ファイルを地図にドロップします。
Image 2012_01_29_000104.jpg

すると、作成した地名ファイルが表示されます。
2つ目の地名ファイルは、「ファイル」→「開く」→「地名ファイル」で「現在開いているデータに追加して読み込み」
にチェックを付けて読み込みます。
ドロップすると、先に読み込んだ地名ファイルが消えてしまいますので注意してください。
Image 2012_01_29_000303.jpg

文字のフォントや大きさ、色の変更は、「編集」→「地名の属性とレイヤ編集」
で変更します。
Image 2012_01_29_000436.jpg

Image 2012_01_29_000701.jpg

これで、ラベル表示が行えるようになります。

次回は、GISファイル「E00」の代わりにKMLファイルを使って林小班の区画線を表示する方法を行いたいと思います。







posted by kouichi at 00:13| Comment(3) | カシミール3D | このブログの読者になる | 更新情報をチェックする
×

この広告は180日以上新しい記事の投稿がないブログに表示されております。