У меня есть код Python, который использует модуль Python gdaltools для преобразования файла geojson в postgis.
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
]
}
Что я вижу при экспорте данных из базы данных, так это то, что они, похоже, преобразуются из типа Point в geojson в тип Multipoint в базе данных.
При загрузке геометрии из одной таблицы в другую без преобразования я получаю следующую ошибку:
Geometry type (MultiPoint) does not match column type (Point)
Любые идеи относительно того, почему ogr2ogr будет использовать Multipoint из точки?