很早就看到马维峰老兄写的关于SharpMap的一些东西,这也是国内(截止到 2006-11-29 )能用百度和GOOGLE能搜索到唯一资料。怀着对GIS开源项目的热爱和为国内程序员做点共享的“崇高感情”,我打算学习一下SharpMap,同时整理一些学习时候的技术总结,陆续放到BLOG中去。
SharpMap介绍:
SharpMap是一个“小巧可爱”的基于.net 2.0使用C#开发的Map渲染类库,可以渲染各类GIS数据(目前支持ESRI Shape和PostGIS格式),可应用于桌面和Web程序。
其网址为:http://sharpmap.iter.dk/ 和http://www.codeplex.com/SharpMap
SharpMap的发布许可(License)为GNU General Public License,开发者为Morten Nielsen(http://www.iter.dk/)。目前的稳定版本为0.8(9.0beta已发布),代码行数近10000行,实现了以下功能:
①支持的数据格式:
PostGreSQL/PostGIS,ESRI Shapefile
支持WMS layers
支持ECW 和JPEG2000 栅格数据格式
②Windows Forms 控件,可以移动和缩放
③通过HttpHandler支持ASP.net程序
④点、线、多边形、多点、多线和多多边形等几何类型和几何集合(GeometryCollections)等OpenGIS Simple Features Specification
⑤可通过Data Providers(增加数据类型支持)、Layer Types(增加层类型)和Geometry Types等扩展
⑥图形使用GDI+渲染,支持anti-aliased等
⑦专题图
上面这段话是根据马兄的BLOG整理的,如果不希望我引用请马兄告知我删除。
下面就是实用的STEP BY STEP。
(1)下载VS .NET 2005
由于SharpMap基于.NET 2.0,为了分析SharpMap,首先要作的就是下载一个VS .NET 2005,这个比较大,估计有1.6G,所以建议找个速度快点的网站或者…(呵呵,武汉的朋友去电脑城地下室找找,长沙的朋友去QQ电脑城4楼逛逛);
(2)安装VS .NET 2005
还算比较好装,我装的时候没碰到什么问题,一次成功;
(3)设置IIS ASP.NET为2.0
这点必须注意,因为默认的IIS ASP.NET为1.1(我安装操作系统的是Windows Server 2003);
做法是打开IIS信息服务管理器,在“默认网站”上单击右键选择“属性”,弹出如下对话框,在ASP.NET页设置ASP.NET的版本为2.0.50727;
图1设置IIS ASP.NET为2.0
(4)下载SharpMap
到http://www.codeplex.com/SharpMap去下载一个SharpMap,我下载的是0.9版;
(5)解压和试运行
解压后可以看到一个demo文件夹,在VS 2005中打开Simple.aspx,在VS 2005中单击右键,选择“在浏览器中查看”,则弹出浏览器如下图所示:
图2简单地图浏览
图3 样式图浏览
图4 分级图浏览
图5 饼图浏览
图6 AJAX应用
图7 WMS客户端应用
图8 WMS服务器地图
图9 实时坐标变换
图10 坐标变换测试