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.3. 标签

OSM标记作为JSON存储在单个字段中。看见 JSON属性 有关查询和选择单个标记的详细信息,请参阅。

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-nodesosm-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