9.16.9. 海洋地籍AIS

Automated Identification System 是一个跟踪船只的全球系统,每艘船向其他(附近)船发出自己的位置信号。虽然存在各种商业数据提供程序,但此转换器旨在用于由美国海岸警卫队在美国各地收集的数据,并由 Marine Cadastre

在2015年之前,这些数据以包含多个表的压缩ESRI文件地理数据库的形式传播。只有 broadcast 这里考虑的是表,它包含一段时间内的船只位置。请注意,应美国海岸警卫队的要求,已删除船名和呼号字段,并对2010至2014年的数据加密了MMSI(海上移动服务身份)字段。

对于2015年及以后的版本,数据以压缩逗号分隔值(CSV)文件的形式传播,该文件已用其他船只数据(例如,船只名称)进行了丰富,并包括未加密的MMSI值。

9.16.9.1. 获取数据

可以找到大量数据下载的机器友好链接 here 。将四位数的年份替换为所需的年份(2009-2017),然后将数据拆分为月份和 UTM Zone 。下载数据后,必须将其解压缩,例如

find . -name "*.zip" -exec unzip {} \;

9.16.9.2. 2015年前数据折算

GeoMesa目前不支持ESRI文件地理数据库(FileGDB),因此需要外部工具将数据转换为合适的格式。 ogr2ogr from GDAL 可以将FileGDB转换为逗号分隔值(CSV)格式,例如

find . -name "*.gdb" -exec sh -c "ogr2ogr -f CSV /dev/stdout {} Broadcast -lco GEOMETRY=AS_XY | tail -n +2 > {}.csv" \;

请注意, tail 命令从输出文件中删除标题行,使接收更易于使用HDFS或类似文件系统进行处理。另请注意,生成的CSV文件可能非常大--2009和2019年的数据为264 GB。

9.16.9.3. 摄取命令示例

由于两种不同的格式,需要两种不同的简单要素类型(SFT)和转换器,两者都在同一文件中定义。 marinecadastre-ais 定义从FileGDB格式(2015年之前)转换为CSV的数据的SFT和转换器,而 marinecadastre-ais-csv 以较新的CSV格式(2015及更高版本)本机定义数据的SFT和转换器。

检查所需的简单要素类型和转换器在GeoMesa工具类路径上是否可用。这是默认情况。请注意,您需要使用特定于您的后端的命令,例如 geomesa-accumulo

geomesa env | grep 'marinecadastre-ais'

如果不是,则合并 reference.conf 使用 $GEOMESA_HOME/conf/application.conf ,或确保 reference.conf vt.在.中 $GEOMESA_HOME/conf/sfts/marinecadastre-ais

要使用GeoMesa命令行界面摄取:

$ geomesa ingest -u username -c catalogName -s marinecadastre-ais -C marinecadastre-ais -t 8 /path/to/data/*.csv

你应该换掉 marinecadastre-ais 使用 marinecadastre-ais-csv 如果使用2015年或更晚的数据。

本例使用8个线程,对于2009和2010年的所有数据(大约3.5B条记录),在5节点集群上花费了15小时。