为了存储数据,要提到的前两个替代方法是PostGIS和SpatiaLite。
在转到桌面之前,您应该意识到,可以直接在数据库中非常高效地完成很多任务。您通常在ArcMap中执行的大多数操作都是等待不同的对话框弹出,而使用几行SQL代码直接可以使执行速度提高很多倍。这意味着您还可以保存所做的操作,然后只需保存SQL代码即可非常轻松地在另一个数据集上再次执行此操作。这里的许多PostGIS问题都与如何编写这些查询有关,因此您可以通过浏览带有PostGIS标签的问题来了解如何完成。
然后在桌面端。有很多桌面解决方案。我认为是时候承认台式机ESRI很好了。如前所述,在ArcMap中完成的大多数任务最好在数据库的更深处完成,但涉及需要桌面解决方案的任务时,ArcMap是不错的选择。我使用的是QGIS,如果我有预算要花,我会转移ESRI许可成本以支持QGIS中的错误修复。QGIS是一款出色的软件,可以或多或少地完成ArcMap可以完成的所有工作。但是,可能需要一两个ArcInfo许可证(以金钱计)来完善它。您还可以看看打开跳转,GvSIG,uDIG多。
对于Web服务,您可以使用MapServer,GeoServer,TinyOWS等。
GeoServer具有一个非常直观的Web界面,可能是最容易上手的。GeoServer可以完成您想要的大多数事情。它可以为WMS WFS Tiled服务提供服务,等等。都是用Java编写的。
MapServer用C编写,我认为可以说它是WMS服务之王。至少它在去年的FOSS4G会议上赢得了点球大战(ESRI不敢参加)。Mapserver是通过“地图文件”配置的,我不知道任何图形界面。但是对于认真的wms服务来说,这是一个非常有趣的选择。
对于可编辑的wfs-services,您前面已经提到了GeoServer,还有TinyOWS。TinyOWS是一个用C编写的小型wfs服务器。最近,由于您可以对两者使用相同的映射文件,因此它已更加集成在Mapserver中。
然后客户端在网络上。我对那里的所有可能性不太了解,但是大多数解决方案都是在OpenLayers上以一种或另一种方式构建的,这是Javascript库。
我认为,从ESRI世界移开将为您带来另一个非常重要的可能性。如果愿意,您也可以自由地离开Windows平台。您可以将所有内容放在任何Linux发行版上。
上面提到的软件与Linux一起将大大减少对硬件的需求。
运行良好的FOSS软件的一个示例是挪威官方地图机构提供的Norgeskart地图。
在底部,他们使用PostGIS服务Mapserver。在Geowebcache中缓存切片,并在顶部使用基于OpenLayer的客户端。它不像Silverlight解决方案那样浮华,但也可以这样做。
他们以前使用过ESRI软件,但是当容量和速度方面的需求增加时,他们不得不放弃使用。