当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 < folderSize; i++) {
	Placemark placemark = (Placemark) folder.getFeature().get(i);
	Polygon polygon = (Polygon)  placemark.getGeometry();
	Boundary outerBoundaryIs = polygon.getOuterBoundaryIs();
	LinearRing linearRing = outerBoundaryIs.getLinearRing();
	List<Coordinate> coordinates = linearRing.getCoordinates();
	for (Coordinate c : coordinates) {
		
	}
}



附上一个测试kml文件吧

http://nutz.cn/61
 

你可能感兴趣的:(Gis,kml)