python - gdaltools 将 geojson 点导出为多点

标签 python postgis gdal ogr

我有一些使用 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 类型,而不是您当前获得的 MULTIPOINT

关于python - gdaltools 将 geojson 点导出为多点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54592338/

相关文章:

python - 在无限循环中使用Threading和Queue不会关闭线程

python - 使用 Win10 任务调度程序批量调度 Scrapy Spider

python - python 中的 fiona 导入问题

python - 生成 GeoTIFF 颜色图

python - 如何返回 3D 数组中的 Scikit 图像分割?

python - 删除数据框中所有单元格中的多余空格

python - 使用 Python 高效查找部分字符串匹配 --> 从 5 GB 文件中的值列表开始的值

sql - 重用计算的选择值

postgresql - MASK=CONTAINS 时 SDO_CONTAINS 和 SDO_RELATE 之间的区别?

java - Postgis - 如何通过 JDBC 使用数据类型 'geography'