Convert Feature Layer to an array of Polygons in ArcGIS JS?
http://stackoverflow.com/questions/42212332/convert-feature-layer-to-an-array-of-polygons-in-arcgis-js
by Alex Azuero
HTML
<link rel="stylesheet" href="https://js.arcgis.com/3.19/esri/css/esri.css">
<script src="https://js.arcgis.com/3.19/init.js"></script>
<script type="text/javascript">
var dojoConfig = {
async: true
};
</script>
<div id="map">
</div>
CSS
body,
html {
width: 100%;
height: 100%;
margin: 0;
padding: 0;
}
#map {
height: 100%;
width: 100%;
margin: 0px;
}
JavaScript
require([
'esri/map',
'esri/layers/FeatureLayer',
'dojo/on',
'esri/geometry/Polygon'
], function(
Map,
FeatureLayer,
on,
Polygon
) {
var map = new Map("map", {
center: [-98.085594, 38.52909564],
zoom: 8,
basemap: "topo"
});
var fl = new FeatureLayer('https://sampleserver1.arcgisonline.com/ArcGIS/rest/services/Petroleum/KGS_OilGasFields_Kansas/MapServer/0');
map.addLayer(fl);
on(map, 'update-end', () => {
let polygons = [];
fl.graphics.forEach((graphic) => {
console.log('graphic', graphic)
let p = new Polygon({
"rings": graphic.geometry.rings,
"spatialReference": graphic.geometry.spatialReference
});
polygons.push(p);
});
console.log('polygons:', polygons);
})
});