4

我正在寻找一种方法来可视化我收到的一段 GML。用于此任务的最佳免费 Java 库是什么?

4

2 回答 2

1

GeoTools提供了一个用于读取 GML 文件的库。它们还提供 UI 组件,用于显示其库支持的地理空间格式。

于 2008-09-24T21:19:34.020 回答
0

警告您 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);
于 2011-04-09T03:38:08.790 回答