[转]基于C#的开源GIS项目介绍之SharpMap篇
我是一个刚毕业的GIS本科毕业生,目前在杭州从事GIS软件应用开发。在项目开发中总感觉自己的编程水平还不够,于是想找些开源GIS小项目来研究研究,借以提高自己的编程能力和项目开发能力。在网上搜了一下“GIS开源”发现还不少,下面是一个介绍GIS开源项目的链接:
http://www.yuanma.org/data/2008/0526/article_3048.htm
里面介绍了基于各种编程语言的GIS开源项目,并列出了各自的特点和官网链接。
由于在学校时候学的一直都是C#和Visual Studio开发平台,虽然不敢说自己精通.NET和C#,但好歹也有2年的C#开发经验了,所以我毫不犹豫的选择了SharpMap作为我的第一个开源GIS研究对象。
我也是刚学,所以不敢发表过多评论,也没有什么心得。
下面就简单介绍一下两个基于C#的开源GIS项目和一个C#版本的OpenGL,即
1.SharpMap
官方网站:http://sharpmap.codeplex.com/
2.WorldWind
官方网站:http://worldwind.arc.nasa.gov/index.html
源码下载及学习网站:http://worldwindcentral.com/wiki/Main_page
3.CsGL
官方网站:http://csgl.sourceforge.net/
SharpMap
一、简介
我就不多说了,百度百科就讲的很好。现概括如下:
SharpMap是一个基于.net 2.0使用C#开发的Map渲染类库,可以渲染各类GIS数据,可应用于桌面和Web程序。
目前支持B/S及C/S两种方式的DLL调用,支持地图渲染效果。稳定版本为0.9,最新版本为2.0,代码行数近10000行。
官方网站:http://sharpmap.codeplex.com/
它的优点有:
1、占用资源较少,响应比较快。在对于项目中如果只需要简单的地图功能的话,是一个比 较好的选择 。
2、它是基于.NET 2.0环境下开发的,对于.NET环境支持较好。
3、使用简单,只要在.NET项目中引用响应的dll文件即可,没有复杂的安装步骤。
支持的数据格式和功能:
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等
二、截图
为了做到有图有真相,并且我们从小就喜欢看图,一张图抵过千言万语,所以我还是贴几张图吧
下面是我自己做的一个Demo,很简单就读了一下shapefile,不过这只是一个开始。
更多图片更多了解请看官网 http://sharpmap.codeplex.com/
三、学习资源
1.最好的资源在官网
2.Sharpmap介绍及源码分析
http://www.cnblogs.com/maweifeng/archive/2006/02/24/337181.html
3.SharpMap深度分析
http://www.cnblogs.com/maweifeng/archive/2006/03/06/344082.html#1865196
4.基于.NET 2.0的GIS开源项目SharpMap分析手记
http://blog.csdn.net/suen/article/details/1420455
这是我第一次在CSDN上写博文,一直都不敢写,主要是水平还不高。不过现在觉得无所谓了,博文不仅仅是给别人看的,还可以作为自己学习的总结和记录。
未完待续!
参考链接:
官网:http://sharpmap.codeplex.com/SourceControl/latest
SharpMap介绍及源码分析
资源下载:
[转]基于C#的开源GIS项目介绍之SharpMap篇的更多相关文章
- 常用开源GIS项目
常用开源GIS项目 常用开源桌面GIS软件 QGIS 始于2002年5月,算得上是开源GIS平台中的后起之秀.界面友好,分析功能可与GRASS GIS相媲美.主页:http://www.qgi ...
- 基于StringUtils工具类的常用方法介绍(必看篇)
前言:工作中看到项目组里的大牛写代码大量的用到了StringUtils工具类来做字符串的操作,便学习整理了一下,方便查阅. isEmpty(String str) 是否为空,空格字符为false is ...
- .NET 开源GIS项目
SharpMapSharpMap是一个基于.NET 2.0使用C#开发的Map渲染类库,可以渲染ESRI Shape.PostGIS.MS SQL等格式的GIS数据,通过扩展地图数据Provider, ...
- WPF 开源框架项目介绍
旧版本项目说明 旧版本由于是从学习WPF进行开发的, 历经时长有半年之余,基本上现学现用的那种, 所以存在很多缺陷, 由于整体的设计多处更新, 故旧版本将会终止维护(砍), 基于WCF的项目也会停止, ...
- 开源GIS软件 1
1. 在线地图浏览器 GMap.NET GMap.NET 是一个强大.免费.跨平台.开源的.NET控件,它在Windows Forms 和WPF环境中能够通过Google, Yahoo!, Bing, ...
- 开源GIS简介.学习
开发者都希望自己的软件能够运行在尽可能多的计算机上.然而事与愿违,摆在 GIS开发者面前的仍然是对峙的平台.J2EE随着Java5.0的发布,已经正式更名为JavaEE,而微软也正式发布了.NET2. ...
- 开源GIS简介
原文 开源GIS C++开源GIS中间件类库: GDAL(栅格)/OGR(矢量)提供了类型丰富的读写支持 GEOS(Geometry Engine Open Source)是基于C++的空间拓扑分析实 ...
- 基于Ionic2的开源项目
项目介绍 基于Ionic2的Ionic中文论坛客户端,该应用也是边学边做的,为了将更多常用东西加入到APP中,有些逻辑不通之处,敬请包涵. 开源地址 https://github.com/zxj963 ...
- J2EE开发之常用开源项目介绍
主要就我所了解的J2EE开发的框架或开源项目做个介绍,可以根据需求选用适当的开源组件进行开发.主要还是以Spring为核心,也总结了一些以前web开发常用的开源工具和开源类库 1持久层: 1)Hibe ...
随机推荐
- JAVA基础之——JDK包分析concurrent
concurrent在哪儿:jdk\jre\lib\rt.jar package java.util.concurrent; 本文从特性.分类.扩展方面一一道来. 1 特性 包中包含大量有用的构建块, ...
- linux下配置环境变量方式
linux下配置环境变量有多种方式,下面简述之 方式1.编辑 /etc/profile 文件,增加如下内容 JAVA_HOME=/usr/local/jdk1. export JAVA_HOME PA ...
- 【SSH网上商城项目实战17】购物车基本功能的实现
转自:https://blog.csdn.net/eson_15/article/details/51418350 上一节我们将商品的详细页面做完了,并使用了Hibernate的二级缓存加载详细页面来 ...
- Java自定义cas操作
java Unsafe工具类提供了一个方法 public final native boolean compareAndSwapObject(Object var1, long var2, Objec ...
- POJ 2524(并查集)
这道题多了一个检查是否包含所有元素 可以设一个cnt表示集合里的数量,再与外面比较 #include <cstdio> #include <iostream> #include ...
- Java 的 委托 是什么?
前言:在学习设计模式时,发现书中有多次提到委托二字,所以经过网上搜索得到结果,并自己写了个小小的例子. 什么是委托? 委托模式是软件设计模式中的一项基本技巧.在委托模式中,有两个对象参与处理同一个请求 ...
- [翻译]Review——Learn these core JavaScript concepts in just a few minutes
Learn these core JavaScript concepts in just a few minutes(只需几分钟即可学习这些核心JavaScript概念) 原文地址:https://m ...
- 51NOD1965:奇怪的式子
传送门 拆开变成 \[\prod_{i=1}^{n}\sigma_0(i)^{\mu(i)}\prod_{i=1}^{n}\sigma_0(i)^{i}\] 考虑 \(\prod_{i=1}^{n}\ ...
- css,js移动资源
随着移动市场的逐步扩大及相关技术的日趋完善,对前端开发提出了新的岗位要求,在继承前人成果的基础上需要在新的历史条件下有新的创新.移动端的开发,虽然没有IE6众多问题的折磨,但是多平台,多设备的兼容,也 ...
- JavaWeb学习总结(三):Servlet开发(一)
一.Servlet简介 Servlet是sun公司提供的一门用于开发动态web资源的技术. Sun公司在其API中提供了一个servlet接口,用户若想用发一个动态web资源(即开发一个Java程序向 ...