GIS 技术不仅仅是制作漂亮的地图和帮助我们从 A 点到达 B 点,它还使我们能够规划城市、规划支持我们一切的基础设施、保护我们的自然资源、在灾难时期拯救生命等等。
如果您曾在桌面上处理过地理数据,那么您很可能在工作中至少部分使用了 Esri 的 ArcGIS 应用程序。ArcGIS 是一款功能非常强大的工具,但不幸的是,它是一款专有产品,专为 Windows 设计。除非 Linux 和 Mac 用户想要在虚拟化环境中运行 ArcGIS,否则他们就倒霉了,即使那样,他们仍然在使用一款闭源产品,其许可费用可能非常昂贵。虽然他们的旗舰产品是闭源的,但我不得不提的是,Esri 为开源社区做出了众多贡献。
幸运的是,GIS 用户有多种选择可以使用开源工具来设计地图和处理空间数据,这些工具可以在自由和开源许可下获得,并且可以在各种不同的非 Windows 操作系统上运行。让我们来看看其中的一些选项。
GRASS
让我们从 GRASS 开始。(GRASS,代表地理资源分析支持系统)。它历史悠久,最初的开发可以追溯到 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 Public License 和 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 这样的公司的商业支持。开源地理空间生态系统丰富,甚至比其闭源同行更丰富。上述几个项目都属于 OSGeo(开源地理空间基金会)的保护伞之下,该基金会容纳了许多不同的地理工具和项目,这些工具和项目都值得查看。
您是像我一样的空间数据爱好者,还是可能是一位入门级的地图制作爱好者?您最喜欢哪些开源工具,为什么?
5 条评论