我对各种空间ETL(提取,变换,加载)工具的优缺点感兴趣。如果您使用过此处列出的项目(或添加您自己的项目),我会征求您的意见和经验。我特别希望看到以下方面的可用性比较:




安全软件FME(专有)

ArcGIS Data Interoperability Extension(专有,子集的子集) FME功能)

Talend Spatial扩展(以前是Spatial Data Integrator)(开放源代码)

GeoKettle(开放源代码)

ogr2ogr(我不我不知道这是真正的ETL,但更多的是文件翻译工具集)
列出的所有其他内容

没有必要对提到的所有软件进行综述。如果您有经验,那么这对于决定选择哪个方向将非常有益。

示例:我正在寻找一个模式转换函数,该函数可以让我选择输入层,创建翻译,然后输出到新的预定义架构。理想情况下,创建翻译脚本后,我希望有一个交互式表单,可以在其中将输入层中的字段“映射”到输出层(即,输出层中将有一个名为“ Address”的字段,即所谓的“地址”在输入层中?)

问与答中提到了一些内容,哪些工具可用于将gis数据上传到数据库?

这里有一些相关的文章我发现。


http://fuzzytolerance.info/code/open-source-etl-tools/
http://geobiwiki.spagoworld.org/xwiki/bin/view/ Main / Talend + GeoKettle
http://slashgeo.org/2011/07/25/Open-Source-ETL-Tools-GeoKettle-20-and-Spatial-Data-Integrator-420-Released


#1 楼


该问题已转换为社区Wiki,并且维基百科已锁定
,因为它是一个寻求答案列表的问题的示例,并且似乎很受欢迎,可以防止其被关闭。
应该视为特例,不应将其视为此问题或任何Stack Exchange网站上鼓励的问题的类型,但是如果您希望提供更多内容,然后可以自由地通过编辑此答案来做到这一点。



我只会谈论我在专业背景下看到的内容。我的一名学生与一家企业合作,负责接收,验证并将来自知名数据源(TeleAtlas)的大量空间数据集成到GIS中。她使用FME使用了多个工作流程,可以进行非常复杂的验证和转换,从一种格式到另一种格式,例如特征选择,拓扑验证,重复项删除等。此后,该工作流程能够自动处理传入的数据集。

我正在陪审团审阅一份活期缓刑报告(对不起,google对“ soutenance de rapport de stage”的翻译),学生描述了另一个类似的FME工作流程,但这一次是为了验证发送给国家级别,以整合到国家风险数据库中。主要区别在于,在最后一个示例中,数据集的文件格式,栅格和矢量,比例和样式非常不同。

最后,我测试了Spatial Data Integrator,它是基于Talend Open Studio的开源ETL。功能众多,但少于FME,但我认为主要区别在于文档和工作流创建的用户友好性。我经常被迫修改工作流组件的Java代码源。但这是SDI的早期版本,我在这里描述的缺点在开始时对于开放源代码项目来说是很常见的,我们无法在相同水平上比较专有的完善软件和免费的开放源代码年轻竞争者。

#2 楼

对于最近使用数GB空间数据的项目,我开始使用FME进行数据加载/重新投影。它运行良好,但是有一个学习曲线。

在项目结束时,我正在使用Python脚本来自动化重新审核过程。 FME可以编写脚本,但是如果您具有Python基础知识,为什么还要进一步复杂化呢? Python为您提供了完全的灵活性,并且通过编写每个导入脚本,您的Python技能都在提高。

我发现以下Python软件包在处理数据转换时非常有价值:


PyProj
GeoPy
Shapely

xlrd用于从Excel电子表格中导入数据

pyobdc以连接到数据库

SQLAlchemy来运行SQL语句并使用数据库

开发人员/编程背景我建议使用Python,如果您更喜欢使用GUI(它也可以为文档生成漂亮的图像),我建议FME。

#3 楼

我喜欢开源,但据我所知,FME很容易在开源ETL中胜出。实际上,它在维护和支持方面也相当便宜(至少与我们拥有的其他大多数公司解决方案相比)。

如果您正在寻找格式之间的转换,那么OGR可以做到(使用一些管道)转换为GDAL)。当然,这是命令行。

对于可视化建模,除了“可能重复的”注释中列出的那些建模之外,他们正在使用QGIS / SEXTANTE模型构建器;概念验证视频:https://www.youtube.com/watch?v=LTUu-I2ouqU

(不,我不为Safe工作,我只是一个相对满意的客户) 。

评论


视频链接已断开。你能修好它吗?

– GeoStoneMarten
19-2-7在12:49



#4 楼

