使用dom4j生成KML文件

1、使用dom4j生成kml文件的时候,注意:

Element root = DocumentHelper.createElement("kml").addElement("kml","http://www.opengis.net/kml/2.2");
Document document = DocumentHelper.createDocument(root);
//给根节点kml添加属性
root.addAttribute("xmlns", "http://www.opengis.net/kml/2.2")
        //.addAttribute("xmlns", "http://www.google.com/kml/ext/2.2")
        //.addAttribute("xmlns", "http://www.opengis.net/kml/2.2")
        .addAttribute("xmlns:gx", "http://www.google.com/kml/ext/2.2")
        .addAttribute("xmlns:xsi", "http://www.w3.org/2001/XMLSchema-instance")
        .addAttribute("xmlns:atom", "http://www.w3.org/2005/Atom");
//.addAttribute("xsi:schemaLocation","http://www.opengis.net/kml/2.2 http://schemas.opengis.net/kml/2.2.0/ogckml22.xsd http://www.google.com/kml/ext/2.2 http://code.google.com/apis/kml/schema/kml22gx.xsd");

//给根节点kml添加子节点  Document
Element documentElement = root.addElement("Document");

这样才可以添加上 xmlns 即可以添加上命名空间。

Java中可以使用JAK库或libkml-java生成KML文件。 1. 使用JAK库 JAK库是一个用于生成和解析KML文件Java库。它提供了很多方法来构建KML文件,并且支持所有KML标签和元素。 以下是一个简单的示例代码,演示如何使用JAK库生成一个KML文件: ```java import de.micromata.opengis.kml.v_2_2_0.*; public class KMLGenerator { public static void main(String[] args) { // 创建KML文档 Kml kml = new Kml(); Document document = kml.createAndSetDocument().withName("My KML Document"); // 创建Placemark Placemark placemark = document.createAndAddPlacemark(); placemark.withName("My Placemark").withDescription("This is my placemark"); // 添加点坐标 Coordinate coord = new Coordinate(10.0, 20.0); placemark.createAndSetPoint().addToCoordinates(coord); // 保存KML文件 kml.marshal(new File("path/to/my.kml")); } } ``` 2. 使用libkml-java libkml-java是Google开发的一个用于处理KML和KMZ文件的C++库的Java绑定。它提供了Java类来生成和解析KML文件,并且支持所有KML标签和元素。 以下是一个简单的示例代码,演示如何使用libkml-java生成一个KML文件: ```java import com.google.common.io.Files; import com.google.kml.Kml; import com.google.kml.Placemark; import com.google.kml.Point; import com.google.kml.coordinates.Coordinate; public class KMLGenerator { public static void main(String[] args) { // 创建KML文档 Kml kml = new Kml(); Placemark placemark = new Placemark().withName("My Placemark").withDescription("This is my placemark"); // 添加点坐标 Coordinate coord = new Coordinate(10.0, 20.0); Point point = new Point().addToCoordinates(coord); placemark.setGeometry(point); // 添加Placemark到KML文档 kml.setFeature(placemark); // 保存KML文件 try { Files.write(kml.toString().getBytes(), new File("path/to/my.kml")); } catch (IOException e) { e.printStackTrace(); } } } ``` 以上两种方法都可以用来生成KML文件,具体选择哪种方法取决于你的需求和个人偏好。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值