支持离线局域网操作的开源 GIS 系统有哪些推荐?

关注者
158
被浏览
90,150

10 个回答

推荐开源套装: Postgresql+PostGIS+uDig+GeoServer+OpenLayers,从数据转换(制作)、存储到发布、浏览,都齐了。

2014年补充:可以考虑用Leaflet.JS来替代OpenLayers,用QGIS代替uDig。

开源世界真是日新月异年年变啊。2017年补充:

Web前端方面,可以考虑用MapboxGL-JS来替代Leaflet,用 Turf.js 以及 JSTS 实现客户端空间分析,用 Cesium 实现基于WebGL的三维地球,用 iClient9 作为多个客户端库的集成使用之参考。

后端服务方面:用基于Spark的 GeoTrellis 来补充GeoServer,用GeoWebCache做瓦片发布代理,用 GeoNode 做GIS门户(CMS)。

开源世界真真是日新月异年年变啊。2019年补充:

桌面端:QGIS、GRASS、uDig。
Web前端:和2017年基本一致,还是 iClient +L/OL/MB/Cesium为主来打天下,再把echarts/d3/turfjs/proj4js/等工具按需使用。
移动端:较少,以sdk为主,貌似就 OSMDroid 和MapboxGL-Native还比较常见。
后端服务与计算层:LocationTech的GeoMesa/GeoTrellis/GeoWave都可以一试,传统的GeoServer(已内置GeoWebCache)+GeoNode、GeoTools继续主流, Mapnik 用来渲染矢量瓦片貌似也很热门。
后端存储层:PostGIS、MongoDB、Spatialite、GeoPackage、MBTiles、HBase等等,很多,可以结合桌面和服务端的支持情况,按需选用。
另外还有几种新兴的软件交付模式,1是Python数据科学圈的 Jupyter ,国内的 iClient for Python 有个 入门文档 ,2是几个全家桶: OSGeoLive的Linux全家桶 OSGeo4W的Windows全家桶

总结:2019版开源GIS套装之增强版: Postgresql+PostGIS+QGIS+GeoServer+GeoNode+Jupyter+iClient,GIS用于AI、大数据、传统环境都有了。

开源世界 真真真是日新月异年年变啊。2022年补充:

桌面端:QGIS有一统桌面开源GIS天下的趋势(甚至还有QGIS Server、QField for Android/iOS)。
Web前端:和2019年相比,由于MapboxGL-JS v2的协议变更,开源社区fork并开发了 Maplibre GL-JS 。总体还是 iClient +L/OL/MB/Cesium为主来打天下,再把echarts/d3/turfjs/proj4js/等工具按需使用。
移动端: QField for QGIS ,SDK有 OSMDroid MaplibreGL-Native
无人机环境: OpenDroneMap ,无人机制图全套软件工具集,有CLI、WebUI、Cloud等项目模块。
NodeJS端:基于TS/JS的后端计算层,和传统Java/C++等后端所不同的是,它们往往在Web前后端环境都可以使用,发展很快,有 turfjs geolib 、proj4js等。
后端服务与计算层:Rust/Go等语言在GIS中已日渐展露头角, GeoRust 社区有好些个项目,虽然大部分还只是C/C++库的binding。Java生态仍然是主流:GeoSpark加入Apache社区并改名为 Apache Sedona ,潜力十足;老牌的GeoMesa/GeoTrellis、GeoServer/GeoTools、GeoNode继续发展。
后端存储管理层:OGC社区在主推COG、Zarr等等新型存储格式,另一个变化是随着知识图谱在GIS中的应用,包括图数据库( Neo4j ArangoDB 等)也进入GIS视野。国内openGauss数据库社区与GIS厂商联合发布了 Yukon禹贡开源二三维空间数据库 ,基于PostGIS,增加了GeoModel三维模型、GeoSOT空间网格编码等功能,未来也会考虑支持多模。

总结:2022版开源GIS套装之增强版: Postgresql+Yukon+GeoMesa+QGIS+GeoServer+Sedona+GeoNode+Jupyter+iClient,GIS用于矢栅、三维、AI、大数据、传统环境都有了。
以上都是开源的,随喜体验,好用就点个赞,不好用就用脚投票。

搞离线GIS肯定还离不开空间数据,这里有几处可参考:
OpenStreetMap Data ,OSM的全球空间数据,但要注意这是未经政府审批的,只能测试,不能用于公开发布。
国家天地图/自然资源部数据,部分数据需要注册/申请才能下载:

国家测绘数据入口 ,里面有全国标准地图(图片¥……%&)。

这篇东西算是复习,了解 PostGIS 的基本构成与官方定义

1. 介绍

是什么

PostGIS 是 PostgreSQL 数据库的一个扩展插件,它是开源的,使用 GPLv2 协议。

有什么用

在数据表中增加了地理对象的类型支持,还添加了大量操作这些空间对象的函数、运算符和索引系统。

有什么功能

PostGIS 提供:

  • 对矢量数据和栅格数据均提供了处理、分析的 SQL 函数,支持拼接、切割、形变、重分类、聚合等操作;
  • 栅格图像的处理方法;
  • 能通过 SQL 调用的栅格、矢量数据坐标重投影函数;
  • GUI 程序或命令行程序来导入、导出 shp 矢量数据,并且通过第三方工具以支持更多格式;
  • 命令行程序来导入多种标准的栅格数据:GeoTiff、NetCDF、PNG、JPG 等
  • 能通过 SQL 调用的,能渲染、导入 KML、GML、GeoJSON、GeoHash、WKT 等标准文本类型的矢量数据的函数
  • 能通过 SQL 语句将栅格渲染至各种格式(GeoTiff、PNG、JPG、NetCDF 等)
  • 矢量或栅格操作函数,包括按区域伸缩栅格像元值、局域统计、按矢量图形裁剪栅格、矢量化栅格等
  • 3D 对象支持,包括空间索引等函数
  • 网络拓扑支持
  • 其它

由何而来

PostGIS 是用 C 语言写的,所以它可以用一些 C/C++ 的库。它依赖于:

  • GEOS 库,提供几何图形处理算法
  • Proj.4 库,提供坐标重投影函数
  • GDAL 库,提供栅格数据格式支持和处理手段
  • LibXML2 库,用于 XML 文档的解析
  • JSON-C 库,用于 JSON 的解析
  • SFCGAL 库,提供额外的 3D 图形地理处理算法

它遵循 OGC 的 《简单要素关于SQL的规范》 来实现。

附带了什么工具

使用空间数据库,或者说任何数据库,有几个关键的操作:数据的导入导出。下面有几个工具要介绍:

  • 命令行工具,shp2pgsql、pgsql2shp、raster2pgsql
  • GUI 工具,shp2pgsql-gui,有些分发版本并没有,Windows 版本一般都有
  • GDAL 有关工具和库,它是处理空间数据的利器,比较难啃,但是值得挑战

2. 与 PostGIS 类似、相关的 PostgreSQL 扩展

主要有:

  • pgRouting ,要配合 PostGIS 一起用,扩充了网络分析功能,例如最短路径分析等
  • ogrfdw ,基于 GDAL/OGR 的外部数据包装器,意思就是允许 pg 读取其它数据源为数据表;其中矢量数据将转换为 PostGIS 的几何类型
  • pgpointcloud ,用于在 PostgreSQL 中存储点云数据,附有点云类型与 PostGIS 几何类型之间相互转换的功能

参考文档