我是一个刚毕业的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.最好的资源在官网

http://sharpmap.codeplex.com/

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

基于C#的开源GIS项目介绍之SharpMap篇

SharpMap介绍及源码分析

资源下载:

http://yun.baidu.com/s/1VAL5s

[转]基于C#的开源GIS项目介绍之SharpMap篇的更多相关文章

  1. 常用开源GIS项目

    常用开源GIS项目     常用开源桌面GIS软件 QGIS 始于2002年5月,算得上是开源GIS平台中的后起之秀.界面友好,分析功能可与GRASS GIS相媲美.主页:http://www.qgi ...

  2. 基于StringUtils工具类的常用方法介绍(必看篇)

    前言:工作中看到项目组里的大牛写代码大量的用到了StringUtils工具类来做字符串的操作,便学习整理了一下,方便查阅. isEmpty(String str) 是否为空,空格字符为false is ...

  3. .NET 开源GIS项目

    SharpMapSharpMap是一个基于.NET 2.0使用C#开发的Map渲染类库,可以渲染ESRI Shape.PostGIS.MS SQL等格式的GIS数据,通过扩展地图数据Provider, ...

  4. WPF 开源框架项目介绍

    旧版本项目说明 旧版本由于是从学习WPF进行开发的, 历经时长有半年之余,基本上现学现用的那种, 所以存在很多缺陷, 由于整体的设计多处更新, 故旧版本将会终止维护(砍), 基于WCF的项目也会停止, ...

  5. 开源GIS软件 1

    1. 在线地图浏览器 GMap.NET GMap.NET 是一个强大.免费.跨平台.开源的.NET控件,它在Windows Forms 和WPF环境中能够通过Google, Yahoo!, Bing, ...

  6. 开源GIS简介.学习

    开发者都希望自己的软件能够运行在尽可能多的计算机上.然而事与愿违,摆在 GIS开发者面前的仍然是对峙的平台.J2EE随着Java5.0的发布,已经正式更名为JavaEE,而微软也正式发布了.NET2. ...

  7. 开源GIS简介

    原文 开源GIS C++开源GIS中间件类库: GDAL(栅格)/OGR(矢量)提供了类型丰富的读写支持 GEOS(Geometry Engine Open Source)是基于C++的空间拓扑分析实 ...

  8. 基于Ionic2的开源项目

    项目介绍 基于Ionic2的Ionic中文论坛客户端,该应用也是边学边做的,为了将更多常用东西加入到APP中,有些逻辑不通之处,敬请包涵. 开源地址 https://github.com/zxj963 ...

  9. J2EE开发之常用开源项目介绍

    主要就我所了解的J2EE开发的框架或开源项目做个介绍,可以根据需求选用适当的开源组件进行开发.主要还是以Spring为核心,也总结了一些以前web开发常用的开源工具和开源类库 1持久层: 1)Hibe ...

随机推荐

  1. HDU 2680(最短路)(多个起始点)

    这道题也是死命TLE.. http://acm.hdu.edu.cn/showproblem.php?pid=2680 /* 使用pair代替结构 */ #include <iostream&g ...

  2. Java集合 之Map(HashMap、Hashtable 、TreeMap、WeakHashMap )理解(new)

    HashMap 说明: 在详细介绍HashMap的代码之前,我们需要了解:HashMap就是一个散列表,它是通过“拉链法”解决哈希冲突的.还需要再补充说明的一点是影响HashMap性能的有两个参数:初 ...

  3. Mac(OS X)中Git安装与GitHub基本使用

    GitHub是一个面向开源及私有软件项目的托管平台.开源代码库以及版本控制系统,因为只支持 Git 作为唯一的版本库格式进行托管,故名 GitHub.通常在Windows下使用GitHub的教程是非常 ...

  4. 第九天- 文件操作 r w a 文件复制/修改

    文件操作简介:使用python来读写文件是非常简单的操作.我们使用 open() 函数来打开一个文件,获取到文件句柄.然后通过文件句柄就可以进行各种各样的操作了.根据打开⽅方式的不同能够执行的操作也会 ...

  5. Zookeeper Curator API 使用

    0. 原生 ZOOKEEPER JAVA API  http://www.cnblogs.com/rocky-fang/p/9030438.html 1. 概述 Curator采用cache封装对事件 ...

  6. cf1088D. Ehab and another another xor problem(思维)

    题意 题目链接 系统中有两个数\((a, b)\),请使用\(62\)以内次询问来确定出\((a, b)\) 每次可以询问两个数\((c, d)\) 若\(a \oplus c > b \opl ...

  7. Vue组件通讯

    Vue最常用的组件通讯有三种:父->子组件通讯.子->父组件通讯,兄弟组件通讯.(template用的pug模板语法) 1.父->子组件通讯 父->子组件通讯,是通过props ...

  8. JSON运用——PHP中使用json数据格式定义字面量对象的方法

    目前,在PHP中是不支持字面量命名法. 前端的小伙伴都知道,在JS中用字面量定义一个对象的方法可以如下: var o = { 'name' : 'Tom' , 'url' : 'www.baidu.c ...

  9. 水库抽样Reservoir Sampling(蓄水池问题)

      知识复习 空间亚线性算法:由于大数据算法中涉及到的数据是海量的,数据难以放入内存计算,所以一种常用的处理办法是不对全部数据进行计算,而只向内存里放入小部分数据,仅使用内存中的小部分数据,就可以得到 ...

  10. Evernote Markdown Sublime实现

    版权声明: 欢迎转载,但请保留文章原始出处 作者:GavinCT 出处:http://www.cnblogs.com/ct2011/p/3996164.html Evernote无法实现markdow ...