C#打造一个开源webgis(一)系统架构
2013-09-02 11:00
246 查看
想不到当初起了个前言,时隔一年半之后才开始写,因为已经转行不做GIS了……决定把它写完,只是不想留下个烂尾楼……如果文章内容有所错漏,望建议补充
搭建一个GIS系统,为了能同时适应C/S和B/S架构,建议是做成自己的地图服务api方式,这样,一个或多个系统,就能通过统一的地图服务接口提供,而通信可以采用http的resful方式,而一个webGis系统,其基本环境,无外乎是:空间数据库+GIS中间件+WEB MAP SERVER+GIS EDITOR+浏览器CLIENT,引用arcgis server的系统架构图如下:
![](http://img.blog.csdn.net/20130902103634031?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbGFuZ3l1ZXd1/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
[align=left] [/align]
对于一般的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来访问地图服务,绘制图元,展示信息,实现地图交互。
搭建一个GIS系统,为了能同时适应C/S和B/S架构,建议是做成自己的地图服务api方式,这样,一个或多个系统,就能通过统一的地图服务接口提供,而通信可以采用http的resful方式,而一个webGis系统,其基本环境,无外乎是:空间数据库+GIS中间件+WEB MAP SERVER+GIS EDITOR+浏览器CLIENT,引用arcgis server的系统架构图如下:
[align=left] [/align]
对于一般的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来访问地图服务,绘制图元,展示信息,实现地图交互。
相关文章推荐
- C#打造一个开源webgis(一)系统架构
- [转]C#打造一个开源webgis(一)系统架构
- C#打造一个开源webgis(三)地图服务系统
- C#打造一个开源webgis(三)地图服务系统
- C#打造一个开源webgis(二)空间数据库
- C#打造一个开源webgis(前言)
- C#打造一个开源webgis(前言)
- C#打造一个开源webgis(四)地图客户端(中)
- C#打造一个开源webgis(二)空间数据库
- C#打造一个开源webgis(四)地图客户端(上)
- C#打造一个开源webgis(四)地图客户端(中)
- C#打造一个开源webgis(四)地图客户端(上)
- 开源一个C# Class实现Openfire登陆、推出、消息发送,方便其他系统集成IM功能了
- 开源一个C# Class实现Openfire登陆、推出、消息发送,方便其他系统集成IM功能了
- 一个开源系统的架构分析(三)
- 程序员简单打造一个灵活智能的自动化运维系统C#实例程序
- 采用开源软件搭建WebGIS系统(1)系统架构
- 一个开源系统的架构分析(二)
- 一个开源系统的架构分析
- C# C/S系统软件开发平台架构图(原创)