文档章节

java-gdal实现shp转geojson

遥想公瑾当年
 遥想公瑾当年
发布于 2017/06/01 11:14
字数 391
阅读 62
收藏 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
08/22
0
0
echarts搞定各种地图(想怎么画就怎么画)

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

Mr_ZhangQian
09/20
0
0
gis cad 叠加

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

张先生
05/16
0
0
Hibernate OGM 5.4.0.Beta2 发布,NoSQL 持久层框架

Hibernate OGM 5.4.0.Beta2 已发布! 以下是主要变化内容: 支持使用 Neo4j 进行快速查询的服务器端索引定义 支持 Infinispan 服务器的脚本和 Java 任务 使用 WildFly NoSQL 子系统进行数据存...

局长
07/06
0
0
批量将本地gis数据导入postgis数据库

以前在处理gis数据的时候,都是直接导入本地shp素材、本地geojson素材,本地topojson素材,自从接触postgis数据之后,深感使用规范的存储系统来统一管理gis数据的好处,特别是数据量大了之后...

技术小能手
08/06
0
0

没有更多内容

加载失败,请刷新页面

加载更多

windows上类似dnsmasq的软件Dual DHCP DNS Server

官网地址:http://dhcp-dns-server.sourceforge.net/官网定向的下载地址:https://sourceforge.net/projects/dhcp-dns-server/files/ 设置参考地址:http://blog.51cto.com/zhukeqiang/18264......

xueyuse0012
今天
1
0
LinkedHashMap源码解析

前言 HashMap中的元素时无序的,也就是说遍历HashMap的时候,顺序和放入的顺序是不一样的。 如果需要有序的Map,就可以采用LinkedHashMap. LinkedHashMap通过维护一个包含所有元素的双向链表,...

grace_233
今天
3
0
初识flask

文档 0.10.1版本 http://www.pythondoc.com/flask/index.html 1.0.2版本 https://dormousehole.readthedocs.io/en/latest/ 安装flask $ pip3 install flaskCollecting flask Downloading......

yimingkeji
昨天
4
0
Akka系统《sixteen》译

Actor是一个封装状态(state)和行为(behavior)的对象,它们只通过交换消息通信(放入收件人邮箱的邮件)。从某种意义上说,Actor是最严格的面向对象编程形式,但它更适合将他们视为人:在与Act...

woshixin
昨天
1
0
技术工坊|如何开发一款以太坊钱包(深圳)

【好消息!】HiBlock区块链技术工坊已经成功举办了26期,其中北京1期,西安1期,成都2期,上海22期。经常有社区的小伙伴问定期举办技术工坊的除了上海以外,其他城市有没有?现在区块链技术工...

HiBlock
昨天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部