在Mapbox中获取geogson要素的坐标

时间:2019-01-27 04:06:37

标签: java android mapbox geojson mapbox-android

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

但是我似乎没有找到一种从要素中获取坐标/点的方法。

有一个Feature#getGeometry(),但我也不能从中得到坐标,因为那只是GeoJson接口本身的糖。

2 个答案:

答案 0 :(得分:1)

每个功能都有一个.coordinates()方法,该方法返回一个List<Point>List<List<Point>对象(除非您在Point功能上调用它,否则它将返回一个List<Double>

[来源:core API's geojson documentation]

答案 1 :(得分:1)

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

示例:

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

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