Nic*_*k B 7 django geometry point geodjango
如果我能做到这一点:
>>> from django.contrib.gis.geos import GEOSGeometry
>>> from django.contrib.gis.geos import Point
>>> point = GEOSGeometry('POINT(1 5)')
>>> print point
POINT (1.0000000000000000 5.0000000000000000)
Run Code Online (Sandbox Code Playgroud)
为什么我不能这样做:
>>> lat = 1
>>> lon = 5
>>> point = GEOSGeometry('POINT(lat lon)')
GEOS_ERROR: ParseException: Expected number but encountered word: 'lat'
GEOSException: Error encountered checking Geometry returned from GEOS C function "GEOSWKTReader_read_r".
Run Code Online (Sandbox Code Playgroud)
如何使用变量创建GEOSGeometry对象?
你可以肯定这样做,但稍作修改
point = GEOSGeometry('POINT(%s %s)' % (lon, lat))
Run Code Online (Sandbox Code Playgroud)
要么
point = GEOSGeometry('POINT(%d %d)' % (lon, lat))
Run Code Online (Sandbox Code Playgroud)
当你这样做
`'POINT(lat lon)'`
Run Code Online (Sandbox Code Playgroud)
你是不是更换局部变量lat,并lon与他们适当的局部变量的值,并陆续从字面上评估.所以,你需要使用替代.
| 归档时间: |
|
| 查看次数: |
3609 次 |
| 最近记录: |