GIS 技术远不止制作漂亮的地图和帮助我们从 A 点到达 B 点,它还使我们能够规划城市,规划支持我们一切的基础设施,保护自然资源,在灾难时期拯救生命等等。
如果您曾在桌面端处理过地理数据,那么您很可能在工作中至少部分使用过 Esri 的 ArcGIS 应用程序。ArcGIS 是一款功能极其强大的工具,但不幸的是,它是一款专有产品,专为 Windows 设计。Linux 和 Mac 用户除非想在虚拟化环境中运行 ArcGIS,否则就无缘使用,即使那样,他们仍然在使用一款闭源产品,许可费用可能非常昂贵。虽然他们的旗舰产品是闭源的,但我不得不提的是,Esri 为开源社区做出了诸多贡献。
幸运的是,GIS 用户有多种选择可以使用开源工具来设计地图和处理空间数据,这些工具可以在自由和开源许可下获得,并且可以在各种不同的非 Windows 操作系统上运行。让我们来看看其中的一些选项。
GRASS
让我们从 GRASS 开始。(GRASS 代表 Geographic Resources Analysis Support System,地理资源分析支持系统)。它历史悠久,最初的开发始于 1982 年,由美国政府资助。此后,GRASS 被学术界采用,其开发工作至今仍在继续。
我提到这段历史是为了帮助您理解其界面,该界面启动时会打开一个终端窗口,并询问您一些关于设置项目的问题,然后再启动一个单独的控制和显示窗口来处理您的数据。如果 GUI 感觉像是后来附加到一个强大的底层程序上的,嗯,这可能就是实际发生的情况。
虽然该界面对于新手来说可能不如其他一些 GIS 应用程序那么直观,但我喜欢它有两个原因。首先,因为它实际上只是底层 Python 命令的 GUI 抽象,高级用户可以轻松地直接从 Python 控制台操作和显示数据,从而提高速度、精确性,并且对于学术应用而言,易于复制。我喜欢该界面的第二个原因是它直接暴露了广泛而强大的数据操作工具阵列。GRASS 绝对是数据分析和地理处理方面的佼佼者,它的工具可以从外部应用程序中使用,使其成为一个非常可扩展的工具,即使您不将其作为主要的桌面 GIS 系统,也值得学习。
GRASS 主要使用 C/C++ 编写,尽管它的许多模块是用 Python 或其他语言编写的。您可以在 这个 Subversion 仓库中找到它的源代码,它采用 GPL 许可。

QGIS
对于许多人来说,发现 QGIS 就结束了他们寻找 ArcGIS 替代方案的旅程。它拥有简洁的界面,易于使用,而且运行良好。QGIS 支持各种栅格和矢量格式,如果您是 Linux 用户,那么它很可能已经为您发行版的默认仓库打包好了。除了 Linux 之外,还可以在项目网站上找到 macOS、Windows、BSD 和 Android 的下载和说明。
QGIS 拥有出色的文档,您可以在其用户手册中找到,并且拥有活跃的用户社区,他们制作了大量的教程、指南甚至书籍来帮助您成功使用。还有大量的插件可以添加基本软件包中没有的大量功能,其 Python 界面使新手可以相对容易地创建新插件。
如果您是一位经验丰富的 ArcGIS 用户,并且想更多地了解 QGIS 与该平台的相似之处和不同之处,这篇文章将带您了解 27 个不同的比较。您可以在 GitHub 上找到 QGIS 的源代码,它主要使用 C++ 编写,并采用 GPLv2 许可。

uDig
虽然我已经使用 GRASS 和 QGIS 好几年了,但最近我一直在尝试扩展我的视野,并且一直在尝试 uDig,它代表 User-friendly Desktop Internet GIS(用户友好的桌面互联网 GIS)。
uDig 与其他两个工具不同之处在于,它更像是一个应用程序框架,而不是一个完整的解决方案。事实上,它是一个独立的程序,如果您下载并启动它,您就可以像更传统的桌面 GIS 工具一样开始添加和探索您的数据。
但它的优势在于其框架设计,它围绕着许多开发人员已经熟悉的 Eclipse IDE 构建。通过这种方式,uDig 可以轻松开发您自己的 GIS 应用程序,以满足用户的特定需求。该项目的画廊 托管了许多示例,从智能电网到林业再到物流。
uDig 根据 Eclipse 公共许可证和 BSD 许可证联合许可,您可以在 GitHub 上 找到其基于 Java 的源代码。

以及更多
当然,还有其他开源工具是桌面 GIS 爱好者想要探索的。我听说过一个不错的工具,但从未亲自使用过,那就是 gvSIG Desktop,这是一款采用 GPL 许可的工具,适用于 Windows、Mac 和 Linux,具有地图创建、数据查询和地理处理等多种功能,并支持各种不同的数据格式。要深入了解各种工具,请查看这个电子表格,其中提供了关于各种不同开源桌面 GIS 工具的功能支持的详细信息。
就像任何其他行业一样,与用于创建拥有大量用户的交互式平台或对庞大数据集执行处理的工具相比,在桌面端完成的工作规模和范围存在很大差异。桌面地图制作仅仅触及了 GIS 可以提供的功能的表面。
除了这些桌面工具之外,GIS 用户还可以利用许多桌面之外的工具。有一些库可用于开发基于 Web 的地图工具,如 Leaflet 和 OpenLayers。在数据库方面,大多数主要的数据库系统都支持基本的 X/Y 坐标,但 PostGIS 通过在 PostgreSQL 之上提供扩展,在空间使能的开源数据库领域处于领先地位。像 GDAL/OGR 这样的库为许多其他空间使能的程序提供了基本功能,并为许多流行的编程语言提供了绑定。像 GeoServer 和 MapServer 这样的项目提供服务器端空间数据托管。
许多这些开源项目都获得了像 Boundless 这样的公司的商业支持。开源地理空间生态系统非常丰富,甚至可能比其闭源 counterparts 更丰富。上述几个项目都属于 OSGeo(开源地理空间基金会)的范畴,该基金会包含了许多不同的地理工具和项目,值得一看。
您像我一样是空间数据爱好者,或者可能是一位入门级的地图制作爱好者?您最喜欢哪些开源工具,为什么?
5 条评论