我正在做一个项目使用OpenStreetMap和OpenLayers。目前,我的任务是将OSM文件中的数据插入到PostgreSQL中。当我检出Osmosis(将数据从OSM文件传输到数据库的工具)时,它说那里有一个例子,“将一个行星文件导入本地PostgreSQL rails端口数据库”。这是否意味着我必须为我的项目使用Ruby on Rails?我不知道Rails,并了解它会占用我太多的时间。我可以使用PHP访问数据库吗?请帮帮我。非常感谢!PHP的OpenStreetMap应用程序
0
A
回答
0
您需要知道打开www.openstreetmap.org时看到的界面/应用程序是用RoR编写的。用于访问数据的API(地理编码)通过PHP API完成。所以如果你不打算使用它,你不需要Rails。数据库不关心。
顺便说一句,osmosis的替代方案是osm2pgsql,它不会“说”任何有关Rails依赖性的东西(也就是说,如前所述,不管用)。
2
您可以将节点,路径,标记等导入到OpenStreetMap服务器上使用的数据库模式中。 Ruby on Rails migrations最终成为OSM服务器所使用的最新架构的真正来源。但是,您可能希望使用与脚本/ contrib目录中的Osmosis分发捆绑的数据库创建脚本来创建具有类似模式的数据库。
或者,对于某些应用程序,您可能希望PostGIS启用Postgres数据库(加载一系列地理空间函数和数据类型),然后以使用这些类型的格式加载OpenStreetMap数据。你可以使用osmosis或osm2pgsql来做到这一点。请参阅PostGIS
或者对于更基本的应用程序,您可能会考虑为自己解析.osm格式。一个osm file包含一些“节点”和“方式”元素。其中每个都可以有几个“标签”元素。还有“关系”元素。对许多应用程序来说,这些可能是不必要的,但这一切都取决于您想要执行的操作。也许你只需要节点(对于POI数据应用程序)对于某些工作来说,直接使用.sm文件可能是可行的,在PHP中解析而不涉及数据库,但通常不适用于任何有意义的大面积地图数据。
你可以在Category:PHP
相关问题
- 1. 如何在我的Compact Framework应用程序中使用OpenStreetMap?
- 2. 如何使用android应用程序更新openstreetmap(OSM)
- 3. 在现有Rails应用程序中集成openstreetmap
- 4. openstreetmap的高程API
- 5. 在java程序中的OpenStreetMap API实现
- 6. 调用Java应用程序的PHP Web应用程序
- 7. 制作一个php应用程序的电话应用程序
- 8. PHP程序或Web应用程序
- 9. Iphone和PHP应用程序
- 10. 独立PHP应用程序
- 11. Ajaxify PHP应用程序
- 12. PHP应用程序更新
- 13. Android Php web应用程序
- 14. PHP应用程序状态
- 15. PHP无缝应用程序
- 16. Java和PHP应用程序
- 17. 托管PHP应用程序
- 18. custome PHP应用程序
- 19. 在PHP应用程序
- 20. PHP独立应用程序
- 21. PHP应用程序平台
- 22. PHP应用程序性能
- 23. 销售PHP应用程序
- 24. php web应用程序的安装程序和更新程序
- 25. 使用PHP的多层应用程序?
- 26. 使用php的地理应用程序
- 27. PHP确定来自cordova应用程序的引用程序
- 28. 布线的PHP应用程序
- 29. ezcMail Init在我的PHP应用程序
- 30. 保护我的PHP应用程序
找到列出的工具中散落一些有用的代码,我建议您用'PHP'更换'import'标签,以获得更好的效果。 – 2010-09-07 06:22:28
做到了!谢谢! – Jairo 2010-09-07 06:30:51
您可能还会询问http://gis.stackexchange.com/ – mtrw 2010-09-07 06:53:37