mysql geo支持_MySQL 支持GeoDjango的簡單說明

配置GeoDjango的具體過程可參考官方文檔:

https://docs.djangoproject.com/en/1.9/ref/contrib/gis/

1.安裝

(1)安裝GEOS

Database

Library Requirements

Supported Versions

Notes

PostgreSQL

GEOS, PROJ.4, PostGIS

9.1+

Requires PostGIS.

MySQL

GEOS

5.5+

Not OGC-compliant.

Oracle

GEOS

11.2+

XE not supported.

SQLite

GEOS, GDAL, PROJ.4, SpatiaLite

3.6.+

Requires SpatiaLite 2.4+, pysqlite2 2.5+

從上表可知:對於MySQL,只需安裝GEOS;

對於PostgreSQL,需要安裝PROJ.4、PostGIS

對於SQLite,需安裝PROJ.4、GDAL、SpatiaLite

GEOS是一個支持空間幾何運算C++庫,關於它的詳細介紹,可參考官方文檔:

MySQL沒有完全支持OGC標准,所以對空間數據的CRUD會有一些限制,詳細可參考文檔:

由於目前我們服務器上使用的是MySQL,所以按MySQL進行配置:安裝GEOS

先下載geos

$ wget http://download.osgeo.org/geos/geos-3.4.2.tar.bz2

$ tar xjf geos-3.4.2.tar.bz2

然后解壓、編譯、安裝

$ cd geos-3.4.2

$ ./configure

$ make

$ sudo make install

$ cd ..

執行完上述幾步,想知道GEOS是否安裝正確,可用下面的命令:

進入python shell,鍵入下面的命令,如果不報錯,則認為安裝正確。

fromdjango.contrib.gis.dbimportmodels

(2)修改settings.py

a.在INSTALLED_APPS中添加 'django.contrib.gis',

b.修改數據庫引擎為'ENGINE': 'django.contrib.gis.db.backends.mysql',

(3)在models.py中引入models

from django.contrib.gis.db import models

同時可以注釋掉from django.db import models

(4)測試:

在models.py(比如Person表)中,添加以下字段:

point = models.PointField(null=True,blank=True)

然后運行:

./manage.py makemigrations

如果不報錯,則視為正確。

除了PointField以外,還有多個空間類型,如下:

具體可參考GeoDjango Models API的文檔:

https://docs.djangoproject.com/en/1.9/ref/contrib/gis/model-api/#spatial-field-types

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值