【Java】GeoTools-QuickStart

3 篇文章 0 订阅

介绍

本篇是GeoTools教程中的快速开始部分,主要介绍了Maven中GeoTools的依赖添加和一个简单的示例。

依赖配置

Maven的依赖配置方法想来大家是知道的,官网上也提供了GeoTools可以下载的仓库和所需的GeoTools的依赖版本。

//属性配置
<properties>
   <geotools.version>27-SNAPSHOT</geotools.version>
</properties>
    //依赖
<dependency>
	 <groupId>org.geotools</groupId>
	 <artifactId>gt-shapefile</artifactId>
	 <version>${geotools.version}</version>
</dependency>
<dependency>
	 <groupId>org.geotools</groupId>
	 <artifactId>gt-swing</artifactId>
	 <version>${geotools.version}</version>
</dependency>
//仓库地址
 <repositories>
     <repository>
         <id>osgeo</id>
         <name>OSGeo Release Repository</name>
         <url>https://repo.osgeo.org/repository/release/</url>
         <snapshots><enabled>false</enabled></snapshots>
         <releases><enabled>true</enabled></releases>
     </repository>
     <repository>
         <id>osgeo-snapshot</id>
         <name>OSGeo Snapshot Repository</name>
         <url>https://repo.osgeo.org/repository/snapshot/</url>
         <snapshots><enabled>true</enabled></snapshots>
         <releases><enabled>false</enabled></releases>
     </repository>
 </repositories>

这里有一点需要注意的是,我是用的ava版本是java8,而官方教程中提示的java版本为java 11,所以官方教程中提供的依赖版本为29-SNAPSHOT,我启动后报了错,将依赖版本降为27-SNAPSHOT,就可以了。

主要的代码如下

public class QuickSyart {
    public static void main(String[] args) throws IOException {
    //一个文件打开器,启动后会打开一个Java的文件选择器
        File file= JFileDataStoreChooser.showOpenFile("shp",null);
        if (file==null){
            return;
        }
        
        FileDataStore store= FileDataStoreFinder.getDataStore(file);
        SimpleFeatureSource featureSource=store.getFeatureSource();

        MapContent mapContent=new MapContent();

        mapContent.setTitle("QuictStart");

        Style style= SLD.createSimpleStyle(featureSource.getSchema());
        Layer layer=new FeatureLayer(featureSource,style);
//将图层添加到地图中
        mapContent.addLayer(layer);

        JMapFrame.showMap(mapContent);


    }
}

文件选择界面
这里找到一个shp文件打开
显示如下
地图显示

文件选择器

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

打开文件

       FileDataStore store= FileDataStoreFinder.getDataStore(file);
       SimpleFeatureSource featureSource=store.getFeatureSource();

创建地图对象并为标题命名

        MapContent mapContent=new MapContent();
        mapContent.setTitle("QuictStart");

为文件要素添加样式,创建要素图层

        Style style= SLD.createSimpleStyle(featureSource.getSchema());
        Layer layer=new FeatureLayer(featureSource,style);

添加要素图层到地图对象中,展示地图到窗口

        mapContent.addLayer(layer);

        JMapFrame.showMap(mapContent);

结语

本篇教程是按照GeoTools官方的教程翻译而来,会加入一些自己的学习思考,以此记录。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值