地理文件kml导出成word, 两步路导出轨迹图片

前言:

最近朋友让做了一个把地理文件kml文件导出成word的小程序,一般说这种kml文件是通过类两步路户外助手之类的程序生成,会用于对道路运输进行勘查。比如说运输一些大型风力发电叶片,需要前期勘查道路是否满足运输条件。
路勘报告,两步路导出轨迹图片,kml文件导出成word

实现路径:

  1. 解析kml文件,主要依赖:dom4j
  2. 处理word:poi
  3. 处理word中的表格:poi-ooxml
  4. 下载图片

核心代码:

//遍历当前节点下的全部节点
    public static void listNodes(Element node) throws JsonProcessingException {
// 图片加入到word
            ObjectMapper mapper2 = new ObjectMapper();
//            PictureRenderData avatar = new PictureRenderData(352,256 , ".jpg", BytePictureUtils.getUrlBufferedImage(picUrl));
            File picture = new File("/Users/billyshen/Downloads/kml/"+name+"__"+picDownParams+".jpg");
            PictureRenderData avatar = new PictureRenderData(352,256 , picture);
            PicRenderDataConvert picRenderDataConvert = new PicRenderDataConvert(avatar);
            RowRenderData picRow = RowRenderData.build(name, mapper2.writeValueAsString(picRenderDataConvert),"");
            picRenderData.addAll(Arrays.asList(picRow));
// 表格(含图片)渲染策略
            builder.customPolicy("pic_table", new DetailPicTablePolicy(1));
            Configure configure = builder.build();


            // 模板文件
            String templatePath = "/Users/billyshen/Downloads/word/template_pic2.docx";
            InputStream is = new FileInputStream(new File(templatePath));

结果展示:

输入:kml文件
在这里插入图片描述
输出:
在这里插入图片描述
后面有空整理下代码,再分享下。


2024-06-13 目前我们已经将软件平台化,已经有不少运输公司使用该平台进行路勘报告导出,大大缩短了制作标书的时间,有兴趣的老板可以来免费试用下。
平台地址:http://kmz.cloudinhome.com 上面有联系方式。
使用演示:路勘报告制作,两步路户外助手,kml文件导出成word,路勘

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
在Java中可以使用第三方库来操作KML文件。其中一个常用的库是JAK,它提供了一些类和方法用于创建和操作KML文件。以下是一个简单的示例代码,演示如何使用JAK库将数据导出KML文件: ```java import java.io.File; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.util.ArrayList; import java.util.List; import org.jak.Kml; import org.jak.KmlException; import org.jak.Placemark; import org.jak.Point; public class KmlExporter { public static void main(String[] args) throws FileNotFoundException, KmlException { // 创建Kml对象 Kml kml = new Kml(); // 创建Placemark对象 Placemark placemark = new Placemark(); // 设置Placemark的名称和描述 placemark.setName("My Placemark"); placemark.setDescription("This is a sample placemark"); // 创建Point对象 Point point = new Point(); // 设置点的坐标 point.setLatitude(37.42228990140251); point.setLongitude(-122.0822035425683); // 将点添加到Placemark对象 placemark.setGeometry(point); // 将Placemark添加到Kml对象 List<Placemark> placemarks = new ArrayList<Placemark>(); placemarks.add(placemark); kml.setFeature(placemarks); // 将Kml对象写入KML文件 File file = new File("sample.kml"); kml.marshal(new FileOutputStream(file)); } } ``` 在这个例子中,我们创建了一个名为"My Placemark"的Placemark对象,该对象包含一个点的坐标。然后,我们将该Placemark添加到Kml对象中,并将Kml对象写入名为"sample.kml"的文件中。你可以根据自己的需求修改代码和添加更多的Placemark对象。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

F_angT

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值