操作方法
与点要素不同,具有面积的面要素的坐标不确定。 因此,要确定面要素的坐标,需要计算面的质心。 质心是表示面要素的中心的点要素。
本文将介绍在 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 专家的帮助
下载 Esri 支持应用程序