Skip to content

Instantly share code, notes, and snippets.

@steveoh
Created January 10, 2023 18:02
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save steveoh/32a7974412ed1579e7e47e0461b686e2 to your computer and use it in GitHub Desktop.
Save steveoh/32a7974412ed1579e7e47e0461b686e2 to your computer and use it in GitHub Desktop.
arcade expression to assign address systems
var layerName = 'Address Systems';
var set = FeatureSetByName($datastore, layerName);
function getAttributeFromLargestArea(feat, set, field) {
var items = intersects(set, feat);
var counts = count(items);
if (counts == 0) {
return { 'errorMessage': 'No intersection found' };
}
if (counts == 1) {
var result = first(items);
return result[field];
}
var largest = -1;
var result;
for (var item in items) {
var size = area(intersection(item, feat));
if (size > largest) {
largest = size;
result = item[field];
}
}
return result;
}
function getGrid(feat, set, field, offset) {
var offset = Offset(feat, offset)
return getAttributeFromLargestArea(offset, set, field);
}
var rightResult = getGrid($feature, set, 'GRID', 50);
var leftResult = getGrid($feature, set, 'GRID', -50);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment