Анализ файла GeoJSON с помощью Java Topology Suite или GeoToolsJAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Анализ файла GeoJSON с помощью Java Topology Suite или GeoTools

Сообщение Anonymous »

Например, если у вас есть такой файл GeoJSON с многоугольником (простой файл для теста)

{
"type": "FeatureCollection",
"features": [
{
"type": "Feature",
"properties": {},
"geometry": {
"type": "Polygon",
"coordinates": [
[
[
-4.658203125,
41.343824581185686
],
[
-5.6689453125,
39.13006024213511
],
[
-1.9335937499999998,
39.16414104768742
],
[
-1.3623046875,
41.21172151054787
],
[
-4.658203125,
41.343824581185686
]
]
]
}
}
]
}


Суть:

Geometry point2 = new WKTReader().read("POINT (-3.2958984375 40.44694705960048)");


И вы хотите загрузить файл geoJSON в свою программу для тестирования в этом многоугольнике, содержащем точку. Как вы могли бы сделать это на Java с использованием JTS?


Другим вариантом может быть использование GeoTools с плагином GeoJson, но я не могу проанализировать файл GeoJson



Что я пробовал

Используя GEOTOOLS вот так< /p>

String content = new String(Files.readAllBytes(Paths.get("file.geojson")), "UTF-8");
GeometryJSON gjson = new GeometryJSON();
Reader reader = new StringReader(content);
Polygon p = gjson.readPolygon(reader);
System.out.println("polygon: " + p);


Проблема в том, что полигон p содержит только последний полигон файла geojson. Если в этом файле много полигонов, как его анализировать?

Используя JTS2GEOJSON, вот так

String content = new String(Files.readAllBytes(Paths.get("file.geojson")), "UTF-8");
System.out.println("content: " + content);
GeoJSONReader reader1 = new GeoJSONReader();
Geometry geometry = reader1.read(content);


Этот код не работает в этой строке:

Geometry geometry = reader1.read(content);


При этой ошибке:

Exception in thread "main" java.lang.UnsupportedOperationException
at org.wololo.jts2geojson.GeoJSONReader.read(GeoJSONReader.java:51)
at org.wololo.jts2geojson.GeoJSONReader.read(GeoJSONReader.java:21)
at org.wololo.jts2geojson.GeoJSONReader.read(GeoJSONReader.java:16)


Эта ошибка связана с тем, что я пытаюсь прочитать FeatureCollections из файла GeoJson. Это работает, если я попробую с этой простой строкой:

String content = "{\n" +
" \"type\": \"Polygon\",\n" +
" \"coordinates\": [\n" +
" [\n" +
" [\n" +
" -4.141845703125,\n" +
" 40.9218144123785\n" +
" ],\n" +
" [\n" +
" -4.603271484375,\n" +
" 40.002371935876475\n" +
" ],\n" +
" [\n" +
" -3.5595703125,\n" +
" 39.757879992021756\n" +
" ],\n" +
" [\n" +
" -2.548828125,\n" +
" 40.43858586704331\n" +
" ],\n" +
" [\n" +
" -3.2080078125,\n" +
" 41.12074559016745\n" +
" ],\n" +
" [\n" +
" -4.141845703125,\n" +
" 40.9218144123785\n" +
" ]\n" +
" ]\n" +
" ]\n" +
" }";


Подробнее здесь: https://stackoverflow.com/questions/539 ... r-geotools
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Keras_vggface: нет модуля с именем «keras.engine.topology».
    Гость » » в форуме Python
    0 Ответы
    25 Просмотры
    Последнее сообщение Гость
  • Анализ данных GeoJSON в Polygon с использованием Java
    Anonymous » » в форуме JAVA
    0 Ответы
    14 Просмотры
    Последнее сообщение Anonymous
  • Анализ данных Geojson в многоугольника с использованием Java
    Anonymous » » в форуме JAVA
    0 Ответы
    22 Просмотры
    Последнее сообщение Anonymous
  • Анализ данных Geojson в многоугольника с использованием Java
    Anonymous » » в форуме JAVA
    0 Ответы
    12 Просмотры
    Последнее сообщение Anonymous
  • Невозможно создать GeometryFactory: Причина: java.lang.NoClassDefFoundError: org/geotools/geometry/jts/JTSFactoryFinder
    Anonymous » » в форуме JAVA
    0 Ответы
    16 Просмотры
    Последнее сообщение Anonymous

Вернуться в «JAVA»