如何使用shp2pgsql导入?


11

我想将shapefile导入PostGIS。其中有一个数据库postgres,但尚未添加表。

我正在使用此命令:

shp2pgsql -I -s 4326 districts.shp districts | psql -d postgres -U postgres 

这给了我一些错误:

无法将数据值转换为UTF-8(iconv报告“无效或不完整的多字节或宽字符”)。当前编码为“ UTF-8”。尝试使用“ LATIN1”(西欧)或postgresql.org/docs/current/static/multibyte.html中描述的值之一

我的命令错了吗?

Answers:


29

你尝试过-W "latin1"标志吗?有时默认编码(UTF-8)不能正常工作。也许使用latin1编码会更好:

shp2pgsql -I -s 4326 -W "latin1" districts.shp districts | psql -d postgres -U postgres

有一个有用的备忘单可在这里

希望能帮助到你..


1
嗯..您是否已正确将PostGIS扩展安装到postgres数据库?如果你还没有:也许可以帮助..

通常,如果make install可以的话,您可以继续进行下一个过程(make check之前的步骤make install)。如果可以通过psql / pgadmin3连接到数据库-这意味着安装成功。您可以继续执行“创建空间数据库”步骤吗?我建议使用扩展方法..

杜德(Dude),这与您最初提出的问题相去甚远,哈哈。当有许多变量在起作用时,在这里很难为您提供帮助:您正在使用哪个版本的PostgreSQL?在什么样的系统上?您要安装哪个版本的PostGIS?似乎无法识别"CREATE EXTENSION"语法。仅输入:是否psql -d geocoding -U postgres使您geocoding成功进入数据库?

我的错。然后,您应该遵循2.5。在低于9.1节的PostgreSQL上创建一个支持空间的数据库。.如果仍然遇到问题,我建议您打开一个新问题-这样您可以获得更好的答案;)
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.