最近有个需求,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文件吧

java kml_当Java遇上KML - sheva.wen的个人空间 - OSCHINA - 中文开源技术交流社区相关推荐

  1. java 写入环境变量_Java环境变量配置 - import_key的个人空间 - OSCHINA - 中文开源技术交流社区...

    Java 环境变量和路径 在 Solaris 系统上,必须先设置 JAVA_HOME 和 PATH 环境变量,Sun Management Center 3.6 安装向导.设置向导和 Java 控制台 ...

  2. java数组输出是地址_java数组输出 - SuperPcf的个人空间 - OSCHINA - 中文开源技术交流社区...

    java数组输出 输出一个数组中的元素,我们通常用for循环来做,比如: [java] view plaincopy在CODE上查看代码片派生到我的代码片 package test; public c ...

  3. java io流拒绝访问_JAVA IO流 - 张宏良的个人空间 - OSCHINA - 中文开源技术交流社区...

    IO流 一.File类的使用 java.io.File类:文件和文件目录路径的抽象表示形式,与平台无关 File能新建.删除.重命名文件和目录,但File不能访问文件内容本身.如果需要访问文件内容本身 ...

  4. emc存储java打开后报错_连接EMC存储系统 - osc_mk8rqvg4的个人空间 - OSCHINA - 中文开源技术交流社区...

    1.准备一台笔记本电脑,一根网线即可. 2.将网线一头连接笔记本电脑,另一头连接存储.(连接存储的一头应连接到有扳手图标的那一网口上) 3.配置IP地址 IP:128.221.1.254 子网掩码:2 ...

  5. java网络编程 听_java网络编程 - 亲亲媛的个人空间 - OSCHINA - 中文开源技术交流社区...

    一.TCP/UDP,Socket,Http,Ftp简介 1.TCP/IP是个协议组(主要解决数据如何在网络中传输),可分为三个层次:网络层.传输层和应用层: 网络层:IP协议(支持网间互联的数据报协议 ...

  6. java方法调用机制_Java方法调用机制 - osc_bkdv2it5的个人空间 - OSCHINA - 中文开源技术交流社区...

    最近在编程时,修改方法传入对象的对象引用,并没有将修改反映到调用方法中.奇怪为什么结果没有变化,原因是遗忘了Java对象引用和内存分配机制.本文介绍3个点: ① 该问题举例说明 ② 简要阐述Java内 ...

  7. 简易售货机JAVA sql_自动售货机 - 笨拙的小Q的个人空间 - OSCHINA - 中文开源技术交流社区...

    import java.util.Scanner; /** * 华为机试 自动售货机 * 不知道对错 * @author qxl * */ public class Shop { public sta ...

  8. java记录类加载的个数_java类加载过程 - audience_1的个人空间 - OSCHINA - 中文开源技术交流社区...

    java类加载过程: 在我们代码中,一般就一个new的方法,就能够创建一个java的对象类,但在java虚拟机中 1:首先,我们需要判断该类是否已经在方法区中的常量池中有一个类的符号的引用存在,如果该 ...

  9. java的Teacher类_java类的继承 - osc_tauwfamo的个人空间 - OSCHINA - 中文开源技术交流社区...

    类的继承是类的一个重要概念,通过类的继承子类可以继承父类的属性和方法,提高代码的复用性. eg: //** *创建一个父类Teacher,父类有两个属性name,age,两个方法sleep(),tea ...

最新文章

  1. 今晚8点直播 | 详讲NLP的经典应用实践——文本分类
  2. 你要偷偷学会排查线上 CPU 飙高的问题,然后惊艳所有人!
  3. python工程师薪资坑吗-最新Python面试经验总结,避免采坑的进来
  4. java画图板代码_java学习小总结——画图板制做(附代码)
  5. 为什么要用MyBatis-Hibernate
  6. Imageready(IR)动画介绍
  7. LeetCode 1346. 检查整数及其两倍数是否存在(哈希)
  8. 技术不牛如何才拿到国内IT巨头的Offer(转)
  9. 关于代码审查,那些你不曾关注的细节
  10. python自学看什么书-自学Python要看哪些书?有什么推荐?
  11. error: 'Can't connect to local MySQL server through socket '/data/3307/data/mysql.sock' (2)'
  12. C#三层架构通用数据库访问类SQLHerper总结
  13. python的基础语法
  14. Unity3D开发学习
  15. Android iso文件打开,安卓手机iso文件用什么打开?
  16. 罗技跨屏互联FLOW软件问题,无法启动
  17. 视觉transformer图片处理思路
  18. 分布式文件系统(DFS)浅析
  19. 语音数字信号处理系统设计(含matlab程序)
  20. java 虚函数_Java的虚方法

热门文章

  1. Java版图书管理系统完整开发流程
  2. 网络 三【详解局域网:以太网、网络适配器、WLAN】
  3. VxWorks常用命令
  4. VxWorks下DOS文件系统与SATA块设备驱动交互流程
  5. CentOS 使用 SpeedTest 测速
  6. php根据元素返回可以,array_search()函数按元素值返回键名步骤详解
  7. DRGS 分组器源码
  8. sol日历outlook同步
  9. D3 中国地图json 数据
  10. (课件教材PPT)前端非常详细培训机构商业版课件教程案例项目源码全套资料打包下载超值