Лучший набор инструментов с открытым исходным кодом для визуализации фрагмента GML
Я ищу способ визуализации фрагмента GML, который я получаю. Какая библиотека Java лучше всего доступна для этой задачи?
2 ответа
GeoTools предоставляет библиотеку для чтения файлов GML. Они также предоставляют компоненты пользовательского интерфейса для отображения геопространственных форматов, которые поддерживает их библиотека.
Вы предупреждены, что GML на самом деле не определяет формат файла. Он обеспечивает абстрактную отправную точку для определения вашей собственной XML-схемы. Мы используем схему, чтобы отсортировать, какие элементы xml сопоставить с каким Java-классом (поэтому даты отображаются как Date, геометрия как JTS Geometry и т. Д.).
Это вызывает достаточно горя у людей, которым был предоставлен только GML-файл; недавно я добавил в GeoTools служебный класс (называемый GML), который будет предполагать, что любой неопределенный элемент является строкой.
Вот пример из тестовых случаев:
URL url = TestData.getResource(this, "states.gml");
InputStream in = url.openStream();
GML gml = new GML(Version.GML3);
SimpleFeatureCollection featureCollection = gml.decodeFeatureCollection(in);
Вы можете взять результирующую функцию featureCollection и использовать класс JMapPane, как показано в кратком запуске GeoTools:
MapContext map = new DefaultMapContext();
map.setTitle("Quickstart");
map.addLayer(featureCollection, null);
// Now display the map
JMapFrame.showMap(map);