geotool案例1,快速显示shapefile
geotool案例1,快速显示shapefile
1、初始化maven项目,pom.xml如下:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0modelVersion>
    <groupId>cn.selfreegroupId>
    <artifactId>testartifactId>
    <version>1.0version>
    <name>demoname>
    <description>Demo project for spring bootdescription>
    
    <properties>
        <project.build.sourceEncoding>UTF-8project.build.sourceEncoding>
        <geotools.version>22-SNAPSHOTgeotools.version>
    properties>
    
    <parent>
        <groupId>org.springframework.bootgroupId>
        <artifactId>spring-boot-starter-parentartifactId>
        <version>1.3.5.RELEASEversion>
        <relativePath/>
    parent>
    
    <dependencies>
        <dependency>
            <groupId>org.springframework.bootgroupId>
            <artifactId>spring-boot-starter-webartifactId>
        dependency>
        <dependency>
            <groupId>org.springframework.bootgroupId>
            <artifactId>spring-boot-starter-testartifactId>
            <scope>testscope>
        dependency>
        <dependency>
            <groupId>junitgroupId>
            <artifactId>junitartifactId>
            <version>4.11version>
            <scope>testscope>
        dependency>
        <dependency>
            <groupId>org.geotoolsgroupId>
            <artifactId>gt-shapefileartifactId>
            <version>${geotools.version}version>
        dependency>
        <dependency>
            <groupId>org.geotoolsgroupId>
            <artifactId>gt-swingartifactId>
            <version>${geotools.version}version>
        dependency>
    dependencies>
    <repositories>
        <repository>
            <id>maven2-repository.dev.java.netid>
            <name>Java.net repositoryname>
            <url>http://download.java.net/maven/2url>
        repository>
        <repository>
            <id>osgeoid>
            <name>Open Source Geospatial Foundation Repositoryname>
            <url>http://download.osgeo.org/webdav/geotools/url>
        repository>
        <repository>
            <snapshots>
                <enabled>trueenabled>
            snapshots>
            <id>boundlessid>
            <name>Boundless Maven Repositoryname>
            <url>http://repo.boundlessgeo.com/mainurl>
        repository>
    repositories>
    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.bootgroupId>
                <artifactId>spring-boot-maven-pluginartifactId>
            plugin>
        plugins>
    build>
project>
2、源码,直接放在main函数中运行
// 调用文件对话框,获取shp文件
File file = JFileDataStoreChooser.showOpenFile("shp", null);
if (file == null) {
    return;
}
// 存储文件变量为简单要素源变量
FileDataStore store = FileDataStoreFinder.getDataStore(file);
SimpleFeatureSource featureSource = store.getFeatureSource();
// 创建地图变量,设置标题、样式、图层
MapContent map = new MapContent();
map.setTitle("Quickstart");
Style style = SLD.createSimpleStyle(featureSource.getSchema());
Layer layer = new FeatureLayer(featureSource, style);
map.addLayer(layer);
// 窗体显示地图
JMapFrame.showMap(map);

源文档( https://docs.geotools.org/stable/userguide/tutorial/quickstart/maven.html )