从经纬度获取常用文本

4 投票
2 回答
3492 浏览
提问于 2025-04-17 03:24

我可以很容易地从谷歌地图的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)'

撰写回答