大多数简单的操作都可以通过这些开源实用程序来实现。


ogr2ogr用于矢量
gdal_translate和gdalwarp用于栅格

获取FWtools http: //fwtools.maptools.org/并尝试一下。

#5 楼

大约一年前,我对各种工具进行了比较,其中也包含了本线程中提到的大多数选项。

作为更直接的答案,由于其多功能性,我经常使用FME。但是,当我处理诸如CityGML,INSPIRE GML或更大的数据库模型之类的复杂数据结构时,我会使用HALE,这是一种为ETL特别是协调开发的开源应用程序。



当前(从2.9.0版开始)与FME(2014 SP1)的比较如下:


HALE格式(HALE:20,FME 200)和转换器(HALE:30 +,FME:400多种)的数量较少,但是对所有XML / GML方言的支持都很好。
HALE可以以交互方式预览转换结果地图和表格视图中,并直接验证输出
由于维护每个属性的本地上下文,HALE通常要快得多,从而为您节省了很多FeatureMergers,例如
HALE是开源的并且在生产中使用自2010年以来,
HALE使用了声明性映射UI,与程序方法相比,它导致所需的用户输入更少。

请注意,我在HALE团队工作了很多年。

评论


您如何看待它今天与FME的叠加?特别是对于Web和geoRSS数据提要?

– YSG博士
18年8月17日在16:56

@ YSG.Dr。Yhal的维护是在2015年由wetransform GmbH接管的,因此,现在有一支专门的团队负责其开发。在过去的四年中取得了长足的发展。更改记录在GitHub发行说明中。它支持处理JSON / GeoJSON数据。 GeoRSS是一种简单的XML格式,可重复使用GML的某些部分,因此也得到了完全的支持。要自动处理GeoRSS提要,您需要研究hale-cli(命令行界面和其他API)。

–tr_xsdi
18年8月19日在8:05



#6 楼

如果您查看blah238s重复链接,则会找到更多信息。我想说的是Talend Open Studio和Pentaho GeoKettle是人们可以选择的最杰出的开源解决方案。据我所读,这两个Talend目标不仅是ETL和GeoKettle,还更易于使用。

我的自治市将要让GeoKettle编写由GTL编写的GML方言瑞典地方当局和地区协会(SALAR),我们需要这种格式才能将地理数据传递到不同的商业领域。

我相信GeoKettle从2.0版开始支持OGR / GDAL。

#7 楼

FME可能是在该领域中使用的最佳产品。之后是GDAL / OGR。这个领域中的另一个开源产品是geokettle-http://www.spatialytics.org/projects/geokettle/,尽管我从未在愤怒中使用过它(很幸运能同时提到其他两个产品)。

如果这些通用选项都不起作用,则可能要使用特定的转换工具。

#8 楼

除非您习惯使用Eclipse UI,否则请忠实地将Geokettle用于一个小项目的高学习曲线...确实功能强大,因为它针对GDAL1.10进行编译,支持所有地理类型...我喜欢它对存储的数据和通过服务的数据的支持...我使用它来通过ESRI json在本地Postgis实例上重新创建和同步ArcGIS Server数据集,并将其同步到GeoJSON ...工作流可以建立条件并进行验证,以查询#objectid并基于该ID编译预定义的csv根据第一个查询一次迭代500个功能的发布请求,从而能够将所有请求合并到一个geojson文件中,运行ogr2ogr以加载到postgis甚至脚本化postgis以运行真空并对其进行索引...风扇

您可以在桌面gui上运行它并映射工作流,并使用pentahos服务器工具在Hadoop上进行设置并将其作为脚本或cron作业运行。

#9 楼

QGIS(至少从当前的2.6版本开始)现在还具有集成的模型构建器。通过此工具箱,您可以访问各种算法(GDAL,GRASS,SAGA,vectortools等)。您还可以添加自己的脚本。

我必须承认我没有广泛使用它,但是如果我正在寻找模型构建者,我认为它值得研究。

#10 楼

[警告:我所参与产品的无偿促销]

我们一直在研究执行ETL的工具。它的风格类似于FME,但设计用于更简单的任务,并且需要较少的专业知识。可以在https://www.geoactive.cn上找到一些详细信息。它只是查找有关Data Dragon的信息。此应用程序在后端使用GDAL / OGR,我们会将任何添加到GDAL / OGR的内容推回。

商业用途需要购买,但我们确实有免费的学术许可证,因此如果您想将其用于学习,请给我发消息,我会为您提供更多详细信息。

这是它的早期发布阶段,因此仍然存在一些小错误,因此请与我们保持温和。