A GeoJson feature looks like this :

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

In Mapbox using Java/JVM we can construct the feature like this :

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

But I don't seem to find a method to get coordinates/point back from the feature.

There is a Feature#getGeometry() but I can't get the coordinates from that either as thats just a sugar for the GeoJson interface itself.

Any help will be extremely appreciated.

2 Answers

1
erluxman On Best Solutions

I just found that Each Feature expose #geometry() which we can cast to its type (Point, Line, polygon, Multipoit.. etc). From there we can get the either Point or List<Point>.

Example :

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

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

Each feature has a .coordinates() method that returns a List<Point> or List<List<Point> object (unless you're calling it on a Point feature, in which case it will return a List<Double>.

[source: core API's geojson documentation]