【发布时间】:2010-09-12 19:46:13
【问题描述】:
我正在寻找一种方法来可视化我收到的一段 GML。用于此任务的最佳免费 Java 库是什么?
【问题讨论】:
-
你的意思是地理标记语言,对吧?
我正在寻找一种方法来可视化我收到的一段 GML。用于此任务的最佳免费 Java 库是什么?
【问题讨论】:
GeoTools 提供了一个用于读取 GML 文件的库。它们还提供 UI 组件,用于显示其库支持的地理空间格式。
【讨论】:
请注意,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 并使用 GeoTools 快速入门中所示的 JMapPane 类::
MapContext map = new DefaultMapContext();
map.setTitle("Quickstart");
map.addLayer(featureCollection, null);
// Now display the map
JMapFrame.showMap(map);
【讨论】: