Geoデータベース

GeoDjangoサポート 空間データベース

Database

Library Requirements

Supported Versions

Notes

PostgreSQL

GEOS, GDAL, PROJ.4, PostGIS

9.4+

Requires PostGIS.

MySQL

GEOS, GDAL

5.6+

Not OGC-compliant; limited functionality.

Oracle

GEOS, GDAL

12.1+

XE not supported.

SQLite

GEOS, GDAL, PROJ.4, SpatiaLite

3.7.15+

Requires SpatiaLite 4.1+

Note: PostGIS is recommended, because it is the most mature and feature-rich open source spatial database.

* https://docs.djangoproject.com/en/dev/ref/contrib/gis/install/#requirements

PostGIS

  • PostGIS http://postgis.refractions.net/ はカナダにあるRefractions Research Inc.が開発したもの。

  • GEO界隈ではデファクトのデータベース

  • PostgreSQLに地理空間情報を扱うための拡張機能。

    • PostgreSQLにExtension(postgis)を追加する

  • データベースにGEOMETRY型が追加される

    • POINT(点)、LINESTRING(線), POLYGON(面)が基本となるる

  • 幾何関数という空間演算用の関数が追加される(ST_xxx)

  • 空間インデックスをGEOMETRY型につける

PostGISの空間演算用の関数

  • PostGISの地理空間関数。ST_xxxxとSTで始まるものが多い

    SQL文の例

    SELECT ST_Area(geog) FROM somegeogtable; SELECT road_id, ST_AsText(road_geom) AS geom, road_name FROM roads;

関数例)

  • ST_Contains() - AがBを含んでいるのかのかチェックする

  • ST_Intersects() - AとBが重なっているのかチェックする

  • ST_Distance () – AとBの距離を求める

  • ST_Area () – ポリゴンの面積を求める

    :

* https://qiita.com/yellow_73/items/dc7c5e1ebe95625aee60 * https://www.finds.jp/docs/pgisman/1.5.1/reference.html * http://cse.naro.affrc.go.jp/yellow/pgisman/2.0.0/postgis.html#Spatial_Relationships_Measurements

PostGISの空間演算用の関数

* https://docs.djangoproject.com/en/2.0/ref/contrib/gis/geoquerysets/ * https://www.finds.jp/docs/pgisman/1.5.1/reference.html