操作方法
与点要素不同,具有面积的面要素的坐标不确定。 因此,要确定面要素的坐标,需要计算面的质心。 质心是表示面要素的中心的点要素。
本文将介绍在 ArcGIS Online 中使用 Arcade 表达式基于面要素的质心计算其坐标的工作流。



//return the geometry of the feature
var poly = Geometry($feature);
var result = "";
//return the centroid of the polygon feature
if (!IsEmpty(poly)) {
var pnt_centr = Centroid(poly);
Console(pnt_centr);
result = "(" + Round(pnt_centr.X, 2) + ", " + Round(pnt_centr.Y, 2) + ")";
}
//return the result
return result

Coordinate 字段填充了面要素质心的坐标。 坐标的单位遵循地图的坐标系。

或者,要以十进制度为单位计算坐标,请在表达式框中使用以下 Arcade 表达式:
function MetersToLatLon(mx, my) {
var originShift = 2.0 * PI * 6378137.0 / 2.0;
var lon = (mx / originShift) * 180.0;
var lat = (my / originShift) * 180.0;
lat = 180.0 / PI * (2.0 * Atan( Exp( lat * PI / 180.0)) - PI / 2.0);
return [lat, lon];
}
var poly = Geometry($feature);
var result = "";
if (!IsEmpty(poly)) {
var pnt_centr = Centroid(poly);
var latlon = MetersToLatLon(pnt_centr.x, pnt_centr.y);
result = "(" + Round(latlon[0], 6) + ", " + Round(latlon[1], 6) + ")";
} else {
result = "";
}
return result
Lat_Long 字段填充了以十进制度为单位的面要素质心的坐标。

文章 ID: 000028324
获取来自 ArcGIS 专家的帮助
立即开始聊天