Polygon renderer issue fixed in v4.13 - when's the release date?

1053
5
Jump to solution
10-09-2019 01:48 PM
ChrisSmith7
Frequent Contributor

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?

0 Kudos
1 Solution

Accepted Solutions
RobertScheitlin__GISP
MVP Emeritus

Chris,

  Normally it comes out the week or so after AGOL gets updated. So real soon...

View solution in original post

5 Replies
RobertScheitlin__GISP
MVP Emeritus

Chris,

  Normally it comes out the week or so after AGOL gets updated. So real soon...

ChrisSmith7
Frequent Contributor

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!

0 Kudos
ReneRubalcava
Frequent Contributor

Yes, lol. Very soon.

Noah-Sager
Esri Regular Contributor

4.13 was just released!

0 Kudos
ChrisSmith7
Frequent Contributor

I just noticed! Good timing!