摘要: NET环境下的GIS开源软件应用 作为一个一直在Windows环境下开发的C#程序员,对如何利用这些开源资源进行开发很有兴趣。对于一个典型的GIS应用系统,系统的各个层次都可以构建在开放的GIS开发框架之下。而考虑使用.net开发环境,所以系统中的开放资源需要...
NET环境下的GIS开源软件应用
作为一个一直在Windows环境下开发的C#程序员,对如何利用这些开源资源进行开发很有兴趣。对于一个典型的GIS应用系统,系统的各个层次都可以构建在开放的GIS开发框架之下。而考虑使用.net开发环境,所以系统中的开放资源需要可以在Windows下面运行同时有.net接口。同时系统需要有桌面应用同时又需要可以发布Web应用。
因此,在.NET环境下,利用开源GIS进行项目开发大致可分为两种:
Web环境,使用PostGIS+SharpMap/MapWindow6+TileCache+OpenLayers进行开发
在该开发模式下, PostGIS主要用于存放空间数据,同时也用于处理空间查询以及空间操作。PostGIS基于PostgreSQL实现了OGC的((Simple Features specifications for SQL))标准。PostGIS是当前最先进的开源空间数据库,功能强大而且也相当稳定。SharpMap/MapWindow6可以提供WMS服务同时地图渲染非常美观,但是WMS本身效率不是很高,每次请求都要到重新动态的渲染生成用户请求的地图图片这样效率非常低。这里选择TileCache作为WMS的缓存引擎。瓦片缓存TileCache在逻辑上位于OpenLayers与SharpMap/MapWindow6之间,用于管理SharpMap/MapWindow6生成的数据,同时处理前台OpenLayers传递的请求。TileCache将用户浏览过的图片缓存到缓存服务器本地硬盘,这样下次用户请求同样数据的时候就不用再通过地图渲染引擎而是直接读取本地缓存地图大大的提高的地图访问速度。通过OpenLayers作为客户端可以很快速的搭建客户端系统。OpenLayers可以读取通过TileCache提供的缓存数据,同时OpenLayers界面美观性能优越大大降低了客户端开发的工作量。
桌面环境,使用PostGIS+NetTopologySuite+SharpMap/MapWindow6进行开发
在该开发模式下,PostGIS作为数据库引擎,作为数据管理和分析工具。NetTopologySuite作为空间数据操作和管理的中间件。SharpMap/ MapWindow6作为提供嵌入式GIS开发组件,提供GIS功能。PSN适合用户微软.Net开发环境下,小型的嵌入按式GIS系统的开发。PostGIS有.Net的数据访问组件,NetTopologySuite和SharpMap/MapWindow6完全是基于C#的开源项目。因此,可以很方便的集成开发处桌面GIS应用系统。