How do I specify Meters in GeometryEngine.buffer(geometry, distanceInAngular)

1055
1
10-19-2017 11:57 AM
stevemclaughlin
New Contributor III

Hi, I'm trying to create a buffer with Meters as the distance, but the default unit of measure for my spatialReference is AngularUnit -

 System.out.println( mapView.getSpatialReference().getUnit()) = com.esri.arcgisruntime.geometry.AngularUnit@23d2e6db

I'm using spatialReference= WGS84

System.out.println( mapView.getSpatialReference().getWkid()) = 4326

                System.out.println( mapView.getSpatialReference().getWKText()) = GEOGCS["GCS_WGS_1984",DATUM["D_WGS_1984",SPHEROID["WGS_1984",6378137.0,298.257223563]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]]

  

How do I convert meters to Angular or how do I use meters as an input to

GeometryEngine.buffer(geometry, distanceInMeters)

thanks,

0 Kudos
1 Reply
AbhishekKabra
Esri Contributor

If you want to specify buffer distance in meters you could use bufferGeodetic method on geometry engine.

Polygon result = GeometryEnginer.bufferGeodetic(input_geometry, new LinearUnit(LinearUnitId.METERS ), maxDeviation, curveType);

For more details click on bufferGeodetic.

0 Kudos