一、开源webGIS:
1、采用java语言包括GeoServer,Geotools:
GeoServer 是 OpenGIS Web 服务器规范的 J2EE 实现,利用 GeoServer 可以方便的发布地图数据,允许用户对特征数据进行更新、删除、插入操作,通过 GeoServer 可以比较容易的在用户之间迅速共享空间地理信息。GeoServer是社区开源项目,可以直接通过社区网站下载,详细请查看本文档末的资源表;
Geotools是Java语言编写的开源GIS工具包。该项目已有十多年历史,生命力旺盛,代码非常丰富,包含多个开源GIS项目,并且基于标准的GIS接口。Geotools主要提供各种GIS算法,各种数据格式的读写和显示。在显示方面要差一些,只是用Swing实现了地图的简单查看和操作。但是用户可以根据Geotools提供的算法自己实现地图的可视化。OpenJump和udig就是基于Geotools的
2、c++语言包括:mapserver:
MapServer,它是美国明尼苏达大学 (University of Minnesota, 简称 UMN)在二十世纪90 年代利用 C语言开发的开源 WebGIS项目
http://www.opencpn.cn/index.html
http://www.cnblogs.com/njlhb/archive/2007/12/03/981628.html
开发地图程序的优秀框架:
1、OpenLayers 是一个专为Web GIS 客户端开发提供的JavaScript 类库包,用于实现标准格式发布的地图数据访问
2、OpenScales是一个优秀的前台地图框架,开发者可以用来开发各种网络版、手机版和桌面版的地图程序
二、开源电子海图opencpn