Last active
April 26, 2019 22:04
-
-
Save nommuna2/aa180a2a714c8ef62fcbabdc79b88972 to your computer and use it in GitHub Desktop.
(ArcGIS API for JavaScript) Sample of simplifying polygons using 4.x
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
require([ | |
"esri/Map", | |
"esri/views/MapView", | |
"esri/layers/FeatureLayer", | |
"esri/tasks/support/Query", | |
"esri/tasks/QueryTask", | |
"esri/geometry/geometryEngineAsync", | |
"dojo/domReady!" | |
], | |
function (Map, MapView, FeatureLayer, Query, QueryTask, geometryEngineAsync) { | |
let verticesLayer = new FeatureLayer({ | |
url: "url to feature layer" | |
}); | |
//Create a new map and set the basemap to Dark gray | |
var map = new Map({ | |
basemap: "dark-gray", | |
}); | |
//set a new view and set the properties of the view | |
var view = new MapView({ | |
container: "viewDiv", | |
map: map, | |
center: [-86.049, 38.485], | |
zoom: 3 | |
}); | |
//Setting up the renderer | |
var citiesRenderer = { | |
type: "simple", | |
symbol: { | |
type: "simple-fill", | |
size: 6, | |
color: "black", | |
outline: { | |
width: 0.5, | |
color: "white" | |
} | |
} | |
}; | |
//Setting up the query | |
var query = new Query(); | |
query.where = "1=1"; | |
query.outFields = ["*"]; | |
query.maxAllowableOffset = 10; | |
query.returnGeometry = true; | |
//After the layer loads, run a query on the layer, then loop through each layer and simplify each geometry. Then replace each geometry with the query results. | |
verticesLayer.load().then(() => { | |
verticesLayer.queryFeatures(query).then((results) => { | |
results.features.forEach((element) => { | |
//geometryEngineAsync.generalize(element.geometry, 7, true) - for a more defined method | |
geometryEngineAsync.simplify(element.geometry).then((genResults) => { | |
results.features.geometry = genResults; | |
}); | |
}, this); | |
//Create a new feature layer with the simplified geometries | |
let myfeaturelayer = new FeatureLayer({ | |
source: results.features, | |
fields: results.fields, | |
objectIdField: "ObjectID", | |
geometryType: results.geometryType, | |
spatialReference: results.spatialReference, | |
renderer: citiesRenderer | |
}); | |
map.add(myfeaturelayer); | |
}); | |
}); | |
}); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment