文档章节

java-gdal实现shp转geojson

遥想公瑾当年
 遥想公瑾当年
发布于 2017/06/01 11:14
字数 391
阅读 76
收藏 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
南京
高级程序员
私信 提问
geotrellis使用(四十二)将 Shp 文件转为 GeoJson

前言 一个多月没有写博客了,今天尝试着动笔写点。 原因很多,最重要的原因是我转行了。是的,我离开了开发岗位,走向了开发的天敌-产品经理。虽然名义上是产品经理,但是干的事情也很杂,除...

shoufengwei
2018/08/22
0
0
GeoTools 9.4 发布,Java GIS工具包

GeoTools 9.4 修复了联合两个表导致的不匹配的属性,修复了虚拟表的列别名元数据不可用的问题;修复 GeoJSON 模块问题;支持图形文件的 graphics-margin 向量选项;移除 com.sun 包的引用,更...

oschina
2013/07/31
1K
0
echarts搞定各种地图(想怎么画就怎么画)

echarts提供了全国各省市及区县的js和json文件,但是并没有细化到区域内各街道范围,有时候项目中又有这种需求,领导给予重任,我们又不能轻易拒绝,只能是硬着头皮上了。 今天我们以北京市西...

Mr_ZhangQian
2018/09/20
0
0
Echarts地图Geojson加载与Mark动画冲突

@Kener-林峰 你好,想跟你请教个问题:您好!我在使用百度ECharts时,用自己的Geojson地图数据,发现当json文件较大时,其中多边形数量较多,首次加载页面时所使用的Mark动画不会动起来,只有...

cwjwhu
2015/07/03
278
1
关于Echarts中Map的实例问题

@Kener-林峰 最近在学习有关Echarts的东西,后台用的是Java,每种图表的example都尽量尝试了,感觉还可以。但 是在地图实例这里,百度官网给了一个两级地图的example,即先显示全中国的省份,...

miracle_yao
2015/07/31
1K
1

没有更多内容

加载失败,请刷新页面

加载更多

详解webpack-dev-server的简单使用

webpack-dev-server是一个小型的Node.js Express服务器,它使用webpack-dev-middleware来服务于webpack的包,除此自外,它还有一个通过Sock.js来连接到服务器的微型运行时. 我们来看一下下面的...

前端攻城老湿
24分钟前
0
0
深度解析JavaScript事件对象

这篇文章主要介绍了JavaScript事件对象,结合实例形式深入分析了javascript DOM、IE及其他浏览器相关事件对象操作技巧与注意事项,写的十分的全面细致,具有一定的参考价值,对此有需要的朋友可...

前端攻城小牛
25分钟前
0
0
Android下拉刷新开源框架

添加依赖 //下拉刷新 implementation 'com.jcodecraeer:xrecyclerview:1.5.9' xml引用 <com.jcodecraeer.xrecyclerview.XRecyclerView android:id="@+id/act_xrecycler......

lanyu96
32分钟前
0
0
Linux内核中ioremap映射的透彻理解

几乎每一种外设都是通过读写设备上的寄存器来进行的,通常包括控制寄存器、状态寄存器和数据寄存器三大类,外设的寄存器通常被连续地编址。根据CPU体系结构的不同,CPU对IO端口的编址方式有两...

天王盖地虎626
35分钟前
1
0
Collection中的之retainAll()方法的理解

//在jdkapi中的方法,说明返回值为boolean类型, boolean retainAll(Collection<?> c) ; //api中给的注释 //Retains only the elements in this list that are contained in the specified......

南桥北木
38分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部