ラベル QGIS の投稿を表示しています。 すべての投稿を表示
ラベル QGIS の投稿を表示しています。 すべての投稿を表示

2021年9月9日木曜日

illustrator→QGIS 点情報コンバート成功

 点情報についてillustrator→QGIS移植が成功しましたのでメモします。

自分にとっては数年越しの技術問題解決になります。

【illustrator作業】

1 illustratorで点情報を作図する

点は四角で表現する。点が四角の中央に位置するように四角を描く。


illustrator画面

2 illustratorで全ての点情報を選択した状態で、属性ウィンドウを開きイメージマップを長方形に指定し、URLに適当な文字を記入する。


属性ウィンドを開いたillustrator画面

3 その状態でファイル→書き出し→web用に保存(従来)クリック

4 開いたウィンドウのプレビューをクリック


web用に保存(従来)のウィンドウ

【エディター作業】

5 ブラウザに画像と座標情報を含んだコードが表示される


プレビュークリックで開いたブラウザ画面

6 座標情報を含んだコードをコピーしてエディターに貼り付ける


コピペしたエディター画面

7 エディターの置換機能等を利用して座標情報以外を削除してファイルとして保存する


座標情報以外を削除したエディター画面

【Excel作業、一部QGIS利用】

8 座標情報をコンマ区切りデータとしてExcelに読み込む

9 対角2点の情報を平均して四角形情報から点情報に変換する

10 y座標の値に-をつける(-1を乗じる)…y座標の値を反転させる

11 判りやすい2点ABを設定する。(例 y座標の最大値と最小値など)

12 A、Bの2点は背景地図等を利用してQGISにおける座標(例 平面直角座標系9の座標値)を求める

13 A、B間のy座標距離(あるいはx座標距離)について

QGISの値(例 平面直角座標系9の値)/illustratorの座標値(y座標反転)=a

を求める

14 A点のillustrator座標値を操作上x=0、y=0にするために、全座標値からA点の値を引く。

15 14の操作をしたillustrator座標値に係数aを乗じる

16 15の操作をした全座標値にA点のQGIS座標値を加える。この操作で座標値はQGISの座標値に変換されたことになる。

17 16の操作をした座標シートをcsvファイルとして書き出す

【QGIS作業】

18 csvファイルをQGISに読み込む(完了)


csvファイルを表示したQGIS画面


2020年12月19日土曜日

紙地図等高線から地形3Dモデルを作成する方法

 紙地図等高線から地形3Dモデルを作成することが、web情報を閲覧しながら試行錯誤して出来るようになりましたので、そのテクニックをメモします。

見様見真似の活動のため間違っている点や非効率の側面があるかもしれませんが、自分自身用のメモとして記録しておきます。

次のweb記事が特段の参考になりましたので石井淳平さんに感謝します。

石井淳平 GRASS GIS v.surf.rstコマンドで等高線からDEMを作成する

試行錯誤活動の中で特にハードルが高く、その突破に時間がかった項目に●をつけました。。

1 技術メモ

1-1 等高線デジタイズ方法(QGIS作業)

・QGISのEPSGは(千葉県なので)6677としました。

1-1-1 等高線資料のQGIS画面ジオリファレンス

(略)

1-1-2 等高線のデジタイズ(等高線ファイル作成)

ア ファイル特性の設定

・QGISでレイヤ→レイヤを作成→新規シェープファイルレイヤ

・ファイル名入力(パス名・ファイル名に日本語不可)

・ジオメトリタイプ→ライン

・追加次元 Z値(+M値)にチェック●

・新規フィールド 名称→elev(日本語不可) 型→小数点付き整数 →フィールドリストに追加●

イ 等高線トレース

・新規レイヤを書き込みできるようにして等高線をトレースする。1本のトレース終了時にID番号(通し番号)とelev値(標高値)を記入する。

(等高線は部分的に存在していても、完全につながっていなくても、標高の間隔が不定でも可。)

・最後にシェープファイルとして保存する。


等高線トレースの様子

1-2 等高線ファイルを含むGRASSマップセットの作成(GRASS作業)

