从经纬度获取常用文本
我可以很容易地从谷歌地图的API获取到一个经纬度的配对:
from googlemaps import GoogleMaps
gmaps = GoogleMaps(GOOGLEMAPS_API_KEY)
gmaps.address_to_latlng('Jose Javier Diaz 440 Cordoba Argentina')
>>>> (-31.4464489, -64.191219899999993)
我有一个这样的模型:
from django import models
class MaapPoint(models.Model):
geom = models.PointField(srid=DEFAULT_SRID)
但是我找不到从谷歌地图返回的经纬度(latlng
)中获取wkt
的方法。有没有什么建议?
2 个回答
3
Shapely 提供了一个很不错的接口来实现这个功能:
>>> import shapely
>>> from shapely.wkt import dumps, loads
>>> pt1 = loads('POINT (0.0000000000000000 0.0000000000000000)')
>>> pt1
<shapely.geometry.point.Point object at 0x1011436d0>
>>> dumps(pt1)
'POINT (0.0000000000000000 0.0000000000000000)'
>>> pt3 = shapely.geometry.point.Point(2, 3)
>>> dumps(pt3)
'POINT (2.0000000000000000 3.0000000000000000)'
4
在Django框架中,contrib.gis
提供了一些辅助工具来帮助处理这个问题。
>>> from django.contrib.gis.geos import Point
>>> Point(0,1).wkt
'POINT (0.0000000000000000 1.0000000000000000)'