使用GEOTools创建空shp文件_陈焜浩Arain_新浪博客

本文介绍了使用GeoTools创建SHP文件的基本步骤及代码实现,包括设置文件属性、创建数据存储空间并生成SHP文件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在地理信息中最常用的数据就是shp矢量数据,下面介绍使用GEOTools创建shp文件的大概步骤(这里考虑到创建要素的代码繁复,不容易看懂,所以先抽丝剥茧地把新建一个空的SHP文件的原理介绍一下)

1、设置SHP的文件属性
2、创建一个数据存储空间生成工厂
3、创建一个数据存储空间
4、通过数据存储空间生成带文件属性架构的SHP文件

具体代码如下:
import java.io.File;
import java.io.Serializable;
import java.util.HashMap;
import java.util.Map;
import org.geotools.data.DataUtilities;
import org.geotools.data.shapefile.ShapefileDataStore;
import org.geotools.data.shapefile.ShapefileDataStoreFactory;
import org.opengis.feature.simple.SimpleFeatureType;

public class CopyOfNew 
{

   public static void main(String[] args) throws Exception 
   {
        //指定SHP文件建立路径
        File newFile =new File("E:\\workspace.shp");
        
        //设置要生成的shp文件的属性
        //下面是定义要素的字段(属性)
        //第一个参数是要素类型,第二个参数是字段名
        //下面对应SHP文件的dbf表中的Shape、name和number字段,FID字段默认生成
        //其中srid=4326是定义地理坐标系WGS_84,与ESRI的WKID一样,因为都是OGC定义的
        final SimpleFeatureType TYPE = DataUtilities.createType(
        "Location",
                "the_geom:Point:srid=4326," + // <- the geometry attribute: Point type
                "name:String," +   // <- a String attribute
                "number:Integer"   // a number attribute
        );

        //SHP数据存储工厂
        ShapefileDataStoreFactory dataStoreFactory = new ShapefileDataStoreFactory();
        //定义生成时的属性
        Map params = new HashMap();
        params.put("url", newFile.toURI().toURL());
        params.put("create spatial index", Boolean.TRUE);
        //生成SHP
        ShapefileDataStore newDataStore = (ShapefileDataStore) dataStoreFactory.createNewDataStore(params);
        newDataStore.createSchema(TYPE);

   }

以上注释有不对的地方多多指教!

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值