在 Android 中:我想通过在给定范围内的底图卫星视图上检测农场中的路径来自动绘制多边形。可能吗 ?。例如,我有几英亩的农场。当我用多边形特征标记农场时,我想进一步将此农场划分为英亩,并希望自动创建多个多边形特征。可能吗?有什么选择?
边缘检测可能有帮助吗?但是在 Android SDK 中可以进行边缘检测吗?
我可以在给定多边形内创建多个多边形并且每个小多边形的面积 = 1 ACRES
在 Android 中:我想通过在给定范围内的底图卫星视图上检测农场中的路径来自动绘制多边形。可能吗 ?。例如,我有几英亩的农场。当我用多边形特征标记农场时,我想进一步将此农场划分为英亩,并希望自动创建多个多边形特征。可能吗?有什么选择?
边缘检测可能有帮助吗?但是在 Android SDK 中可以进行边缘检测吗?
我可以在给定多边形内创建多个多边形并且每个小多边形的面积 = 1 ACRES
看来,您在这里要求的有几件事。
1. 从图像中提取特征
这不是 ArcGIS Runtime SDK 旨在直接执行的操作。
您也许可以使用栅格函数来帮助您处理影像,从而使派生子地块变得更简单,但您必须自己编写“从已处理影像提取到要素”的逻辑。请注意,您可以使用exportImage()获取当前地图显示以输入该自定义逻辑
您还应该查看一些ArcGIS Pro 影像工具。您可以使用其中一些桌面技术构建 GP 工具,并在您自己的 ArcGIS Enterprise 实例上发布 GP 服务以供您的移动应用程序使用。该应用程序可以让 GP 服务获取农场轮廓并返回派生特征。
2. 将多边形细分为 1 英亩的块
GeometryEngine 绝对可以在这里为您提供帮助(请参阅剪切操作 - 您可以将农场网格化并使用多条折线执行多次剪切)。但是,您似乎不只是想要规则的正交 1 英亩块,而是要遵循农场内可见的田地边界(考虑到道路、墙壁、树篱、水,也许还有建筑物等)。如果是这种情况,您将返回特征提取。
希望这可以帮助。目前它确实超出了 Runtime 的范围。没有“从该图像中查找特征”运行时 API。但是,根据数据的性质,可以使用工具(栅格功能、地图图像导出、自定义图像处理或自定义 GP 服务)来执行此操作。
List<PatternItem> patternItems = new ArrayList<>();
patternItems.add(new PatternItem(1,5.2f));
PolygonOptions firstPO = new PolygonOptions()
.add(new LatLng(33.333, 22.222))
.add(new LatLng(33.444, 22.444))
.strokeJointType(JointType.ROUND)
.strokePattern(patternItems)
googleMap.addPolygon(firstPO);
googleMap.setMapType(GoogleMap.MAP_TYPE_HYBRID);