GeoTools

来自开放百科 - 灰狐
(版本间的差异)
跳转到: 导航, 搜索
第61行: 第61行:
 
==Database==
 
==Database==
 
===PostGIS===
 
===PostGIS===
 +
JDBC DataStore
 +
map = new HashMap();
 +
map.put("dataSource", source);
 +
map.put("dbType", "postgis");
 +
DataStore store = DataStoreFinder.getDataStore(map);
 +
connect PostGIS
 +
java.util.Map params = new java.util.HashMap();
 +
params.put(PostgisDataStoreFactory.DBTYPE.key, "postgis");
 +
params.put(PostgisDataStoreFactory.HOST.key, "localhost");
 +
params.put(PostgisDataStoreFactory.PORT.key, 5432);
 +
params.put(PostgisDataStoreFactory.SCHEMA.key, "public");
 +
params.put(PostgisDataStoreFactory.DATABASE.key, "database");
 +
params.put(PostgisDataStoreFactory.USER.key, "postgres");
 +
params.put(PostgisDataStoreFactory.PASSWD.key, "postgres");
 +
DataStore dataStore=DataStoreFinder.getDataStore(params);
 +
String typeName = dataStore.getTypeNames()[0];
 +
FeatureSource featureSource = dataStore.getFeatureSource( typeName );
 +
Database
 
  $ createdb -U postgres spearfish
 
  $ createdb -U postgres spearfish
 
  $ createlang -U postgres plpgsql spearfish
 
  $ createlang -U postgres plpgsql spearfish

2008年2月1日 (五) 08:17的版本

Geotools-logo.gif

GeoTools is an open source java GIS toolkit.

GeoTools is an open source (LGPL) Java code library which provides standards compliant methods for the manipulation of geospatial data, for example to implement Geographic Information Systems (GIS). The GeoTools library implements Open Geospatial Consortium (OGC) specifications as they are developed, in close collaboration with the GeoAPI and GeoWidgets projects. Includes two great SLD based renderers, raster access and reprojection. Plugns fo Shapefile, ArcGrid, ArcSDE, Postgis, OracleSpatial, MySQL and many more.

Using NetBeans with Geotools

GeoTools2 is developed using the same modular structure as Netbeans and we plan to integrate GeoTools into Netbeans.

uDig is also GeoTools application.

Architecture

There are two system architecture patterns in use:

  • layers for data abstraction
  • plugins for extendability

目录

Install

获得源码 http://download.huihoo.com/geotools/
unzip gt2-2.3.5-src.zip
cd gt2-2.3.5
mvn install
mvn archetype:create -DgroupId=org.geotools.demo.example -DartifactId=geotools-example
creating a geotools-example directory
cd geotools-example
mvn eclipse:eclipse
mvn exec:java -Dexec.mainClass="org.geotools.demo.example.App

2.3.5可能出现的错误: // 换成 2.4.0 再做测试

constituent[0]: file:/usr/local/maven-2.0.7/lib/maven-core-2.0.7-uber.jar
---------------------------------------------------
java.lang.NullPointerException
        at  org.apache.maven.usability.MojoExecutionExceptionDiagnoser.diagnose 
(MojoExecutionExceptionDiagnoser.java:64)
mvn compile

Maven

m2 directory

Linux: ~/.m2 
Windows: C:\Documents and Settings\USER\.m2

settings.xml

<settings>
 <mirrors>
   <mirror>
     <id>mirror.repo</id>
     <name>mirror of Ibiblio/</name>
     <url>/home/allen/m2/repository</url>
     <mirrorOf>ibiblio</mirrorOf>
   </mirror>
 </mirrors>

</settings>

Getting Started

get gt2-2.3.5-bin.zip
unzip gt2-2.3.5-bin.zip
cd gt2-2.3.5
mvn archetype:create -DgroupId=org.geotools.demo.example -DartifactId=geotools-example
creating a geotools-example directory
cd geotools-example
mvn eclipse:eclipse
mvn exec:java -Dexec.mainClass="org.geotools.demo.example.App
mvn compile

more details: http://docs.codehaus.org/display/GEOTDOC/03+First+Project

Database

PostGIS

JDBC DataStore

map = new HashMap();
map.put("dataSource", source);
map.put("dbType", "postgis");
DataStore store = DataStoreFinder.getDataStore(map);

connect PostGIS

java.util.Map params = new java.util.HashMap();
params.put(PostgisDataStoreFactory.DBTYPE.key, "postgis");
params.put(PostgisDataStoreFactory.HOST.key, "localhost");
params.put(PostgisDataStoreFactory.PORT.key, 5432);
params.put(PostgisDataStoreFactory.SCHEMA.key, "public");
params.put(PostgisDataStoreFactory.DATABASE.key, "database");
params.put(PostgisDataStoreFactory.USER.key, "postgres");
params.put(PostgisDataStoreFactory.PASSWD.key, "postgres");
DataStore dataStore=DataStoreFinder.getDataStore(params);
String typeName = dataStore.getTypeNames()[0];
FeatureSource featureSource = dataStore.getFeatureSource( typeName );

Database

$ createdb -U postgres spearfish
$ createlang -U postgres plpgsql spearfish
$ psql -U postgres -f <path/to/file/>postgis.sql -d spearfish
$ psql -U postgres -f spearfish_data_pg.sql -d spearfish
$ vacuumdb -z spearfish 

more detail

Screenshots

Geotools-01.jpg
Geotools-02.jpg

Links

分享您的观点
个人工具
名字空间

变换
操作
导航
工具箱