geotools 实例

这篇博客详细介绍了如何使用GeoTools库操作地理数据,包括通过FactoryFinder创建实例、打开和读取shapefile、将CSV转换为shapefile、生成缓冲区、设置几何坐标参考系、要素属性检索以及自定义样式。此外,还讨论了FeatureIterator和FeatureVisitor的区别。

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

通过FactoryFinder创建实例

1.  通过FactoryFinder在文件中找到Factory的链接(.getFactory)

2.  通过Factory创建实例对象(Feature,Filters……)

3.  对实例对象进行操作

打开shapefile文件(Quickstart)

public class Quickstart {

 

    /**

     * GeoTools Quickstart demo application.Prompts the user for a shapefile and displays its

     * contents on the screen in a map frame

     */

    public static void main(String[] args) throws Exception {

        // display adata store file chooser dialog for shapefiles

        File file =JFileDataStoreChooser.showOpenFile("shp", null);

        if (file == null) {

            return;

        }

 

        FileDataStore store =FileDataStoreFinder.getDataStore(file);

        SimpleFeatureSource featureSource = store.getFeatureSource();

 

        // Create amap content and add our shapefile to it

        MapContent map = new MapContent();

        map.setTitle("Quickstart");

       

        Style style = SLD.createSimpleStyle(featureSource.getSchema());

        Layer layer = new FeatureLayer(featureSource, style);

        map.addLayer(layer);

 

        // Now displaythe map

        JMapFrame.showMap(map);

    }

 

}

 

1.  通过JFileDataStoreChooseer打开文件(特定后缀名)--出现打开文件对话框

——gt-swing.jar

2.  通过StoreFinder获取DataStore

3.  在DataStore获取SimpleFeatureSource

4.  新建FeatureLayer,参数需要featureSource/collection,style

5.  新建MapContent地图容器

6.  加载图层

7.  显示地图

将CVS文件转为shapefile文件并导出

 

思路:(打开cvs文件,)定义新shp文件类型,读取cvs文件数据生成要素(个体),再将要素存到数据集;创建新shp文件,将其指定为工作工厂,将数据集中数据写入。

 

用到的jar包(gt-shapefile,gt-epsg-hsql,gt-swing)

不能直接把所以jar包导入,会报错(org.opengis.referencing.FactoryExceptoin:Fail to connect to the EPSGdatabase)。

另外的可能解决办法:用Maven新建项目(jar包将自己检查和精简),需要在pom.xml中设置需要依赖的jar包名称等。

1.  通过JFileDataStoreChooseer打开文件(特定后缀名)--出现打开文件对话框

——gt-swing.jar

"the_geom:Point:srid=4326,"+ // <- the geometry attribute: Point type,SRID=4326表示坐标系为WGS84。ogc标准中空间参照系统的SRid(Spatial Reference System identifier)与EPSG的空间参照系统id相一致。4326为WGS84的WKID。

2.  通过DataUtilities类创建shp文件的类型以及所包含字段

——gt-main.jar

DataUtilities.createType(typeName, specification )

featureType一旦被创建便无法修改,只能通过复制获得一个subT

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值