搭建Geotools开发环境-2
第三步:加入GeoTools类库 使用Eclipse打开example工程下的pom.xml文件,替换成以下内容并保存:
<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/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>org.geotools.demo</groupId>
<artifactId>example</artifactId>
<packaging>jar</packaging>
<version>1.0-SNAPSHOT</version>
<name>example</name>
<url>http://maven.apache.org</url>
<properties>
<geotools.version>2.6.3</geotools.version>
</properties>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.geotools</groupId>
<artifactId>gt-main</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>
</repositories>
</project>
不要关闭Eclipse,回到“命令提示符”窗口,在工程目录下键入mvn eclipse:eclipse,
例如: F:\project\example>mvn eclipse:eclipse
等待执行完成。
其间Maven会自动下载GeoTools的gt-main类库,请保持网络连接。
切换到Eclipse,使用refresh命令刷新example工程,你可以看到GeoTools已经加入工程中。
打开geotools.demo.example.App类,做如下修改:
public static void main( String[] args )
{
System.out.println( "Hello GeoTools:" + GeoTools.getVersion() );
}
编译执行,如果看到 Hello GeoTools:2.6-3,恭喜你!大功告成!
第四步:加入绘图界面和Shape插件
打开pom.xml文件,在 <dependencies></dependencies>之间加入以下内容:
<dependency>
<groupId>org.geotools</groupId>
<artifactId>gt-shapefile</artifactId>
<version>${geotools.version}</version>
</dependency>
<dependency>
<groupId>org.geotools</groupId>
<artifactId>gt-epsg-hsql</artifactId>
<version>${geotools.version}</version>
</dependency>
<dependency>
<groupId>org.geotools</groupId>
<artifactId>gt-swing</artifactId>
<version>${geotools.version}</version>
</dependency>
不要关闭Eclipse,回到“命令提示符”窗口,执行:F:\project\example>mvn eclipse:eclipse
其间Maven会自动下载GeoTools类库,请保持网络连接。
执行完成后,切换到Eclipse,使用refresh命令刷新example工程。
运行QuickStart类,如果demo路径中没有找到Quickstart.java,可以自己创建。
源文件在 http://svn.osgeo.org/geotools/tags/2.6.3/demo/example/src/main/java/org/geotools/demo/Quickstart.java 直接复制代码,编译运行即可。
中文乱码问题
用QuickStart打开shape文件,如果文件中包含中文属性信息,中文将无法正确显示,这是GeoTools和GeoServer的常见问题。
在这里,不需要更改ShapefileDataStore类的源代码,我们可以直接修改QuickStart类, 将
FileDataStore store = FileDataStoreFinder.getDataStore(file); FeatureSource featureSource = store.getFeatureSource();
更改为
ShapefileDataStore shpDataStore=new ShapefileDataStore(file.toURL());
shpDataStore.setStringCharset(Charset.forName("GBK"));
FeatureSource featureSource = shpDataStore.getFeatureSource();
即可显示汉字。