・GRASSでデータベース、ローケーション(EPSGは6677)、(等高線ファイル格納予定)マップセットのフォルダーを作成する。(日本語不可)

・GRASSでマップセットに等高線ファイルをインポートする。(ベクトルデータのインポート)


GRASSにインポートされた等高線ファイルの様子

1-3 等高線→DEM変換作業(QGIS作業…GRASSプラグインによる作業)

・プラグイン→GRASS→GRASSMapsetを開く→GISDBASE(データベース)、位置(ロケーション)、Mapsetについて等高線ファイル格納のものを選択→OK (この状態ではQGISにGRASSの等高線ファイルは表示されない。●)

・プラグイン→GRASS→GRASSツールを開く→GRASSツール→領域(画面で領域を設定する)→解像度で解像度を設定(EPSG6677はm単位であり、東西・南北に1を設定するとドット1つが1m×1mを代表する。東西・南北に0.5を設定する0.5mメッシュ精度のDEMを作成することになる。)●

・GRASSツール→モジュール→Raster→Surface management→Interpolate surface→v.surf.rst→モジュール→オプション(v.surf.rstは検索でも出てくる)

・オプションで入力するベクトルマップ名の選択、Attribute field(interpolated values)(標高フィールド)の選択、Name for output surface elevetion raster map(出力ファイル名 日本語不可)などを選択・入力する。

・最後に実行。(実行するとGRASSツール出力欄が開き作業進行状態が表示され、最後に成功しました。)(この状態ではQGISに出力ファイルは表示されない。●)

・「出力を見る」クリック●→QGISレイヤパネルにDEMレイヤ(ラスターファイル)が入る。ただし、画面には表示されない。!!!●


GRASSツールの画面の様子

1-4 出力DEMファイルの表示・利用(QGIS作業)

・出力DEMレイヤクリック→プロパティ→シンボロジ→モードを連続的を等間隔分類に変更する●(関連してクラスを例えば5に、カラーランプを反転するなどの調整をする)→適用→OK→出力DEMファイルが画面にカラーで表示される。(このレイヤの状態ではDEMとして機能しません。●)

