在 Mapbox 中获取 geogson 要素的坐标

Get coordinates of geogson feature in Mapbox

GeoJson 功能如下所示:

{
  "type": "Feature",
  "properties": {},
  "geometry": {
    "type": "Point",
    "coordinates": [
      43.59375,
      59.17592824927136
    ]
  }
}

Mapbox 中使用 Java/JVM 我们可以像这样构建特征:

val testFeature = Feature.fromGeometry(Point.fromLngLat(2.0,3.0))

但我似乎没有找到从该功能恢复 coordinates/point 的方法。

有一个 Feature#getGeometry() 但我无法从中获取坐标,因为它只是 GeoJson 界面本身的一个糖。

每个功能都有一个 .coordinates() 方法,该方法 return 是一个 List<Point>List<List<Point> 对象(除非您在 Point 功能上调用它,在这种情况下,它将 return 一个 List<Double>

[来源:core API's geojson documentation]

我刚刚发现每个要素都公开了方法 .geometry(),我们可以将其转换为任何类型 (点、线、多边形、多点等)。从那里我们可以得到 either Point or List<Point>

示例:

val position1 = feature1.geometry() as Point
val longitude = position1.longitude()

val area1 = feature2.geometry() as MultiPoint
val firstPointLatitude = area1.coordinates()!![0].latitude()