当我创建一个空的LineString
时,我在Django版本4.2.6中使用最新版本的GeoDjango
扩展时遇到了问题。相同的代码与版本4.0.10中的行为不同。默认值似乎切换到创建一个三维的Geos对象,而不是以前的二维。
下面的代码根据我使用的Django版本返回不同的WKT对象。
from django.contrib.gis.geos import LineString
ls = LineString()
ls.wkt
字符串
这将返回一个三维对象“LINESTRING Z EMPTY”。在Django 4.0.10上运行完全相同的代码会创建一个二维对象“LINESTRING EMPTY”。
有什么明显的地方我做错了吗?我也运行一个稍微更新的版本geos-3.12.0与3.11.2,但我看不到任何东西是两套发行说明,描述这种行为的变化。
1条答案
按热度按时间xwbd5t1u1#
在GeoDjango中,从3.1版本开始,默认支持3D几何。如果你想显式创建一个2D LineString,你可以在创建LineString对象时使用dim参数。设置dim=2来创建一个2D LineString。
字符串