本文共 1797 字,大约阅读时间需要 5 分钟。
gis扩展程序
来自地理信息系统(GIS)的空间数据无处不在。 从使我们的生活变得更好,更方便的智能手机,到在增加农民生产粮食数量的同时降低成本的精准农业,无论我们是否意识到,空间数据几乎触及了我们生活的每个部分。
空间数据的增加同时带来了开放的空间数据集,人们可以使用这些数据集来构建各种新的应用程序。 但是,这些类型的数据集并非总是易于使用。 此外,由于某些地理数据的大小,可能难以将它们引入现代应用程序部署框架(如Kubernetes)中。
为了解决这些问题, 最近宣布了两个新的开源项目和 ,以使开发云原生空间应用程序更加容易。 这些项目是开源一部分,可帮助开发人员将健壮的地理空间数据库扩展扩展到而无需编写复杂SQL语句。
传统上,当一个组织或个人使用空间数据时,他们从一个成长为GIS的产品开始。 有许多高质量的开源GIS产品( , , 等),但是它们可能与现代的云原生软件设计方法不符。
Kubernetes的普及给这些遗留应用程序带来了自动化和部署方面的挑战,因为它们需要大量的手动配置,例如,在添加和修改数据源时。 在许多设置中,这些空间应用程序必须存在于Kubernetes之外,并且无法利用其提供的许多便利。
相反,现代空间服务应由它们正在处理和提供服务的空间数据驱动。 他们应与现代软件开发实践保持一致,并进行有效扩展,并轻松与开发人员工作流集成。
具有空间意识的应用程序还需要确保它们可以处理空间数据的独特特征(例如,几何形状,投影等)。 除非您拥有一个功能强大的数据库来为您完成大部分工作,否则要在独立的微服务中完成所有这些工作可能是一项挑战。 这就是pg_tileserv和pg_featureserv的帮助,因为这两个项目都利用了PostGIS(PostgreSQL开源地理空间扩展)的功能,通过简单的REST框架提供了高级的空间功能。
pg_tileserv是用Go语言编写的轻量级矢量切片服务器,使您可以直接从PostGIS生成 。 它通过以最佳实践方法实现ST_AsMVT()函数(将HTTP请求转换为数据库)来实现此目的。 它包含一些通用默认值,这些默认值使您可以将数据库连接URL传递到服务器,并且可以立即启动并运行。 没有安装和配置的重量级软件,它是为云原生GIS应用程序设计的。
有关如何使用它的特定示例,请查看我们的博客文章有关 和 。
pg_featureserv是用Go编写的轻量级服务,使您可以直接在PostGIS之外提供功能。 它实现了的功能,并为PostGIS中包含的空间数据和功能提供了标准的REST端点。 就像pg_tileserv一样,没有要安装的重量级软件。 只需将数据库连接URL传递到您的PostGIS数据库,就可以开始比赛了。 有关如何使用它的特定示例,请查看有关 。
凭借我们在开发PostGIS和构建PostGIS支持的应用程序方面的深厚背景,我们希望帮助开发人员以易于部署,扩展和维护的方式释放空间数据的所有价值。 如pg_tileserv和pg_featureserv的源代码所示,我们只是利用了PostGIS中已经存在的功能。 这使开发人员可以快速将空间数据添加到其应用程序中,并使数据科学家专注于数据。
这种方法的好处是:
同样,由于这些服务响应数据库的配置,因此它们还公开了数据库中包含的功能。 数据科学家可以开发数据库中的功能,而这些功能可以通过REST API立即使用,而不必开发其数据功能以后再将其合并到软件中。 该软件开始淡出后台,因此组织可以专注于数据。
可以这么说,我们对这些新的地理空间服务感到非常兴奋,我们当然希望您对它们提供反馈。 随时检查和 ,尝试使用将它们与PostGIS数据库一起部署,并在评论中分享您的反馈。
翻译自:
gis扩展程序
转载地址:http://tdbzd.baihongyu.com/