9.16.7. OpenStreetMap数据¶
OpenStreetMap 是一个免费的、可编辑的全球地图,主要是由志愿者从头开始建立的,并以开放内容许可证发布。
9.16.7.1. 获取OSM数据¶
各种数据切片可供下载 here 以XML或二进制PBF格式。
9.16.7.2. 节点VS路¶
OSM文件包括两种数据类型-节点和方式。结点是点要素;道路是由几个结点组成的线串。为了摄取方式,必须对相关节点进行临时存储。默认情况下,OSM转换器将使用基于文件的H2数据库来存储节点。但是,对于大文件来说,这可能还不够。看见 Ingest Configuration 有关详细信息,请参阅以下内容。
9.16.7.4. 安装OSM转换器¶
由于一些依赖冲突,默认情况下,OSM转换器不随GeoMesa工具一起提供。要安装它,目前需要源代码发行版和Maven。从以下位置下载或克隆项目 Github 。通过查看正确的Git分支或下载适当的标签,确保版本与您的GeoMesa工具版本匹配。运行以下命令:
mvn clean install -DskipTests
mvn dependency:copy-dependencies -pl geomesa-convert/geomesa-convert-osm/ \
-DincludeScope=compile -DoutputDirectory=$GEOMESA_HOME/lib
cp geomesa-convert/geomesa-convert-osm/target/geomesa-convert-osm_2.12-$version.jar \
$GEOMESA_HOME/lib
检查是否有 osm-nodes
和 osm-ways
GeoMesa工具类路径中提供了简单的要素类型:
$ geomesa-accumulo env | grep osm-nodes
$ geomesa-accumulo env | grep osm-ways
9.16.7.5. 接收配置¶
OSM转换器和简单要素类型在中定义 $GEOMESA_HOME/conf/sfts/osm/reference.conf
。要接收XML文件而不是PBF,您需要更改 format
要输入的字段 xml
。对于接收OSM的方式,您还可以指定用于存储节点的JDBC连接字符串。注意,您需要适当的JDBC驱动程序JAR $GEOMESA_HOME/lib
9.16.7.6. 接收命令¶
进行摄取。您可以选择使用以下命令指向不同的Acumulo实例 -i
和 -z
选择。看见 geomesa-accumulo help ingest
了解更多详细信息。
$ geomesa-accumulo ingest -u USERNAME -c CATALOGNAME -s osm-nodes -C osm-nodes test.osm