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小时。