HOW TO
ArcGIS Arcade expressions can be used to calculate the longest side of a polygon. This can be useful in various applications, such as dividing buildings into sections, designing office layouts, or constructing car parking facilities.
This article demonstrates how to calculate the longest side of a polygon using ArcGIS Arcade in Portal for ArcGIS and ArcGIS Online.
function calculateDistanceGeodetic(point1, point2) {
var distance = DistanceGeodetic(point1, point2, 'meters');
return distance;
}
var geometry = Geometry($feature);
var maxDistance = 0;
var rings = geometry.rings;
for (var i = 0; i < Count(rings); i++) {
var points = rings[i];
for (var j = 0; j < Count(points) - 1; j++) {
var point1 = Point(points[j]);
var point2 = Point(points[j + 1]);
var distance = calculateDistanceGeodetic(point1, point2);
if (distance > maxDistance) {
maxDistance = distance;
}
}
var lastPoint = Point(points[Count(points) - 1]);
var firstPoint = Point(points[0]);
var closingDistance = calculateDistanceGeodetic(lastPoint, firstPoint);
if (closingDistance > maxDistance) {
maxDistance = closingDistance;
}
}
return maxDistance;
The code block below shows the example of the full working script.
function calculateDistanceGeodetic(point1, point2) {
var distance = DistanceGeodetic(point1, point2, 'meters');
return distance;
}
var geometry = Geometry($feature);
var maxDistance = 0;
var rings = geometry.rings;
for (var i = 0; i < Count(rings); i++) {
var points = rings[i];
for (var j = 0; j < Count(points) - 1; j++) {
var point1 = Point(points[j]);
var point2 = Point(points[j + 1]);
var distance = calculateDistanceGeodetic(point1, point2);
if (distance > maxDistance) {
maxDistance = distance;
}
}
var lastPoint = Point(points[Count(points) - 1]);
var firstPoint = Point(points[0]);
var closingDistance = calculateDistanceGeodetic(lastPoint, firstPoint);
if (closingDistance > maxDistance) {
maxDistance = closingDistance;
}
}
return maxDistance;
The image below shows the result of calculating the longest side of a polygon using ArcGIS Arcade in the attribute table.
Article ID: 000033145
Get help from ArcGIS experts
Download the Esri Support App