GeoJSON代码示例

1. 读取GeoJSON文件

1.1 实现思路

graph TD
A[读取GeoJSON文件] --> B[读取GeoJSON文件内容]
B --> C[解析GeoJSON文件内容]
C --> D[构建SimpleFeatureCollection]
D --> E[返回SimpleFeatureCollection]

1.2 代码示例


public static SimpleFeatureCollection readGeojson(String geojsonPath){
File file = new File(geojsonPath);
Charset encoding = CharsetDetector.detect(file);
String geojsonString = FileUtil.readString(file, encoding); GeometryJSON gjson = new GeometryJSON(16);
FeatureJSON fjson = new FeatureJSON(gjson); try {
SimpleFeatureType simpleFeatureType = fjson.readFeatureCollectionSchema(geojsonString, true);
ListFeatureCollection featureCollection = new ListFeatureCollection(simpleFeatureType);
try (FeatureIterator<SimpleFeature> features = fjson.streamFeatureCollection(geojsonString)) {
while (features.hasNext()) {
featureCollection.add(features.next());
}
} return featureCollection;
} catch (IOException e) {
throw new RuntimeException(e);
}
}

2. 写入GeoJSON文件

2.1 实现思路

graph TD
A[构建图层结构] --> B[写入要素]
B --> C[关闭图层]
C --> D[写入编码]

2.2 代码示例


public static void writeGeojson(String geojsonPath, SimpleFeatureCollection featureCollection,Integer wkid){
GeometryJSON gjson = new GeometryJSON(16);
FeatureJSON fjson = new FeatureJSON(gjson); try {
CoordinateReferenceSystem crs = CRS.decode("EPSG:" + wkid, true);
featureCollection = new ForceCoordinateSystemFeatureResults(featureCollection, crs, false); String geojsonString = fjson.toString(featureCollection);
FileUtil.writeString(geojsonString, geojsonPath, "utf-8");
} catch (Exception e) {
throw new RuntimeException(e);
}
}

