Преобразование заданной геометрии в коллекцию Point в ArcGIS - PullRequest
1 голос
/ 28 февраля 2020

Я работаю над настольным приложением JavaFX и использую ArcGIS SDK v100.7.0. В моем коде есть сценарий, где мне нужно создать Polyline из Geometry объекта. Я получаю эту геометрию от SketchEditor, используя sketchEditor.getGeometry(). На самом деле я хочу добавить Point к геометрии sketchEditor, когда в режиме создания полилинии используется точка Lat Long, вставленная пользователем, а не щелчком мыши по карте. Как получить геометрию эскиза в PointCollecion, добавить мою новую точку в коллекцию, создать Polygon из этой коллекции и затем передать этот многоугольник методу sketchEditor.start(). Как мне этого добиться?

1 Ответ

2 голосов
/ 29 февраля 2020

Я решил свою проблему после прохождения классов и документации, я выяснил, как я могу получить Polyline от Geometry объекта. Подход был такой:

PointCollection pc = new PointCollection(SpatialReferences.getWgs84());
PolylineBuilder pb = new PolylineBuilder(pc, SpatialReferences.getWgs84());
pb.replaceGeometry(sketchEditor.getGeometry());
pb.addPoint(new Point(Double.parseDouble(longField.getText()),Double.parseDouble(latField.getText()), SpatialReferences.getWgs84()));
sketchEditor.start(pb.toGeometry(), SketchCreationMode.POLYLINE);

Я создал новый объект PointCollection, передал его в новый объект PolylineBuilder. Чтобы передать данный Geometry в PointBuilder, я использовал его метод replaceGeometry(), чтобы он мог иметь обновленную геометрию. Теперь я смог манипулировать им и добавить к нему Point, что я и пытался сделать.

...