Hello,
I recently tried upgrading from v4.10 to v4.12 and encountered some breaking changes where my choropleth lost its fill. v4.11 is not affected, and from my understanding, v4.12 implemented a paradigm shift for performance improvements - renderers not working correctly appears to be a common complaint, maybe from the following in the release notes:
As part of performance optimizations, incorrect polygon geometries that don't follow the expected clockwise order, no longer display. Polygon rings should be clockwise, with counterclockwise rings considered holes.
I am fetching a geojson from ArcGIS Server; a copy of those data has been attached (geom.geojson). Here's a screenshot from the debugger:
...and the code I'm using to create the graphics:
data = jsonData;
const graphicsPromise = promiseUtils.create(function (resolve,
reject) {
const graphics = data.features.map(function (feature, i) {
// create a polygon instance from the GeoJSON data
const polygon = new Polygon({
//spatialReference: SpatialReference.WGS84
spatialReference: new SpatialReference(6343)
});
// read the GeoJSON's geometry and add to the polygon rings
feature.geometry.coordinates.forEach(function (coord) {
const coordinates = feature.geometry.type ===
"MultiPolygon" ? coord[0] : coord;
polygon.addRing(coordinates);
});
const graphic = {
geometry: polygon,
attributes: feature.properties
};
return graphic;
});
Here's what's rendering:
...and the renderer in the FeatureLayer:
renderer: {
type: "class-breaks",
defaultLabel: "No data",
defaultSymbol: defaultSym,
visualVariables: [{
type: "color",
field: "val",
stops: [{
value: minMax.min,
color: "#cce3ff"
}, {
value: minMax.max,
color: "#0034b7"
}
]
}
]
}
In 4.13 and version < 4.12, it works fine:
I noticed there were some breaking changes to a module I wasn't using, so I removed it... but, this does have me concerned since we'd be using a version that isn't supposed to be live yet. When will it deploy officially? Do we know yet what the issue is? I see some talk about loading rings clockwise... shouldn't everything be OK if I'm pulling geojson from a query against an ArcGIS Server (v10.6) REST node on a layer that checks-out topologically?
Solved! Go to Solution.
Chris,
Normally it comes out the week or so after AGOL gets updated. So real soon...
Chris,
Normally it comes out the week or so after AGOL gets updated. So real soon...
And I did see in the FAQ - Frequently Asked Questions | ArcGIS API for JavaScript 4.12
We release four times a year. Version 4.12 is planned for summer 2019, and version 4.13 is planned for fall 2019.
I'm hoping to narrow it down between now and December 21st, lol!
Yes, lol. Very soon.
4.13 was just released!
I just noticed! Good timing!