Я использую библиотеку Java GeoTools для некоторых геометрических вычислений. В моем случае я использую файл формы, который содержит все соседние мультиполигоны определенного города. Я хотел бы знать все возможные координаты в этом городе, в каком районе это соответствует. Таким образом, мой подход просто петляет по всем мультиполигонам окрестности и проверяет, находится ли данная точка внутри них или нет. Вот часть указанного кода:Geotools - Создать точку
public String getNeighborhoodId(Coordinates c){
for(Feature f : neighborhoods){
MultiPolygon m = (MultiPolygon) f.getProperty("geometry").getValue();
GeometryBuilder builder = new GeometryBuilder(DefaultGeographicCRS.WGS84);
Point p = builder.createPoint(c.getLat(),c.getLng());
if(m.contains((Geometry) point)){
return f.getProperty("neighborhoodId").getValue().toString();
}
}
return "";
}
Где микрорайоны все функции ранее прочитанных из файла формы. Проблема заключается в том, что на этой линии:
Point p = builder.createPoint(c.getLat(),c.getLng());
Я получаю org.geotools.factory.FactoryNotFoundException: No factory of kind "PrimitiveFactory" found.
Я просто следовал документы без особого успеха (This подход не работает ни). Обратите внимание, что я использую 9-SNAPSHOT версию GeoTools.
Любые предложения о том, как избавиться от этой проблемы?
Я могу читать документы, а также, спасибо. И, как сказано, я фактически преследую их без особого успеха. Я пытаюсь найти более обоснованное объяснение моей проблемы. – jarandaf
Прямая копия http://docs.geotools.org/latest/userguide/unsupported/geometry/build.html – jonayreyes