GeoJSON代码示例的更多相关文章

  1. 高级渲染技巧和代码示例 GPU Pro 7

    下载代码示例 移动设备正呈现着像素越来越高,屏幕尺寸越来越小的发展趋势. 由于像素着色的能耗非常大,因此 DPI 的增加以及移动设备固有的功耗受限环境为降低像素着色成本带来了巨大的压力. MSAA 有 ...

  2. Java8-Function使用及Groovy闭包的代码示例

    导航 定位 概述 代码示例 Java-Function Groovy闭包 定位 本文适用于想要了解Java8 Function接口编程及闭包表达式的筒鞋. 概述 在实际开发中,常常遇到使用模板模式的场 ...

  3. [IOS 开发] 懒加载 (延迟加载) 的基本方式,好处,代码示例

    懒加载的好处: 1> 不必将创建对象的代码全部写在viewDidLoad方法中,代码的可读性更强 2> 每个属性的getter方法中分别负责各自的实例化处理,代码彼此之间的独立性强,松耦合 ...

  4. SELECT控件操作的JS代码示例

    SELECT控件操作的JS代码示例 1 检测是否有选中 if(objSelect.selectedIndex > -1) { //说明选中 } else { //说明没有选中 } 2.动态创建s ...

  5. 转:HIBERNATE一些_方法_@注解_代码示例---写的非常好

    HIBERNATE一些_方法_@注解_代码示例操作数据库7步骤 : 1 创建一个SessionFactory对象 2 创建Session对象 3 开启事务Transaction : hibernate ...

  6. Python实现各种排序算法的代码示例总结

    Python实现各种排序算法的代码示例总结 作者:Donald Knuth 字体:[增加 减小] 类型:转载 时间:2015-12-11我要评论 这篇文章主要介绍了Python实现各种排序算法的代码示 ...

  7. C#与数据库访问技术总结(十五)之 DataAdapter对象代码示例

    DataAdapter对象代码示例 下面的代码将说明如何利用DataAdapter对象填充DataSet对象. private static string strConnect=" data ...

  8. C#与数据库访问技术总结(六)之Command对象创建SQl语句代码示例

    Command对象创建SQl语句代码示例 说明:前面介绍了 Command 对象的方法和一些属性,回顾一下 Command对象主要用来执行SQL语句.利用Command对象,可以查询数据和修改数据. ...

  9. 领域驱动开发推荐代码示例 — Microsoft NLayerApp

    简介: Microsoft NLayerApp是由微软西班牙团队出品的基于.NET 4.0的“面向领域N层分布式架构”代码示例,在codeplex上的地址是:http://microsoftnlaye ...

  10. Zeller公式推导及C#代码示例(待完善)

    Zeller公式用于计算给定日期是星期几. 该方法可以用数论知识进行证明. 假设给定日期Date为Year-Month-Day,求解该日期是星期几的问题实际上就是以之前某个确定星期几的日期作为参考点, ...

随机推荐

  1. Analysis I Chapter 2 - By Professor Terence Tao

    目录 2.1 The Peano Axioms 2.2 Addition - Exercises 2.2 - 2.3 Multiplication - Exercises 2.3 - Method o ...

  2. Python 潮流周刊#74:创下吉尼斯世界记录的 Python 编程课(摘要)

    本周刊由 Python猫 出品,精心筛选国内外的 250+ 信息源,为你挑选最值得分享的文章.教程.开源项目.软件工具.播客和视频.热门话题等内容.愿景:帮助所有读者精进 Python 技术,并增长职 ...

  3. Diffuision Policy + RL -------个人博客_ZSY_20241101

    Diffusion Policy: Visuomotor Policy Learning via Action Diffusion Cheng Chi, Zhenjia Xu, Siyuan Feng ...

  4. 机器学习中验证两个算法之间是否存在显著差距的t-test检验

    同一主题的简单分析版本,建议查看: 机器学习领域中假设检验的使用 本文内容为在上文基础上进一步分析版本. 相关: t检验 t检验应用条件 t检验(t-test) t-test终极指南 一文详解t检验 ...

  5. Python爬虫基本库

    3 基本库的使用 1)使用 urllib 是python内置的HTTP请求库,包含request.error.parse.robotparser urlopen() urllib.request.ur ...

  6. 『玩转Streamlit』--交互类组件

    交互类组件在Web应用程序中至关重要,它们允许用户与应用进行实时互动,能够显著提升用户体验. 用户不再只是被动地接收信息,而是可以主动地输入数据.做出选择或触发事件,从而更加深入地参与到应用中来. 此 ...

  7. 值得推荐的IT公司名单(广州篇)

    广州,作为中国南方的重要城市,不仅历史悠久,而且在科技创新方面也具有极高的活力.特别是在IT领域,广州孕育了许多知名企业和创业公司,成为众多技术人才的聚集地. 本文将介绍一些在广州值得去的IT公司,为 ...

  8. 李继刚Lisp提示词灵感之源:压缩推动进步

    前面在文章< 访谈李继刚:从哲学层面与大模型对话 >中提到,继刚总结去年写提示词的核心理念是"清晰表达",而今年则是"压缩表达",既而才有火爆全网的 ...

  9. Python网络爬虫实践案例:爬取猫眼电影Top100

    以下是一个Python网络爬虫的实践案例,该案例将演示如何使用Python爬取猫眼电影Top100的电影名称.主演和上映时间等信息,并将这些信息保存到TXT文件中.此案例使用了requests库来发送 ...

  10. python的egg的制作

    egg包是目前最流行的python应用打包部署方式.如何制作和安装egg包?下面我就简单的分析了一下. 总是安装别人的egg包,是不是也想制作自己的egg包呢?好,接下来我们就自己制作一个简单的egg ...