C#打造一个开源webgis(一)系统架构

想不到当初起了个前言,时隔一年半之后才开始写,因为已经转行不做GIS了……决定把它写完,只是不想留下个烂尾楼……如果文章内容有所错漏,望建议补充 

 

       搭建一个GIS系统,为了能同时适应C/S和B/S架构,建议是做成自己的地图服务api方式,这样,一个或多个系统,就能通过统一的地图服务接口提供,而通信可以采用http的resful方式,而一个webGis系统,其基本环境,无外乎是:空间数据库+GIS中间件+WEB MAP SERVER+GIS EDITOR+浏览器CLIENT,引用arcgis server的系统架构图如下:

 

 

 

 

       对于一般的C/S系统,很多时候就是两层架构:客户端+数据库,而一般B/S系统,简单的也是这两层,但更多的是客户端+Web Server+数据库,这种方式安全性、通用性和扩展性更好(诸如sql注入等自行谷哥度娘),而webgis就是在三层基础上再多了个GeoServer,其满足OGC规范,提供Web地图服务(WMS)、Web要素服务(WFS)、Web覆盖服务(WCS)面向空间影像数据。

而我最终的选型方案以下,至于什么原因,后续会补充介绍到

1、使用Udig等地图处理软件生成空间数据。
2、把生成空间数据导入postgreSQL,以提供给GeoServer等实现地图服务,和提供给NTS操作处理。
3、通过浏览器客户端,即arcgis api for Silverligh来访问地图服务,绘制图元,展示信息,实现地图交互。

你可能感兴趣的:(.net,Webgis,开源)