Answers:
从PostGIS来源建立在线地图的最简单方法是使用Geoserver。Geoserver用户手册很好地介绍了如何使用PostGIS作为数据源。基本上,您将添加一个包含连接信息的数据存储,然后可以发布任何包含几何的表。除了PostGIS,您还可以使用许多其他数据源:
在Geoserver的Web界面内部,您还可以在OpenLayers网页上预览图层。您可以使用此预览页面的源代码来构建自己的OpenLayers应用程序。
Geoserver为矢量和栅格数据提供了许多样式选项。首先,您可能对只定制安装随附的一些预制样式感到满意。
默认情况下,Geoserver不平铺,OpenLayers不请求平铺。如果您不需要高性能,则也无需打扰瓷砖。
就个人而言,我认为OpenLayers比Google Maps API更易于使用,并且您将独立于Google。如果需要背景图,则可能需要查看OpenStreetMap。
如果您确实不希望使用大型中间件层,则可以使用TinyOWS(http://tinyows.org/trac)-我从未尝试过,但是它声称体积小而又快速。另外,它使用OGC标准,因此,如果您决定发布给更广泛的受众,并且又赶不上切换到GeoServer或MapServer,则可以不更改而继续使用相同的客户端代码。
您可以使用任何可以支持WFS协议的应用程序。使用Openlayers,您可以通过WFS协议轻松使用PostGIS数据。很少有FLOSS应用程序可以做到这一点。例如,FeatureServer,Geoserver,MapServer ...如果您是Web映射的新手,我会推荐Geoserver,因为它非常容易上手。
请参阅此带有WFS的Openlayers示例。
Openlayers支持大量矢量数据格式(GeoJSON,GML,KML ..),可以使用OpenLayers Vector图层显示和设置其样式。
也许最简单的中间件可能是FeatureServer,它可以将PostGIS数据提供给大多数OL支持的格式。它易于设置,并支持简单的空间/属性查询。
但是,如果您需要更强大的功能,则Geoserver可能是一个可行的解决方案。
您可以使用Geomajas轻松地执行此操作,该工具将使用Hibernate或Geotools从数据库中读取数据。这是全Java语言,如果您更喜欢其他语言,可能会出现问题。
好吧,您可以使用OpenLayers库和服务器语言将所有Postgis几何类型推送到Openlayers中。您需要:
这样,您可以非常轻松地显示它们,而无需任何其他中间件。