我有一些使用 gdaltools python 模块将 geojson 文件转换为 postgis 的 python 代码。
ogr = gdaltools.ogr2ogr()
ogr.set_encoding("UTF-8")
print("Setting Input")
ogr.set_input(file_name, srs="EPSG:4326")
gdaltools.Wrapper.BASEPATH = os.environ['GDAL_PATH']
print("Setting Conn")
conn = gdaltools.PgConnectionString(host=os.environ['DB_HOST'],
port=os.environ['DB_PORT'],
dbname=os.environ['DB_NAME'],
user=os.environ['DB_USERNAME'],
password=os.environ['DB_PASSWORD'],
schema=str(self.table_prefix) + "_" + str(code))
print("Setting Output")
ogr.set_output(conn, table_name=table, srs="EPSG:27700")
print("OGR Execute")
ogr.execute()
GeoJSON 包含类型为点的几何图形
"geometry": {
"type": "Point",
"coordinates": [
-1.0600739160455448,
51.53592123798526
]
}
从数据库导出数据时,我看到的是它似乎从 geojson 中的 Point 类型转换为数据库中的 Multipoint 类型。
将几何图形从一个表加载到另一个表时 - 没有转换 - 我收到以下错误:
Geometry type (MultiPoint) does not match column type (Point)
关于 ogr2ogr 为什么从 Point 转换到 Multipoint 的任何想法?
最佳答案
您可以使用 option -nlt POINT
这样做会强制输出数据类型为 POINT
类型,而不是您当前获得的 MULTIPOINT
类型。
关于python - gdaltools 将 geojson 点导出为多点,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/54592338/