・出力DEMレイヤクリック→エクスポート→名前を付けて保存→ラスタレイヤの保存→出力モードの生データにチェック(形式GeoTIFF●、ファイル名入力、座標参照系(例EPSG6677)OK→GeoTIFFファイルの出力(このファイルがDEMファイルとして3Dモデル構築に使えます。)


出力DEM表示例(QGIS)

1-5 Qgis2threejsによる3Dモデル構築

・Qgis2threejsのDEMで4で作成したGeoTIFFを指定して3Dモデル表示。

・3Dモデルを.gitfファイルで出力。


Qgis2threejs画面例

2 感想

・大小とりどりの「判らないこと」を試行錯誤で「判ること」にする作業は膨大な時間がかかり、結局この作業が出来るようになるまでに丸4日間かかりました。最も時間がかかったのは次の2点です。

1 QGISにGRASSが使えるバージョンと使えないバージョンがあり、使えないバージョンを使っていることに気が付くまでに丸2日間を要しました。

2 GRASS操作は全く始めてであり、基本操作習熟に丸1日間を当てました。

・丸4日間使ったとはいえ、紙等高線→3Dモデル作成スキル習得の価値はきわめて大きなものがあります。このスキルを得た満足感は大きなものがあります。

・このスキル習得により遺跡学習の意欲が強まってきています。

・GRASSのv.surf.rstモジュールは等高線にそって伸縮ゴム布を被せたような3Dモデル作成という機能を持っていますが、その調整が可能であり、今後その調整の様子を理解したいと思います。同時に類似別機能を有する関連モジュールがあり、それらの機能も理解したいと思います。

・考古遺跡学習のみならずGRASSをつかった地形分析に興味が深まります。

・GRASS活用の突破口が開いたことは自分にとって意義の大きなことです。

……………………………………………………………………

2024年9月に同じ話題で新しい記事を書きました。

2024.09.15記事「紙等高線地図から地形3Dモデルを作成する方法

2019年9月21日土曜日

5mDEMを使った地形精細3Dモデル作成手順

考古遺跡サイトの地形とか、遺跡群が分布する地域の地形とかを精細な3Dモデルで観察したくなることが増えました。
そのような目的で作成する精細地形3Dモデルの基礎となる地形情報で全国入手可能なものは5mDEMになります。
この記事では5mDEMをつかった地形精細3Dモデル作成手順をメモします。

1 3次メッシュ(1㎞メッシュ)の境界情報の入手
5mDEM情報は3次メッシュ毎にファイルとなっています。そのため5mDEMを使うためには3次メッシュの境界図柄とそのコードをGISで表示出来るようにすることが必須です。
e-Stat統計で見る日本サイトの境界データのページから3次メッシュ(1㎞メッシュ)の境界データをダウンロードできます。
3次メッシュ境界データは1次メッシュ毎のファイルになっています。

1次メッシュ(3次メッシュ境界データは1次メッシュ毎のファイルになっている)

3次メッシュ境界データは5種類の型式で提供されています。3Dモデルは平面直角座標系でないと作成できないので、「世界測地系平面直角座標系・shapefile」選択します。

5種類の提供形式

ダウンロードファイルを解凍してQGISに取り込みプロパティのシンボロジーで塗りつぶしを透明にすると次のようになります。

3次メッシュ境界データ 塗りつぶし透明

さらにプロパティのラベルで「単一のラベル」→「ラベル」で「KEY_CODE」を選択するとメッシュコードが表示されます。

3次メッシュコードの表示
この画面を使って3Dモデル作成が必要な範囲の3次メッシュコードを知ります。

2 5mDEMの入手
国土地理院基盤地図情報ダウンロードサービス画面の「基盤地図情報数値標高モデル」から入りファイル選択して5mDEMをダウンロートします。このダウンロードは簡単な登録が必要です。

国土地理院基盤地図情報ダウンロードサービス画面

「地図上で選択」の画面
5mDEMファイルは2次メッシュ(1/25000図郭)単位に一括ダウンロードとなります。
そのため地図上で選択する場合の単位も2次メッシュ毎になります。

3 必要な5mDEMファイルの抽出
一つの2次メッシュには100の3次メッシュDEMファイルが含まれています。その中から必要な3次メッシュを抽出します。
ここでは例としてコード53402212の3次メッシュ1コだけを抽出します。

2次メッシュ(534022)に含まれる3次メッシュファイル(部分)

4 5mDEMの変換(XMLからGeoTIFFへの変換)
国土地理院サイトからダウンロードした標高データ(XMLファイル)をGeoTIFFファイルへ変換することが必要です。
そのために私はエコリス社の基盤地図情報標高DEM変換ツールを使っています。

5 QGISにおける3Dモデル表示
QGISでプラグインQgis2threejsを使えるようにしてその画面を表示した後、5mDEM(GeoTIFF)をレイヤとして追加すると、QGIS画面のうち5mDEMがある部分だけ立体化します。

3次メッシュ(53402212)1コだけの立体表示

6 参考 3次メッシュファイル(XMLファイル)における5m標高データの配列順序

3次メッシュファイル(XMLファイル)における5m標高データの配列順序
通常ではこの配列順序(空間配置)を意識する必要はありません。しかし標高データに異常値があると感じた場合などでは、この配列順序を意識せざるを得ません。





2019年7月30日火曜日

3D遺跡分布図の技術メドがたつ

3D遺跡分布図の技術メドがたちましたのでメモしておきます。

ペルーのクントゥル・ワシ遺跡をプロットした地形3Dモデルを以前作成しましたが、この3Dモデルを出力してSketchfabにアップロードできました。
ブログ世界の風景を楽しむ2019.06.26記事「神殿更新説を知る

QGISを使った「地形+遺跡プロット図」の3Dモデル化

QGISのプラグインであるQGIS2threejsをインストールし、その画面で作成した3Dモデルをブラウザ表示用ファイルとしてアウトプットしたり、3Dモデルデータであるgltfファイルとしてのアウトプットができます。

gltfファイルはSketchfabの投稿に使えます。(下参照)

なお、QGISの標準装備である「新しい3Dマップビュー」で作成した3Dモデルはデータとしてアウトプットできないようです。

ペルークントゥル・ワシ遺跡と周辺の地形

千葉県縄文土器形式別出土遺跡分布図を立体地図で作成して、その地図からより多くのインスピレーションを得ることが可能となりそうです。縄文土器学習、縄文学習がますます楽しくなりました。

2019年5月8日水曜日

QGIS 2画面を使ったプロジェクト間レイヤコピー方法

QGISでプロジェクト間の効率的レイヤコピー方法を発見(?)しましたのでメモします。
2画面を使えば「レイヤのコピー」と「レイヤ/グループの貼り付け」で効率的レイヤコピーができます。

QGIS 別プロジェクトへのレイヤのコピー(2画面利用)
ドラッグ&ドロップは不可でした。

Aプロジェクトのレイヤパネルのレイヤを右クリック「レイヤのコピー」クリックします。
その後、Bプロジェクトのレイヤパネルに移動して右クリック「レイヤ/グループの貼り付け」クリックするとAプロジェクトのレイヤが貼り付きます。

別プロジェクトで作成したレイヤ資産を効率的に活用することができます。地理タイルなども含めて全てのレイヤに適用できるようです。

使っていたプロジェクトに古地図なども含めたので使い勝手が良く、長期間様々な作業に使っていました。しかし巨大になりすぎて動作が鈍くなりました。そのため身軽なプロジェクトを作ったのですが、過去レイヤ資産を活用しようとして、この方法にたどりつきました。

2019年2月12日火曜日

Photoshopワープ機能による旧版図図郭線整形

旧版図をQGISにプロットする際に生じる旧版図図郭線の不整形による不都合の修正にPhotoshopワープ機能が有効であることに最近気が付きましたので、メモします。

旧版図(大正年間など戦前のもの)の図郭界線が凹曲線あるいは凸曲線になっている場合があります。旧版図原本(紙)が伸縮したり皺がついたため、電子原本にそれが表現されてしまっているからです。

旧版図図郭界線の凹曲線にイメージ
実際の例ではなく、イメージのために作画したものです。実際の現象はきわめてミクロな現象(紙上で1~2㎜以下)です。

この図郭界線凹曲線(凸曲線)を修正しないとその旧版図をGISにプロットしたとき、隣接図郭との間に隙間が生れてしまい不都合が生じます。

隣接図郭との間に隙間が生れた例

この凹曲線(あるいは凸曲線)を修正するのにPhotoshopワープ機能が有効です。

Photoshopワープ機能で凹曲線を直線に修正している様子
実際の例ではなくイメージのために作画したものです。

隣接図郭との間の隙間を除去した様子

直線が斜めになる不整形はPhotoshop自由変形機能で修正できることは以前から知っていたのですが、曲線不整形の修正をワープ機能で出来ることを知り、旧版図のQGISプロットに問題が無くなりました。

2019年2月8日金曜日

環境依存文字のQGIS(&Google earth pro)表示超裏技

環境依存文字(例 №、Ⅰ、Ⅱ、Ⅲ、Ⅳ、①、②、③、④など)をQGISに表示することは困難であると考えていました。
2019.02.02記事「環境依存文字撲滅大作戦
ところがそれを可能とする超裏技をFacebook公開グループQGIS User Group Japanで今井優さんから教えていただきましたので紹介します。

1 環境依存文字表示のQGIS超裏技
csvファイルをデリミティッドテキストレイヤとしてQGISに追加する際、csvファイルのエンコーディングをshift_JISにして日本語表記ができるようにしたのですが、これでは環境依存文字が文字化けしてしまいます。
超裏技はcsvファイルのエンコーディングをsystemとして設定する方法です。日本語表記になり、環境依存文字も表示できます。おそらく日本語環境Windowsパソコン限定の方法だと想像します。

csvファイルエンコーディングsystem ラベルを「遺跡名」にしたときのデリミティッドテキストレイヤ表示
環境依存文字が表示されています。

csvファイルエンコーディングshift_JIS ラベルを「遺跡名」にしたときのデリミティッドテキストレイヤ表示
環境依存文字が文字化けしています。

2 Google earth proでも環境依存文字が表示される
この超裏技をつかって作成したQGISデリミティッドテキストレイヤをkmlファイルにエクスポートしてGoogle earth proで表示すると、Google earth proでも環境依存文字を表示できます。

Google earth proにおける環境依存文字の表示

Google earth proにおける環境依存文字の文字化け

環境依存文字表示のQGIS超裏技はQGISユーザーのみならずGoogle earth proユーザーにも多大な恩恵をもたらします。
Facebook公開グループQGIS User Group Japanの今井優さんに感謝します。

3 しかし環境依存文字撲滅が必要
当座の応急的、対症療法的措置として環境依存文字を表示できるこの超裏技は特効薬的効果があります。
しかしデータベースの中に環境依存文字が入っていると検索で極めて大きな不都合が生れます。検索で不都合が存在するデータベースの利用価値は大いに低くなってしまいます。また日本語環境Windowsではない環境で日本語csvファイルを使う人々も増えてきています(日本語ファイルの国際化)。これら諸般の理由から環境依存文字の撲滅は必須の課題だと考えます。
ただし、考古学土器形式などではⅠ、Ⅱ、Ⅲと1、2、3を意識して使い分けている事例があり、単純にⅠ→1、Ⅱ→2、Ⅲ→3のように変換することは危険をともなうようです。

2019年2月2日土曜日

環境依存文字撲滅大作戦

データベースにおける環境依存文字表記の撲滅大作戦を敢行することになりました。理由はデータベースをQGISにプロットすると文字化けしてしまうからです。

私設千葉県遺跡データベースでは多数多種の環境依存文字が使われています。例えば「№」とかローマ数字「Ⅰ、Ⅱ、Ⅲ、Ⅳ・・・」などです。
これらの文字はFile MakerやExcelなどで扱うときは普通の日本語環境では問題が生れないと思われます。
ところがこのデータベースをQGISにプロットすると環境依存文字が文字化けしてしまいます。

環境依存文字が文字化けしている様子 QGIS画面 文字化けは全部「№」

QGISにおける文字化けは直るに違いないと考えて半年過ぎたのですが、解決できないので思い切ってQGIS専門サイトに質問してみました。

質問したQGIS専門サイト フェイスブック公開グループQGIS User Group Japan

その結果、QGISでは環境依存文字は避けたほうがよいという結論を得ることができました。

そこで私家版データベースから環境依存文字を撲滅させる作戦を敢行することにしました。
「№」とかローマ数字「Ⅰ、Ⅱ、Ⅲ、Ⅳ・・・」などをshift_JIS汎用表記に全て変更することにします。File Makerの全置換機能が大活躍することになります。

2019年1月2日水曜日

度分秒表示形式コンバーターとしての地図太郎PLUS

位置情報付遺跡データベースをQGISにデリミティッドテキストレイヤーとして表示する機会が増えていますが、位置情報の度分秒表示形式がデータベースによってバラバラです。
しかしQGISでは位置情報は度単位が基本であり、度分秒表示は1形式だけしか受け付けてもらえません。そのため、度分秒表示形式をExcel関数のお世話になって度単位に変換することが必要であり手間がかかります。

QGISデータソースマネージャー デリミティッドテキスト
QGISにおけるオプション「度分秒を使う」では度と分、分と秒の間に半角空白を入れた場合だけ有効です。

ところが、以前使っていた地図太郎PLUSでは多様な度分秒形式での入力が可能です。そしてそのcsvファイル出力は度単位ですから、地図太郎PLUSを度分秒表示形式コンバーターとして使えることに気が付きました。

地図太郎PLUSの読み込み可能な座標形式
地図太郎PLUSではつぎの7種の座標形式(度分秒表示形式)の読み込みが可能です。
1 度単位
2 分単位
3 秒単位
4 度分秒コロン(:)区切り
5 度分秒ピリオド(.)区切り
6 度分秒半角(゜' ")区切り
7 度分秒全角(° ’ ”)区切り
8 度分秒区切り
9 区切りなし(分、秒の整数部は2桁)

次の例は度分秒「区切りなし」表示形式の遺跡データベースcsvファイルを地図太郎PLUSに読み込み、それをcsvファイルで出力したものです。この出力ファイルをQGISに読み込み使いました。地図太郎PLUSを度分秒表示形式コンバーターとして使いました。

度分秒表示形式コンバーターとして使える地図太郎PLUS

関連記事 2018.08.17記事「QGISにおける度分秒の利用
関連記事 2018.05.03記事「Well-known textを知る

2018年12月18日火曜日

QGISシンボロジー

QGISの点データに対応する記号が充実しているのでメモしておきます。
1つの点データレイヤーに対して多数の記号レイヤを作成できて、それぞれ大きさ・色等や表示・非表示の設定ができます。従って縮尺の違いや背景地図の違い、地図の目的等を考慮して多様な記号を用意しておき、状況に応じて使い分けができます。
また漢字を含む文字を記号にすることもできます。日本の地図記号をファイルとして用意すれば使うこともできます。

日本の地図記号「水田」で表示

旗で表示

丸で表示

星で表示

十字で表示

漢字「水」で表示

漢字「縄」で表示


2018年9月21日金曜日

QGIS注記の活用

最近QGIS注記の活用を始めましたのでメモしておきます。

QGIS注記の様子

1 地名などの注記
小さい吹き出しは谷津の名前を注記しています。注記は独自に表示して、プロジェクトの保存でそのプロジェクトに保存できます。その場合表示したり非表示にしたりは出来ないようです。
注記はレイヤーにリンクできます。上記谷津地名は尾根線レイヤーにリンクしていますが、このレイヤーを非表示にすると注記も非表示になります。注記をリンクしたレイヤーのコピーをつくるとそのレイヤーに注記はついていませんから、注記の表記・非表記は自由にできるようになります。

2 位置を固定しない注記
吹き出しのない表記(上記画像における赤字大文字)は「固定された地図の位置」のチェックを外したものです。この注記ではいつも画面の一定位置に注記を表示できます。この注記の利用方法として、画面コンテンツに関わる地名・表題等の注記だけでなく、作業・活動・生活に関わるメモをあたかも広告・宣伝・スローガンのように表示して自分に刺激を与えたり、注意喚起するために活用することも可能です。

2018年8月17日金曜日

QGISにおける度分秒の利用

QGISでレイヤーの追加→デリミティッドレイヤ追加をするとき、座標は十進経緯度が標準です。しかし度分秒のデータも度と分、分と秒の間に半角空白を入れると使えますのでメモしておきます。
日本旧石器学会サイトからダウンロードした遺跡csvファイルの経緯度は1252088、244450のような度分秒を連続して表示する形式になっています。この形式をExcelの関数を使って度と分、分と秒の間に半角空白を入れてから、QGISで「度分秒を使う」にチェックをいれて追加をクリックすると正常に読み込むことができました。

QGIS デリミティッドレイヤ追加の画面

Excelの関数で半角空白を入れている画面

2018年8月9日木曜日

デジタル標高地形図の存在を知る

地理院サイトを覗いている時、偶然にデジタル標高地形図が公表されていることを知りました。
千葉市周辺も作成されていますのでurlを取得してXYZ接続によりQGISにすぐ表示できました。

デジタル標高地形図 千葉市周辺
これまで使っていた色別標高図は千葉市付近の色合いが同じで単調な地図になるのですが、デジタル標高地形図は色合いが鮮やかなのでいろいろな場面で使えそうです。
関東では千葉市周辺を含めて36種類が公表されています。

デジタル標高地形図 花見川付近
色別標高図と異なり地形図としての情報と河川が強調表示されています。

参考 色別標高図

参考 色別標高図 花見川付近

デジタル標高地形図は地理院サイトの地理院タイル一覧からアクセスできてそのurlを取得できますからQGISですぐに使えます。またデータのダウンロードもできます。

地理院タイル一覧の画面

QGIS3.2への地理院地図(タイル)表示方法は2018.05.25記事「QGIS3.0.3を試用してみる」参照