java kml_当Java遇上KML

最近有个需求,java读取kml,想到的方案大概有两个。一、按一般xml解析,二、用GIS相关的java库解析。由于KML格式具有一定的复杂性,懒人放弃按xml解析,转而考虑用java的GIS库,首先想到的是Geotools,但是处理过程中发现真不好用……

转而去找其他的kml库,找到了这个 JAK – Java API for KML ,显然这个德国的家伙也对java解析kml这件事的现状很不爽。摘一段代码分享给大家,希望有帮助

Kml unmarshal = Kml.unmarshal(aFile);

Document document = (Document) unmarshal.getFeature();

Folder folder = (Folder) document.getFeature().get(0);

int folderSize = folder.getFeature().size();

// loop over all countries / Placemarks

for (int i = 0; i 

Placemark placemark = (Placemark) folder.getFeature().get(i);

Polygon polygon = (Polygon)  placemark.getGeometry();

Boundary outerBoundaryIs = polygon.getOuterBoundaryIs();

LinearRing linearRing = outerBoundaryIs.getLinearRing();

List coordinates = linearRing.getCoordinates();

for (Coordinate c : coordinates) {

}

}

附上一个测试kml文件吧

http://nutz.cn/61


版权声明:本文为weixin_42537450原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。