Upgrade to Pro — share decks privately, control downloads, hide ads and more …

GeographicInformationSystemDevelopmentOverviewForWindows

 GeographicInformationSystemDevelopmentOverviewForWindows

Geographic Information System Development Overview For Windows.
PostgreSQL, PostGIS, Node.js, Express4, AngularJs and Google Maps API.

Kazunori-Kimura

June 16, 2014
Tweet

More Decks by Kazunori-Kimura

Other Decks in Technology

Transcript

  1. 動作環境について • Windows 7 • Google Maps API v3 •

    PostgreSQL v9.3.4 • PostGIS v2.1.3 • Node.js v0.10.28 • Express v4.4.2 • AngularJS v1.2.17 6
  2. 用語について (1) • GIS – 地理情報システム (Geographic Information System) •

    Shape形式ファイル – GISデータの規格で、ほとんどのGISソフトが対応している。 • JPGIS (地理情報標準) – 日本の地図やGISデータの標準規格。対応しているGIS ソフトはほぼ無いため、Shape形式等に変換が必要 9
  3. 用語について (2) • geometry, geom – 平面空間データ。座標情報の集合。 • JSON –

    JavaScriptObjectNotation – JavaScriptにおけるObjectの表記法をベースとした データ記述言語。 • GeoJson – 平面空間データをJSON形式で表すためのフォーマッ ト。 10
  4. 13

  5. 14

  6. 15

  7. 16

  8. 17

  9. 18

  10. 22

  11. 23

  12. 24

  13. 25

  14. 29

  15. SQLファイルの生成 • ダウンロードしたshapeファイルからsqlファイルを 生成します。 – shp2pgsqlコマンドを使用します。 – 標準出力にSQLが返されるので、ファイルにリダイレク トします。 –

    https://gist.github.com/Kazunori-Kimura/2fa56df2fad38becba79 34 > shp2pgsql -s 4612 -D -i -I -W cp932 D:¥tmp¥A27-10_27_GML¥A27-10_27-g_PublicElementarySchool.shp A27-10_27-g_PublicElementarySchool > A27-10_27-g_PublicElementarySchool.sql ※ 実際には改行せず、1行で入力してください。
  16. データの取込み • shp2pgsqlで生成したSQLを実行します。 • ここまでの手順を繰り返し、6つのshapeファイル をすべて取込みます。 35 > psql -U

    postgres -d postgis_21_sample -f A27-10_27-g_PublicElementarySchool.sql ※ 実際には改行せず、1行で入力してください。
  17. a27-10_xx- g_publicelementaryschool • 小学校の位置情報 – gid: 連番 – a27_001: 行政区域コード

    (JIS5) – a27_002: 設置主体 – a27_003: 学校名 – a27_004: 住所 – geom: Point 39
  18. a27-10_xx-g_schooldistrict • 小学校の校区 – gid: 連番 – a27_005: 行政区域コード (JIS5)

    – a27_006: 設置主体 – a27_007: 学校名 – a27_008: 住所 – geom: MultiPolygon 40
  19. n03-13_xx_130401 • 行政区域データ – gid: 連番 – n03_001: 都道府県 –

    n03_002: 支庁名 (北海道のみ) – n03_003: 郡・政令都市名 – n03_004: 市区町村名 – n03_007: 行政区域コード (JIS5) – geom: MultiPolygon 41
  20. Visual Studio • Windowsの場合、npmのコンパイルには Visual Studioに付属のC/C++コンパイラが使 用されるようです。 • Visual Studio

    2013 Expressなど、適当な バージョンのVisual Studioをインストールしてお きます。 47
  21. サンプルアプリケーションのインストール > git clone [email protected]:Kazunori-Kimura/express-gis.git > cd express-gis > npm

    install > bower install 50 ※ env.jsonにデータベースの接続情報を記載してください。
  22. REST API設計 URL 機能 GET: /areas 全ての行政区域情報を取得する。 GET: /areas/:code 指定された行政区域コードを元に、

    行政区域のGISデータを取得する。 GET: /areas/:code/schools 指定された行政区域内にある全て の小学校を取得する。 GET: /areas/:code/districts 指定された行政区域内にある全て の小学校区を取得する。 54