浅谈GIS中建设三维地图应用(二)

声明:本文内容仅从技术的角度进行分析,与作者所在公司无关。

(二)

有了数据做基础,那么下一步就可以考虑选择什么样的地图引擎,并如何开展系统架构。
能够为三维地图提供引擎的产品,,大致分为两类:一类是专业GIS平台,如ESRI、SuperMap等;第二类是Google、MapABC这样的网络服务提供商。当然,E都市、都市圈这些厂商应该是拥有自己的引擎产品的。
在不选择自己开发地图引擎的情况下,如何选择合适的地图引擎呢?
1、首选E都市、都市圈等厂商成熟的三维地图引擎产品。不过这种引擎是他们的核心技术与产品,他们不会把自己的核心技术卖给未来的竞争者的,所以只能通过租用服务/数据的形式,由这些厂商来帮着运作/运营三维地图。这种途径的优点是,成熟的三维地图引擎;不足是,自己没有控制权——这隐藏着很多含义,包括商务和技术层面。
2、选择Google、MapABC等网络服务提供商。这些服务提供商提供了很好的网络地图平台,不论从数据上,还是从技术上,都是令人满意的。只不过,相对于E都市等来说,这些服务提供商没有三维地图数据。这样就要求我们自己在建设三维地图站点时能够提供三维数据,然后把这些三维数据提交给那些网络服务提供商,由他们来运作。这种途径的优点是,由Google等优秀的网络服务提供商来运作数据服务,不用我们自己花费心思;不足是,需要我们自己提供三维数据,然后由那些网络服务提供商来发布,至于三维数据的保密性,网络服务提供商的可靠性等都很难得到保障。
3、选择ESRI、SuperMap等专业GIS平台。所谓专业,主要是因为这些平台提供了全面的GIS功能,从数据采集/管理,到数据分析/发布,都提供了完整的解决方案。在三维地图方面,似乎这些专业GIS平台介入的并不多,不知道是因为三维地图不属于“专业GIS”呢,还是把专业GIS平台应用到三维地图方面有点大材小用?不过可以肯定的是,这些GIS平台在技术方面能够满足三维地图的应用。使用这些平台的优点是,拥有绝对的控制权——运作/运营,而且基于GIS平台提供的功能能够实现更加丰富的应用;不足是,需要做一定的二次开发,而且需要自己提供三维地图数据。
根据实际情况,选择合适的地图引擎,下一步就可以考虑架构了。
其实在选定地图引擎后,系统架构也就基本确定了,因为不同的引擎提供了不同的架构策略,这里简单的看一下前端的结构。
1、REST架构风格的,如http://map.o.cn/resource/mappic/1/3/lv2/107,76.jpg;
2、Ajax+ASP/Servlet,如http://IP:Port/demo/maphandler?mapName=Mapping&x=0&y=-1&imageFormat=png&width=512&height=512&mapScale=5.557819126267368e-7&layersKey=0&method=gettiledimage&t=1243844626812
3、RoR/Django;

你可能感兴趣的:(Gis)