erluxman
erluxman

Reputation: 19415

Get coordinates of geogson feature in Mapbox

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 that's just a sugar for the GeoJson interface itself.

Upvotes: 7

Views: 3835

Answers (2)

erluxman
erluxman

Reputation: 19415

I just found that Each Feature expose the method .geometry() which we can cast to any 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()

Upvotes: 8

riastrad
riastrad

Reputation: 1774

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]

Upvotes: 1

Related Questions