Php 对于小型开源web应用程序,存储地理数据(空间数据)的最佳方式是什么

Php 对于小型开源web应用程序,存储地理数据(空间数据)的最佳方式是什么,php,zend-framework,geolocation,gis,openmap,Php,Zend Framework,Geolocation,Gis,Openmap,我即将开始开发一个GIS web应用程序 我将使用PHP作为语言,Zend作为框架,GoogleMapsAPI进行地图渲染,但我还没有决定使用哪种后端存储 我需要: 存储:点平面和液化天然气、点的线集、多边形 进行如下查询: 给定类型的n个点与其他给定点最近的是哪一个? 哪一个是给定类型的n个点最接近某条给定直线? 点“a”是否在多边形“g”内? 从“a”点到“b”点的距离是多少? 将这些空间数据类型与同一表中的其他关系数据相结合。 我应该使用哪种开源技术?如果允许您选择任何存储,那么您可能更喜

我即将开始开发一个GIS web应用程序

我将使用PHP作为语言,Zend作为框架,GoogleMapsAPI进行地图渲染,但我还没有决定使用哪种后端存储

我需要:

存储:点平面和液化天然气、点的线集、多边形 进行如下查询: 给定类型的n个点与其他给定点最近的是哪一个? 哪一个是给定类型的n个点最接近某条给定直线? 点“a”是否在多边形“g”内? 从“a”点到“b”点的距离是多少? 将这些空间数据类型与同一表中的其他关系数据相结合。
我应该使用哪种开源技术?

如果允许您选择任何存储,那么您可能更喜欢支持空间索引的存储,如PostgreSQL postgis、MongoDB或mysql

决定您是否需要空间索引,或者您是否对lat、lngs感到满意。可以归结为问题:你是在处理多边形和直线,还是仅仅是点?同样地,你是要严重依赖kml还是要向GMAP提供数据。仔细看看Google Fusion表,看看它是否/如何有助于作为面向公众数据的代理,或者作为地理编码工具……而mysql——使用nosql数据库有更进一步的含义——除非你真的知道自己在做什么,否则我建议你避开mongo DB