从arc在线Feature Service中提取或废弃数据到Postgres数据库中

225
7
01-03-2023上午10:02
标签(2)
Lbookman_WVE
通过
新贡献者II

我正在寻找的想法提取或废弃的数据从电弧在线功能服务到Postgres数据库。也有可能有一个恒定的连接到一个arc服务,所以它导入更新的服务?

我需要将FAA gis层带入应用程序。https://services6.arcgis.com/ssFJjBXIUyZDrSYZ/arcgis/rest/services/Digital_Obstacle_File/FeatureServ..。

所以我想要连接到联邦航空局的数据。所有其他层将以JSON的形式存储在Postgres数据库中。

标签(2)
0荣誉
7回复
DougGreen
通过
临时贡献者II

你有ESRI桌面软件吗?如果是,您可以使用特征类到特征类工具首先将数据从特性服务转换为shapefile。然后你可以使用OGR2OGR将其转换为GeoJSON,然后将其添加到Postgres数据库中。

0荣誉
Lbookman_WVE
通过
新贡献者II

是的,但我正在努力保持恒定的连接,以获得联邦航空局每28天发布的更新。所以我想把数据公布在Postgres数据库。所以我可以使用OGR2OGR,但只是想知道是否有其他方法。

0荣誉
DougGreen
通过
临时贡献者II

是的,我建议通过python脚本。您也可以通过python使用“subprocess”调用OGR2OGR在这里

0荣誉
Lbookman_WVE
通过
新贡献者II

是否有一种方法来检查数据是否已更新,如果已更新,则将其插入数据库?

0荣誉
DougGreen
通过
临时贡献者II

我不知道如何确定最近的更新,但这并不意味着没有方法。如果添加、删除或更改了个别数据记录,并且它们将更新日期存储在字段值中,则可以循环遍历字段值以检查比上次更新时间更新的任何日期。

0荣誉
Lbookman_WVE
通过
新贡献者II

好吧!如果服务有更新,您是否知道serviceItemId是否会更新?

0荣誉
DougGreen
通过
临时贡献者II

它不应该作为定期更新的一部分。这是故意的。如果是这样的话,他们将不得不在每次更新图层时重新指向所有的地图。这可以改变,但这通常是由于重新设计的层,但我不希望发生这种情况。你可以查看REST API查看是否有某些属性可以公开上次更新。但我要告诉你的是,我的大多数图层都只是执行“编辑”,这不会改变“LastUpdated”属性(如果有的话)。

0荣誉