人口のシェープデータをpostgisへロードするまでの過程
人口のデータについては前の記事
shp2pgsqlコマンドを使う
シェープファイルからSQLを吐き出してくれるコマンド。
populationテーブルにインポートする場合
shp2pgsql MESH05238.shp population
吐き出したSQLは
こんな感じで人口のデータは一緒に作ってくれない。人口のデータは別立てでロードしないといけないということか。
INSERT INTO "poplation" ("mesh1_id","mesh2_id","mesh3_id","mesh4_id","obj_id","key_code",geom) VALUES ('5238','77','99','4','790694','523877994','01060000000100000001030000000100000009000000D0636666E65F61401002222222AA41402CACCCCCCC5F61401002222222AA41402CACCCCCCC5F61407896666666AA41402CACCCCCCC5F6140D82AABAAAAAA4140D0636666E65F6140D82AABAAAAAA4140741B000000606140D82AABAAAAAA4140741B0000006061407896666666AA4140741B0000006061401002222222AA4140D0636666E65F61401002222222AA4140');
人口データと結合したデータを作る
以下、とても詳しいです。QGIS上でメッシュデータと人口のデータを結合してから取り込むとのことです。
PostGISを使ってSQLだけで面積按分:準備編(QGISを使ってCSVデータとShapeデータ結合してPostgreSQLに投入) - Qiita
QGIS入門しています
レイヤーはどうも回線が遅すぎて、如何にもこうにも、まぁ、いいや。次行こう。
人口が知りたい
e-Statのダウンロードページ
静岡県は一体どのメッシュコードをダウンロードしていいのかわからない??こちらから
検索。
レイヤに追加
上記ファイル群をダウンロードしたら。そのうちの一つ、拡張子shpをQGISのレイヤへドロップする。
レイヤの順番には意味があるので、上下で隠れてしまう場合があるので注意かも。
一応表示できたのですが、ランドマーク、星で表したところ(Postgre+postgisへinsertしたデータ)は、三島市のポイントのはずなのに、なぜか山梨に表示されてしまう。これは、チョツト問題。
測地系
国土地理院のデータは世界測地系と言うらしい。Googleさんと誤差は少ないと思われるのですが。
[GIS] 日本測地系からWGS84への変換パラメータの謎を追え - ここのことはなかったことにするかも
WGS84と緯度経度は違うようだ
Geocoding - 住所から緯度経度を検索
おそらく、緯度経度を入力してしまったから問題になったのだろう。
WGS84のSRIDは4326のようで
postgis - Choosing SRID and what is its meaning? - Geographic Information Systems Stack Exchange
postgisへinsertするときには4326でinsertすればいいようです。
QGISをインストール
Postgisの使い方
ランドマークのデータをinsert文でinsert
INSERT INTO laundry (id,name,address,geom) VALUES(1,’NARAHASHI’,’NAKATAMACHI 13-14’,ST_GeomFromText('POINT(138.5512 35.84)’, 4612));
いろいろとイメージしやすい資料
mac pgsql 使う
.bash_profileの編集
ツールへのパスを通す
export PATH=$PATH:/Applications/Postgres.app/Contents/Versions/latest/bin
db作成
CentOSにPostgreSQL/PostGISの環境構築 | JURI★GIS
created test psql -d test test=# create extension Postgis; CREATE EXTENSION test=# select postgis_full_version(); postgis_full_version -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- POSTGIS="2.2.2 r14797" GEOS="3.5.0-CAPI-1.9.0 r4084" PROJ="Rel. 4.9.2, 08 September 2015" GDAL="GDAL 1.11.5, released 2016/07/01" LIBXML="2.9.4" LIBJSON="0.12.1" RASTER (1 row) ¥q
ファイルに用意したSQLの実行
test=# ¥i test.sql
create table
create table hoge( id int8 primary key, address varchar(200), geom geometry(point, 4326) );
insert文
load の仕方
次のアプリの開発に使うドロネーのライブラリを探す
Androidアプリ2本リリースできたので、次なるアプリの開発に着手。
とにかく、どんどん作ろう。ヒットするまで。
そのネタとしては、GIS点から、3角形を作るライブラリを探している。
キーワードは「Delaunay」というらしい。
Tercel::Diary: ProcessingでDelaunay分割(実装篇)
Perlでの実装っぽいもの
Math::Geometry::Delaunay - Quality Mesh Generator and Delaunay Triangulator - metacpan.org