.shp文件是目前大家使用频率较高而且通用的一种格式。此篇主要说明geotools对shp文件的读取说明。
1、maven依赖,包含了postgis支持、epsg、和swing的支持,后续的文章基本都基于此
<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.0</modelVersion> <groupId>com.jjxliu.geotools</groupId> <artifactId>geotools_t1</artifactId> <version>0.0.1-SNAPSHOT</version> <packaging>jar</packaging> <name>geotools_t1</name> <url>http://maven.apache.org</url> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <geotools.version>20-SNAPSHOT</geotools.version> </properties> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.11</version> <scope>test</scope> </dependency> <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> <dependency> <groupId>org.geotools</groupId> <artifactId>gt-jdbc</artifactId> <version>${geotools.version}</version> </dependency> <dependency> <groupId>org.geotools.jdbc</groupId> <artifactId>gt-jdbc-postgis</artifactId> <version>${geotools.version}</version> </dependency> <dependency> <groupId>org.geotools</groupId> <artifactId>gt-epsg-hsql</artifactId> <version>${geotools.version}</version> </dependency> </dependencies> <repositories> <repository> <id>maven2-repository.dev.java.net</id> <name>Java.net repository</name> <url>http://download.java.net/maven/2</url> </repository> <repository> <id>osgeo</id> <name>Open Source Geospatial Foundation Repository</name> <url>http://download.osgeo.org/webdav/geotools/</url> </repository> <repository> <snapshots> <enabled>true</enabled> </snapshots> <id>boundless</id> <name>Boundless Maven Repository</name> <url>http://repo.boundlessgeo.com/main</url> </repository> </repositories> <build> <plugins> <plugin> <inherited>true</inherited> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <configuration> <source>1.8</source> <target>1.8</target> </configuration> </plugin> </plugins> </build> </project>
2、直接上java代码说明shp文件读取
public static SimpleFeatureCollection readShp(String path ){ return readShp(path, null); } public static SimpleFeatureCollection readShp(String path , Filter filter){ SimpleFeatureSource featureSource = readStoreByShp(path); if(featureSource == null) return null; try { return filter != null ? featureSource.getFeatures(filter) : featureSource.getFeatures() ; } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } return null ; } public static SimpleFeatureSource readStoreByShp(String path ){ File file = new File(path); FileDataStore store; SimpleFeatureSource featureSource = null; try { store = FileDataStoreFinder.getDataStore(file); ((ShapefileDataStore) store).setCharset(Charset.forName("UTF-8")); featureSource = store.getFeatureSource(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } return featureSource ; }
3、测试一段读取的代码,打印所有读取到的simplefeature
String path1 = "G:/work/china_map/shp/BOUNT_poly.shp" ; //读取shp SimpleFeatureCollection colls1 = readShp(path1); //拿到所有features SimpleFeatureIterator iters = colls1.features(); //遍历打印 while(iters.hasNext()){ SimpleFeature sf = iters.next(); System.out.println(sf.getID() + " , " + sf.getAttributes()); }
打印贴图
实例的.java在附件。
相关推荐
GeoTools 读取 SHP 文件及 SHP 文件操作工具类代码解析 GeoTools 是一个开放源代码的 Java 库,用于处理地理信息系统(GIS)数据。SHp 文件是 GIS 中的一种常见文件格式,用于存储地理空间数据。本文将对 GeoTools ...
标题 "geotools读取*.dbf/*.shp文件" 涉及的是使用开源Java库GeoTools处理地理空间数据的技巧。GeoTools是一个用于处理地理信息系统(GIS)数据的库,它支持多种地理空间数据格式,包括Shapefile(*.shp)和DBF(*....
这个名为"geotools-23.3"的压缩包包含的是GeoTools库的版本23.3,它是一个强大的工具集,用于处理与地理空间数据相关的一系列任务。在GIS领域,GeoTools允许开发人员读取、写入和操作多种地理空间数据格式,其中包括...
这通常意味着将GeoTools的库文件添加到构建路径或依赖管理中,例如在Maven或Gradle项目中配置相应的依赖。一旦完成引入,开发者便可以利用GeoTools提供的类和方法,进行地图数据的读取、转换、分析以及展示等操作。 ...
GeoTools工具包是一款开源的Java库,专门设计用于地理信息系统(GIS)开发,它提供了对各种地理空间数据格式的支持,包括但不限于Shapefile(shp文件)。这个强大的工具包允许开发者在Java环境中对地理数据进行读取...
Java解析SHP文件是地理信息系统(GIS)领域中的常见任务,而Geotools是一个开源的Java库,专门用于处理各种地理空间数据,包括ESRI的Shapefile格式。在这个场景下,"Java解析shpfile所需要的geotools包"指的是利用...
2. 数据读取模块:使用 GeoTools 读取地图数据文件。 3. 样式设置模块:使用 GeoTools 获取图层的渲染样式。 4. 图层加载模块:使用 GeoTools 将各个数据集和样式对应并按顺序排列,生成地图对象。 5. 地图绘制模块...
本篇文章将详细讲解如何使用`meteoInfo`和`geotools`这两个Java库来解析`shp`文件,提取其中的数据,并获取边界线数据、中心点坐标以及最大和最小经纬度值。 `meteoInfo`是一个专门处理气象数据的Java库,虽然它的...
1. **GeoTools库概述** GeoTools遵循Java Community Process (JCP)的JSR 191和JSR 173标准,为开发者提供了一套完整的API,用于处理地理空间数据。它支持多种数据格式,包括ESRI Shapefile、GeoTIFF、WMS、WFS等,...
要实现使用GeoTools读取shape文件,首先需要导入GeoTools库到项目中。然后,可以创建一个`ShapefileDataStore`对象,通过它来加载shapefile文件。这个对象会处理所有与数据读取相关的工作,包括解析.shp文件和其他...
GeoTools是一个遵循Apache 2.0许可证的项目,它提供了一系列API,使得开发者能够轻松地读取、写入和操作多种GIS数据格式。该库支持OGC(开放地理空间联盟)标准,如WMS、WFS和SOS,使得开发者可以构建与各种GIS服务...
- 在Android中处理Shapefile,通常需要借助第三方GIS库,如OSM(OpenStreetMap)Droid、GeoTools for Android、JTS Topology Suite或者Android GIS Library。 - 这个应用可能使用了其中某一个或几个库来解析...
1.java实现shapefile几何数据批量读取,并封装为通用的工具类,实现shp数据的通用批量读取 2.读取后的成果数据封装成hashMap的列表,每一个Map对象存储一条shp要素的字段属性及几何图形,通过shp字段名从Map中获取...
GeoTools是Java平台上的一个开源GIS框架,它提供了一系列API和模块来处理地理空间数据。为了使用GeoTools,我们需要引入相关的jar包,通常包括以下核心模块: 1. `gt-api.jar`:包含GeoTools的主要接口和抽象类。 2...
这个Java工程文件旨在提供一个解决方案,帮助开发者读取`.shp`文件,获取其中的几何对象坐标,并将这些坐标写入新的文件中。下面我们将深入探讨如何用Java处理`.shp`文件以及相关的技术要点。 首先,要读取`.shp`...
在本项目中,我们利用 Gradle 这个现代的构建工具来管理依赖并集成 GeoTools,以便于生成 Shapefile 文件。 首先,我们需要在项目的 `build.gradle` 文件中引入 GeoTools 的依赖。Gradle 允许我们通过指定库的坐标...
在Java中,我们通常使用GeoTools库来处理SHF文件。以下是一个创建SHP文件的基本步骤: ```java import java.io.File; import java.io.IOException; import java.nio.charset.Charset; import java.sql.Connection; ...