5

我一直在用 ESRI 的 JSAPI 开发一些网络地图。目前我在 SQL Server 中存储以下层:

1,000,000 点

30,000 个多边形

1,000 多边形

这些需要彼此叠加显示。我还需要能够进行一些高级查询和特征识别。

到目前为止,我已经构建了一些工具,但我很好奇是否有更好的选择。我看过CartoDB,但目前它不支持多层。您似乎可以使用 CartoDB 和 Google Maps API,但我觉得这增加了额外的复杂性。我读过一些关于传单、mapbox、opengeo 等的内容。

那么归结为 SQL Server/ArcGIS Server/ESRI JSAPI 的一个不错的替代方案是什么?

谢谢,埃文

4

2 回答 2

5

等效的开源堆栈是 PostGIS/PostgreSQL + GeoServer + OpenLayers。将数据存储在数据库中,通过 GeoServer 渲染,与 OpenLayers 交互。如果您正在构建更复杂的内置应用程序,请使用 GeoExt/ExtJS 构建界面。

正如评论者所说,您可以通过构建简单的空间 SQL 查询并将它们传递到后端,直接从空间数据库中提供大量查询。不过,对于渲染 1M 点,您可能最终需要渲染引擎。将 GeoServer SQL 图层视为动态呈现复杂查询图层的潜在路径。

我提到的组件可以单独下载(postgis.org、geoserver.org、openlayers.org)或作为集成块通过 OpenGeo 套件(opengeo.org)下载。

于 2012-10-19T21:43:23.853 回答
1

您可能想看看MapDotNet,特别是如果您打算将数据保存在 SQL Server 中。我对他们没有任何直接的经验,但从我所阅读和听到的内容来看,这听起来像是一个很好的产品。他们也有一个名为 touchgeo 的 HTML5/JS API/解决方案。

正如上面提到的@stakx,您可能想查看MapServer

于 2012-10-20T15:08:48.443 回答