【发布时间】:2019-12-04 20:40:02
【问题描述】:
我正在将 Django 与 PostGIS 一起使用,并尝试在我的 Postgres SQL 中导入一些数据。我的数据库中有一个 geometry(Polygon, 4326) 列:
poly | geometry(Polygon,4326) | not null
现在我想将一些 CSV 数据导入我的数据库: 这是我的数据:
poly, district_number
"((51.356568, 35.765461), (51.356589, 35.765382), (51.356461, 35.76536), (51.356441, 35.765429), (51.356436, 35.765446), (51.356408, 35.765561), (51.356537, 35.765582), (51.356566, 35.76547), (51.356568, 35.765461))", 2
"((51.356568, 35.765461), (51.356589, 35.765382), (51.356461, 35.76536), (51.356441, 35.765429), (51.356436, 35.765446), (51.356408, 35.765561), (51.356537, 35.765582), (51.356566, 35.76547), (51.356568, 35.765461))", 3
....
我正在使用这个命令:
COPY get_house_info_house(poly, district_number)
FROM '/tmp/data.csv' DELIMITER ',' CSV HEADER;
我得到这个错误:
ERROR: parse error - invalid geometry
HINT: "((" <-- parse error at position 2 within geometry
CONTEXT: COPY get_house_info_house, line 2, column poly: "
((51.356568, 35.765461), (51.356589, 35.765382), (51.356461,
35.76536), (51.356441, 35.765429), (51...."
我认为 Postgres 无法识别多列格式。我可以将我的数据转换为任何格式,例如 GeoJson 或任何其他格式,但问题是如何将其转换为 Postgres 可以理解的格式。
在类似的问题中,我找到了“ST_GeomFromGeoJSON”,但我不知道如何在 CSV 导入中使用它。
【问题讨论】:
标签: database postgresql csv import postgis