ArcGIS Runtime

ArcGIS Runtime

调用ShapefileFeatureTable.getGeometryType返回几何类型

回复

张赛 回复了问题 • 1 人关注 • 1 个回复 • 25 次浏览 • 2018-02-05 00:00 • 来自相关话题

调用ShapefileFeatureTable.getGeometryType返回几何类型是Unknown

ArcGIS for Android 100.2.0中如何计算面要素的周长

回复

张赛 回复了问题 • 1 人关注 • 1 个回复 • 21 次浏览 • 2018-02-05 00:00 • 来自相关话题

ArcGIS for Android 100.2.0中如何计算面要素的周长
条新动态, 点击查看
张赛

张赛 回答了问题 • 2018-02-05 00:00 • 1 个回复 不感兴趣

调用ShapefileFeatureTable.getGeometryType返回几何类型

赞同来自:

【解决办法】:
这一问题和ArcGIS Runtime SDK 100系列中的Loadable异步加载机制有关系,需要在加载完成的回调函数中进行判断


shapefileFeatureTable = new ShapefileFeatureTable(En... 显示全部 »
【解决办法】:
这一问题和ArcGIS Runtime SDK 100系列中的Loadable异步加载机制有关系,需要在加载完成的回调函数中进行判断


shapefileFeatureTable = new ShapefileFeatureTable(Environment.getExternalStorageDirectory().getAbsolutePath() + /ArcGIS/shapefile/center.shp);
shapefileFeatureTable.loadAsync();
shapefileFeatureTable.addDoneLoadingListener(new Runnable() {
@Override
public void run() {
System.out.println(shapefileFeatureTable.getGeometryType());
}
});

张赛

张赛 回答了问题 • 2018-02-05 00:00 • 1 个回复 不感兴趣

ArcGIS for Android 100.2.0中如何计算面要素的周长

赞同来自:

【解决办法】:
对于面要素计算周长,可根据需要选择调用GeometryEngine提供的length(Polyline polyline)和lengthGeodetic(Geometry geometry, LinearUnit lengthUnit, Geo... 显示全部 »
【解决办法】:
对于面要素计算周长,可根据需要选择调用GeometryEngine提供的length(Polyline polyline)和lengthGeodetic(Geometry geometry, LinearUnit lengthUnit, GeodeticCurveType curveType)两个方法。

这两个方法的基本用法示例如下:
1 length(Polyline polyline)


Polygon polygon = new Polygon(pointCollection);
Polyline polyline = polygon.toPolyline();
double length = GeometryEngine.length(polyline)

注意:length方法返回的周长单位是由几何本身的空间参考决定的,因此,这一方法更适合平面坐标系下的几何对象。


2 lengthGeodetic(Geometry geometry, LinearUnit lengthUnit, GeodeticCurveType curveType)


PointCollection pointCollection = new PointCollection(SpatialReference.create(4326));
pointCollection.add(7850120.01, 442638.01);
pointCollection.add(7850120.01, 442739.01);
pointCollection.add(7851121.01, 442739.01);
pointCollection.add(7851121.01, 442638.01);
double length = GeometryEngine.lengthGeodetic(polygon, new LinearUnit(LinearUnitId.METERS), GeodeticCurveType.SHAPE_PRESERVING);


注意:1) 这里更加建议将几何转换为平面坐标系后再进行计算。
2) LinearUnitId和GeodeticCurveType请根据计算需要进行选取:

https://developers.arcgis.com/android/latest/api-reference/reference/com/esri/arcgisruntime/geometry/LinearUnitId.html
https://developers.arcgis.com/android/latest/api-reference/reference/com/esri/arcgisruntime/geometry/GeodeticCurveType.html

调用ShapefileFeatureTable.getGeometryType返回几何类型

回复

张赛 回复了问题 • 1 人关注 • 1 个回复 • 25 次浏览 • 2018-02-05 00:00 • 来自相关话题

调用ShapefileFeatureTable.getGeometryType返回几何类型是Unknown

ArcGIS for Android 100.2.0中如何计算面要素的周长

回复

张赛 回复了问题 • 1 人关注 • 1 个回复 • 21 次浏览 • 2018-02-05 00:00 • 来自相关话题

ArcGIS for Android 100.2.0中如何计算面要素的周长