有什么方法可以方便地在Geomesa上使用GeoJSON吗?

问题描述 投票:0回答:1

我不想建立一个 Geomesa Datastore,只是想使用 Geomesa Spark Core/SQL 模块在火花上做一些空间分析处理。我的数据源是一些Hdfs上的GeoJson文件。然而,我必须创建一个 SpatialRDDSpatialRDDProvider.

有一个 Converter RDD Provider 在Geomesa的文件中,我可以选择GeoMesa的例子。

import com.typesafe.config.ConfigFactory
import org.apache.hadoop.conf.Configuration
import org.geotools.data.Query
import org.locationtech.geomesa.spark.GeoMesaSpark

val exampleConf = ConfigFactory.load("example.conf").root().render()
val params = Map(
  "geomesa.converter"        -> exampleConf,
  "geomesa.converter.inputs" -> "example.csv",
  "geomesa.sft"              -> "phrase:String,dtg:Date,geom:Point:srid=4326",
  "geomesa.sft.name"         -> "example")
val query = new Query("example")
val rdd = GeoMesaSpark(params).rdd(new Configuration(), sc, params, query)

我可以选择GeoMesa的 JSON Converter 来创建SpatialRDD。然而,似乎有必要将所有的字段名和类型都分配在 geomesa.sft paramater和一个转换器配置文件。如果我有很多GeoJson文件,我必须一个一个的手动操作,这显然是非常不方便的。

有什么方法可以让Geomesa转换器从文件中推断出字段名和类型?

gis geomesa
1个回答
0
投票

是的,GeoMesa可以推断出类型和转换器。对于scalajava,请看这个 单元测试. 或者,GeoMesa CLI工具可以提前使用,将类型和转换器持久化到可重复使用的文件中,使用的是 转化 命令(类型推理在链接的 摄取 命令)。)

© www.soinside.com 2019 - 2024. All rights reserved.