文档章节

java-gdal实现shp转geojson

遥想公瑾当年
 遥想公瑾当年
发布于 2017/06/01 11:14
字数 391
阅读 27
收藏 0
点赞 0
评论 0

安装gdal的话,将shp转geojson会非常简单。本文因项目需要,以java-gdal讲述如何实现。ps:当然只要装有gdal就都可以实现功能。

ogr2ogr命令

在控制台执行如下语句:

D:\PostgreSQL\9.5\bin> ogr2ogr -f GeoJson test.geojson test.shp

gdal中的ogr2ogr工具非常好用,很多开源工具都集成了该命令,所以虽然作者并未安装gdal,但是由于postgresql的空间扩展postgis集成了ogr2ogr命令,所以我们直接使用即可。 参数说明: -f:输出格式,本文指定是GeoJson dst_datasource_name:转换目标数据源名称,本文要求将shp转储为名称为test.geojson src_datasource_name:转储源数据,本文要转的shp名称 #java-gdal代码实现

java-gdal安装配置

下载地址:https://yunpan.cn/cB2tdzVMQ3nLB 访问密码 d03f 1 将java-gdal文件夹中所有的dll复制到Java\jre7\bin文件夹中。 2 将java-gdal文件夹中的gdal.jar在java工程中引用即可完成配置。 ##转换主要代码

package GIS;
import org.gdal.*;
import org.gdal.ogr.DataSource;
import org.gdal.ogr.Driver;
import org.gdal.ogr.ogr;
import org.gdal.gdal.*;  
public class Test {
	public static void main(String[] args) {
		 // 注册所有的驱动  
		ogr.RegisterAll();
        // 为了支持中文路径,请添加下面这句代码  
        gdal.SetConfigOption("GDAL_FILENAME_IS_UTF8","YES");  
        // 为了使属性表字段支持中文,请添加下面这句  
        gdal.SetConfigOption("SHAPE_ENCODING","");  
          
        String strVectorFile = "D:\\data\\fibercable.shp";  
        //打开数据  
        DataSource ds = ogr.Open(strVectorFile,0);  
        if (ds == null)  
        {  
            System.out.println("打开文件失败!" );  
            return;  
        }  
        System.out.println("打开文件成功!" );  
        Driver dv = ogr.GetDriverByName("GeoJSON");  
        if (dv == null)  
        {  
            System.out.println("打开驱动失败!" );  
            return;  
        }  
        System.out.println("打开驱动成功!" );  
        dv.CopyDataSource(ds, "D:\\data\\fibercable.geojson");  
        System.out.println("转换成功!" );  
	}
}

© 著作权归作者所有

共有 人打赏支持
遥想公瑾当年
粉丝 6
博文 11
码字总数 17519
作品 0
南京
高级程序员
gis cad 叠加

在web页面上实现 1. dxf转化geojson,最好是topojson 集成到web中。后台转换 2. 选择西安80/北京54/国家2000 后 可以输入7参数(或者需要的参数)后,将geojson叠加到google地图...

张先生 ⋅ 05/16 ⋅ 0

Uber 开源地理可视化工具 Ketoper.gl,加速数据处理

Uber 开源其内部可视化工具包 ketoper.gl,这是一个基于 deck.gl 构建的 React 组件,高性能,用于大规模地理定位数据集的可视化探索。它对 GPU 功能的支持允许应用程序立即渲染数百万个数据...

达尔文 ⋅ 06/01 ⋅ 0

地理信息可视化工具 - Ketoper.gl

Uber 开源其内部可视化工具包 ketoper.gl,这是一个基于 deck.gl 构建的 React 组件,高性能,用于大规模地理定位数据集的可视化探索。它对 GPU 功能的支持允许应用程序立即渲染数百万个数据...

匿名 ⋅ 05/31 ⋅ 0

14、Java并发性和多线程-Java ThreadLocal

以下内容转自http://ifeve.com/java-theadlocal/: Java中的ThreadLocal类可以让你创建的变量只被同一个线程进行读和写操作。因此,尽管有两个线程同时执行一段相同的代码,而且这段代码又有...

easonjim ⋅ 2017/06/16 ⋅ 0

为什么大批的JAVA程序员都是在转大数据

前言 首先JAVA的精密,强大,拥有其它语言不可替代的性能和可维护性,早已经是成为最受欢迎的编程语言之一,很多人想进入IT行业,首选的第一门语言就是JAVA。但是,在未来10年肯定是大数据的...

JAVA丶学习 ⋅ 04/18 ⋅ 0

Java 5 、6、 7中新特性

