首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >osm2pgsql数据转换:丢失列

osm2pgsql数据转换:丢失列
EN

Stack Overflow用户
提问于 2015-07-07 09:24:47
回答 2查看 554关注 0票数 2

我已经执行了使用osm2pgsql从*.bz2格式转换到PostgreSQL数据库的osm数据。但是在转换之后,我看不到表planet_osm_roads中的这样的列:车道、But速度。С某人解释这些列在哪里?谢谢。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-07-08 07:43:06

使用-k时添加选项osm2pgsql

代码语言:javascript
复制
osm2pgsql -d geodatabase -k planet.osm.bz2

-k区

说明: osm2pgsql通常在静态数据库模式中导入数据。没有对应列的标记将被忽略。通过添加选项-k--hstore,osm2pgsql将向每个表中添加一个新的hstore列tags,并将那里的所有标记保存在没有列的地方。

根据您的需要,您可以使用-j,这使得osm2pgsql可以保存tags列中的所有标记,这意味着带有数据库列的标记也可以保存。

-j=

导入之后,要从数据库中提取所有can速度标记,可以使用如下查询(在示例中):

代码语言:javascript
复制
SELECT osm_id, name, tags -> 'maxspeed' FROM planet_osm_roads;

其中,tags是hstore列,->是hstore运算符。

有关hstore类型及其操作符的更多信息,请参见Postgresql文档:http://www.postgresql.org/docs/9.3/static/hstore.html

票数 3
EN

Stack Overflow用户

发布于 2015-09-07 10:13:29

这应该是一个更好的评论,然而,我没有足够的声誉去这么做:我强烈建议使用.bz2,这是一种"Protocolbuffer二进制格式“,因为”它大约是压缩行星的一半大小,比压缩后的行星小大约30%。写起来比压缩的行星快5倍,比压缩的行星快6倍。这种格式是为了支持未来的扩展性和灵活性。“更多信息:Format

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31264674

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档