in my code I do:
var buffers = geometryEngine.geodesicBuffer(
geometries, // geometries
[bufferDistance], // distance
"meters", // unit
true // unionResults into SINGLE polygon
);
But suddenly, for new layers, I get error msg "Not Implemented".
What in the layer(s) can cause such an error?
Dear Robert,
can you help please?
From my trials I understand that
if the layer spatial reference is 102100 (that is 3857 WGS 1984 Web Mercator) then from its geometries then I can create a buffer, by the code above,
but
if the layer spatial reference is wkid:2039 (Israel TM Grid) then when I try to create a buffer from its geometries by the code above, I get the error mentioned above.
So, what should I do? I need to create a buffer, and I need spatial reference = wkid:2039 (Israel TM Grid) in order that the automatic computed area for polygons will be correct.
Help will be gereatly appreciated!
Michael
Hi Michael,
I was having a similar problem. My solution was to use buffer() instead of geodesicBuffer().
From the documentation:
The GeometryEngine has two methods for buffering geometries client-side: buffer and geodesicBuffer. Use caution when deciding which method to use. As a general rule, use geodesicBuffer if the input geometries have a spatial reference of either WGS84 (wkid: 4326) or Web Mercator. Only use buffer (this method) when attempting to buffer geometries with a projected coordinate system other than Web Mercator.
This worked for me:
const point = new Point({
type: "point",
x: 187043,
y: 333702,
spatialReference: {
wkid: 28992
}
});
let buffer = geometryEngine.buffer(point, 100, "meters");