JDK5新特性(与1.4相比)【转】 1 循环 for (type variable : array){ body} for (type variable : arrayList){body} 而1.4必须是: for (int i = 0; i < array.length; i++){ type variabl......

thinkyoung ⋅ 2014/10/14 ⋅ 0

sharding-jdbc源码分析—准备工作

原文作者:阿飞Javaer 原文链接:https://www.jianshu.com/p/7831817c1da8 接下来对sharding-jdbc源码的分析基于tag为源码,根据sharding-jdbc Features深入学习sharding-jdbc的几个主要特性...

飞哥-Javaer ⋅ 05/03 ⋅ 0

gradle/Groovy语法

Groovy官网的介绍(http://www.groovy-lang.org/download.html#gvm) Gradle API 文档: https://docs.gradle.org/current/dsl/org.gradle.api.invocation.Gradle.html 深入理解Android(一)......

shareus ⋅ 04/27 ⋅ 0

使用Maven运行Java main的方法(转)

使用Maven运行Java Main的方法(既Java Application项目),可以有如下方式解决: 1、将Maven项目导入到eclipse中,然后直接项目右键【Run As】->【Java Application】。 2、直接指定jar包的...

easonjim ⋅ 2017/05/09 ⋅ 0

Java开发每日复盘2018_0515

今天跟大家分享几个Java小细节: 【1】「for each循环的写法」 【2】「常量 final 写法细节」 【3】「类型转换之String转其他」 下面我们来一个一个说: 【1】「for each循环的写法」 Java中:...

ZeroOSTalk ⋅ 05/16 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

说说javascript中的那些专业名词

DOM(Document Object Model) 文档对象模型 BOM(Browser Object Model) 浏览器对象模型 ECMA(European Computer Manufacturer's Association) 欧洲计算机制造商协会 W3C(World Wide Web Conso......

hang1989 ⋅ 35分钟前 ⋅ 0

Bootstrap Wizard 多步表单控件

废话 有一块需求是 有多步表单 点击下一步时触发验证一个范围内的表单,点击上一步或取消,清空表单并返回第一步,点击最后一步提交整个表单的 就找到了这个插件,本来自己写了一个原生的 fo...

无极之岚 ⋅ 51分钟前 ⋅ 0

如何利用Spring Cloud构建起自我修复型分布式系统

利用Netflix所打造的组件及各类大家熟知的工具,我们完全可以顺利应对由微服务以及分布式计算所带来的技术挑战。 在过去一年当中,微服务已经成为软件架构领域一个炙手可热的新名词,而且我们...

harries ⋅ 今天 ⋅ 0

临近实习前的感想

再过两星期就要开始新的一段实习了,想想去年的这个时候也在实习,心中不免思绪万千,也一直想写对2017做个总结,但一直迟迟没有下笔。 2017年的春节,我就开始准备开学后找份实习。那时候就...

无精疯 ⋅ 今天 ⋅ 0

Spring AOP(面向切面编程)

Spring AOP概念: Spring AOP 可以劫持一个执行的方法,在方法执行之前或之后添加额外的功能。通常情况下,AOP把项目中需要在多处用到的功能,比如日志、安全和事物等集中到一个类中处理,而...

霍淇滨 ⋅ 今天 ⋅ 0

人工智能、机器学习、数据挖掘以及数据分析有什么联系?

人工智能是目前炙手可热的一个领域,所有的互联网公司以及各路大迦们纷纷表态人工智能将是下一个时代的革命性技术,可与互联网、移动互联网时代的变更相媲美;AlphaGo在围棋领域战胜人类最顶...

董黎明 ⋅ 今天 ⋅ 0

使用 vue-cli 搭建项目

vue-cli 是一个官方发布 vue.js 项目脚手架,使用 vue-cli 可以快速创建 vue 项目,GitHub地址是:https://github.com/vuejs/vue-cli 一、 安装 node.js 首先需要安装node环境,可以直接到中...

初学者的优化 ⋅ 今天 ⋅ 0

设计模式 之 享元模式

设计模式 之 享元模式 定义 使用共享技术来有效地支持大量细粒度对象的复用 关键点:防止类多次创建,造成内存溢出; 使用享元模式来将内部状态与外部状态进行分离,在循环创建对象的环境下,...

GMarshal ⋅ 今天 ⋅ 0

SpringBoot集成Druid的最简单的小示例

参考网页 https://blog.csdn.net/king_is_everyone/article/details/53098350 建立maven工程 Pom文件 <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM......

karma123 ⋅ 今天 ⋅ 0

Java虚拟机基本结构的简单记忆

Java堆:一般是放置实例化的对象的地方,堆分新生代和老年代空间,不断未被回收的对象越老,被放入老年代空间。分配最大堆空间:-Xmx 分配初始堆空间:-Xms,分配新生代空间:-Xmn,新生代的大小一...

算法之名 ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部