地理数据
地理空间数据云:http://www.gscloud.cn/home
地理信息数据库和业务数据库
地理信息数据库用于存储地理信息数据(包含矢量、地名地址、专题及瓦片数据);
业务数据库用于存储前端网站或者行业应用的关系型数据;
GIS服务器
GIS服务器则用于提供WMS、WTMS、WFS和WCS等GIS服务;
Web应用服务器
Web应用服务器主要针对行业应用,用于调取GIS服务和后台的业务数据,并在前端展示。提供Web信息浏览服务,通常你看到的是一个网站。
针对WebGIS以上组成部分,一套开源WebGIS有着相应的解决方案,其架构方式如下 :
数据生产(桌面软件--uDig、QGIS等)
数据存储(关系型或非关系型数据库:postgreSQL、mySQL、mongodb)
GIS服务(GIS服务器:mapserver、Geoserver)
Web服务(Web服务器:tomcat、apache、nginx)
前端渲染(OpenLayers )
当然还需要提供这一整套架构方式的外围软件环境:
虚拟化或者云环境(StarVcenter、VirtualBox、OpenStack、docker:StarVcenter做私有云相当不错的)
操作系统(linux:CentOS、Ubuntu)
地图数据生产:使用uDig、QGIS、Grass等开源桌面GIS软件采集、加工地理信息数据
uDig:http://udig.refractions.net/
QGIS:https://www.qgis.org/
Grass:https://grass.osgeo.org/
OpenEV:http://openev.sourceforge.net/
gvSIG :http://www.gvsig.com/
OpenJUMP:http://www.openjump.org/
OSSIM:http://trac.osgeo.org/ossim/
InterImage:http://www.lvc.ele.puc-rio.br/projects/interimage/(专注影像解译)
PolSARPro:https://earth.esa.int/web/polsarpro(极化雷达处理)
E-foto:http://www.efoto.eng.uerj.br/en 航空摄影测量
地理信息数据存储:关系型数据使用PostGIS或者MySQL Spatial数据库存储地理信息数据和关系型业务数据,
非关系型数据使用mongodb数据库(瓦片、图像)
PostGIS:http://postgis.net/
PostgreSQL:https://www.postgresql.org/
MySQL:https://www.mysql.com
mongodb : https://www.mongodb.com/
rasdaman:http://www.rasdaman.org/ (栅格数据库)
SpatiaLite:http://www.gaia-gis.it/gaia-sins/ (轻量级数据库SQLite空间扩展)
GIS服务器:使用GeoServer、MapServer生产地图瓦片,注册、发布地理信息服务。
GeoServer:http://geoserver.org/
MapServer:http://mapserver.org/
Mapnik:http://mapnik.org/
TileCache:http://tilecache.org/
MapTiler:https://www.maptiler.com/
Web服务器应用:使用Geomajas、Tomcat或apache搭建网站,在网页中嵌入地图容器加载地图;使用nginx作为反向代理或者负载均衡。
Tomcat:http://tomcat.apache.org/ (网站服务器)
apache:https://www.apache.org/(apache即可做网站服务器,又可作反向代理、负载均衡)
nginx: http://nginx.org/ (负载均衡、反向代理)
地图网站专用服务器
GeoMoose:https://demo.geomoose.org/
Geomajas:http://www.geomajas.org/
个人客户端或者web应用服务器的前端展示:地理信息服务使用OpenScales、支持Javascript的Openlayers或Leaflet地图容器前端展示。前端其他数据展示使用Javascript、vue等流行网页API。
openlayers(Javascript): http://openlayers.org/
openscales(Flex): http://openscales.org/
LeafLet: https://leafletjs.com
注:这里的web应用服务器相对于GIS服务器而言是客户端,相对于浏览者而言是服务器。
以上给出使用开源软件实现WebGIS各个环节可采用的软件,在实际项目中,应根据项目需要做一下筛选。
比如:uDig (QGIS)+ PostgreSQL/PostGIS (mongodb)+ GeoServer + Tomcat +Openlayers组合。
倘若有高性能、高可用的需求,还应使用集群技术,搭建数据库集群、GIS服务器集群和web应用服务器集群生态,增加服务的冗余,提高服务性能,毕竟地图服务不是简单的网页服务,其消耗的资源是非常大的,即便是一个空间查询语句,对数据库的性能消耗也是非常可观的。
开源地理数据函数库:
以下列出所有开源软地理信息软件或者商业地理信息软件都可能有到的开源地理信息函数库。其中,GDAL/ORG、PROJ.4、GEOS是地理信息软件或者系统开发的三架马车,它们搭建了地理信息软件的基础。
GDAL/OGR:https://gdal.org/ 开源栅格/矢量空间数据转换库
PROJ.4:https://proj.org/ 地图投影库
GEOS:http://trac.osgeo.org/geos 开源地理空间数据引擎
pyshp:https://pypi.org/project/pyshp/ 用于处理shapfile的简单函数库
Shapely:https://pypi.org/project/Shapely/ 基于 GEOS,用于操作和分析平面几何对象的函数库
Fiona:https://pypi.org/project/Fiona/ 基于GDAL,用于读取空间矢量数据的函数库
Rasterio:https://pypi.org/project/rasterio/ 基于GDAL和Numpy,用于读取地理空间栅格数据的函数库
PIL:https://pypi.org/project/PIL/ 用于处理影像的python库
NumPy:https://pypi.org/project/numpy/ 用于矩阵科学计算的函数库
Scikit-image:基于scipy的一款图像处理python库
GeoPandas:http://geopandas.org/ 用于空间分析的函数库
SPy:http://www.spectralpython.net/ 用于高光谱遥感影像处理的python库
GML4J:http://gml4j.sourceforge.net/ 用于读取gml数据的函数库
GSLIB:http://www.gslib.com/ 用于空间统计的函数库
JTS:https://sourceforge.net/projects/jts-topo-suite/ (支持JAVA的空间分析包)
GeoTools:https://www.geotools.org/ (支持JAVA的地理处理工具箱)
GeoMesa:https://www.geomesa.org/ 分布式时空大数据分析工具,配合hadoop使用
开放网络地图引擎:
OSM:https://www.openstreetmap.org/ 地图
Navit:https://www.navit-project.org/ 导航
开放三维引擎:
Cesium:https://cesium.com/
OSG earth:http://www.openscenegraph.org/
ogre:https://www.ogre3d.org/
marble:https://marble.kde.org/
/
开放地理处理工具:
GeoTools:https://www.geotools.org/ 地理处理工具箱
GeoNetwork:https://geonetwork-opensource.org/ 网络地图查看和目录工具
Orfeo ToolBox:https://www.orfeo-toolbox.org/ 可以处理TB级的高分辨率光学,多光谱和雷达图像。
开放协会或组织
https://www.osgeo.org/ 开源地理空间基金会
https://www.osgeo.cn/ 中国开放地理空间实验室
https://www.opengeospatial.org/ OGC开放地理空间信息联盟
加利福利亚大学荧光动力学实验室python 库:
https://www.lfd.uci.edu/~gohlke/pythonlibs/
也可参见grss-ieee地球科学与遥感学会与遥感相关的开源函数库和软件列表:
http://www.grss-ieee.org/open-source-software-related-to-geoscience-and-remote-sensing/
OSGeoLive 目录:
http://live.osgeo.org/en/overview/overview.html
附件一:OSGeo项目
Web地图服务:
deegree http://www.deegree.org/
geomajas http://www.geomajas.org/
GeoServer http://geoserver.org/display/GEOS/Welcome
Mapbender http://www.mapbender.org/
MapBuilder http://communitymapbuilder.osgeo.org/
MapFish http://www.mapfish.org/
MapGuide Open Source http://mapguide.osgeo.org/
MapServer http://www.mapserver.org/
OpenLayers http://openlayers.org/
地理信息桌面软件:
GRASS GIS http://grass.osgeo.org/
Quantum GIS http://www.qgis.org
gvSIG http://www.gvsig.org
地理空间支撑函数库:
FDO http://fdo.osgeo.org/
GDAL/OGR http://www.gdal.org/
GEOS http://trac.osgeo.org/geos/
GeoTools http://www.geotools.org/
MetaCRS http://trac.osgeo.org/metacrs/
OSSIM http://www.ossim.org/
PostGIS http://www.postgis.org/