`
jjxliu306
  • 浏览: 153352 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

geotools系列2-读取postgis

    博客分类:
  • GIS
阅读更多

上期我介绍了geotools读取shp文件的事例 (geotools系列1-读取shp文件),本次说明读取读取postgis里表数据的代码,依旧是读取数据打印出来展示。

 

1、环境,maven依赖等,参见上次 geotools系列1-读取shp文件 。

2、直接上java代码

 

package com.jjxliu.geotools.geotools_t1;

import java.io.IOException;
import java.util.HashMap;
import java.util.Map;

import org.geotools.data.DataStoreFinder;
import org.geotools.data.simple.SimpleFeatureCollection;
import org.geotools.data.simple.SimpleFeatureIterator;
import org.geotools.data.simple.SimpleFeatureSource;
import org.geotools.jdbc.JDBCDataStore;
import org.opengis.feature.simple.SimpleFeature;
import org.opengis.filter.Filter;

public class TestPostgis {

	public static SimpleFeatureCollection  readPostgisTable(String host , int port , String user , String pass , String dbname, String schema , String tablename ){
		
		return readPostgisTable(host, port, user, pass, dbname, schema, tablename , null);
	}
	
	public static SimpleFeatureCollection  readPostgisTable(String host , int port , String user , String pass , String dbname, String schema , String tablename , Filter filter){
		 
		Map<String, Object> params = new HashMap<>();
		params.put("dbtype", "postgis");
		params.put("host", host);
		params.put("port", port);
		params.put("schema", schema);
		params.put("database", dbname);
		params.put("user", user);
		params.put("passwd", pass);

		try {
			JDBCDataStore dataStore = (JDBCDataStore) DataStoreFinder.getDataStore(params);

			return readDatastore(dataStore, tablename, filter);
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		return null;
	}
	
	public static SimpleFeatureCollection readDatastore(JDBCDataStore store ,String typeName , Filter filter){
		
		try {
			SimpleFeatureSource featureSource = store.getFeatureSource(typeName);
			
			return filter != null ? featureSource.getFeatures(filter) : featureSource.getFeatures();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}

		return null;
		
	}

	  
}

 

 

 

3、测试

 

public static void main(String[] args) {
		      
		String host = "127.0.0.1";
		String schema = "public" ;
		String database = "lyf" ;
		String user = "lyf" ;
		String pass = "lyf123" ;
		String tablename = "cell" ;
		int port = 6666;
	        	 
		
		//读取 
		SimpleFeatureCollection  colls1 = readPostgisTable(host, port, user, pass, database, schema, tablename);
		
		if(colls1 == null){
			System.out.println("请检查参数,确保jdbc连接正常以及表存在.");
			return;
		}
		
		//拿到所有features
		SimpleFeatureIterator iters = colls1.features();
		//遍历打印
		while(iters.hasNext()){
			SimpleFeature sf = iters.next();
			
			System.out.println(sf.getID() + " , " + sf.getAttributes());
			
		}

	}

 

 

 

 

结果贴图:



 

 

附件有完整代码。

  • 大小: 70.7 KB
0
0
分享到:
评论

相关推荐

    geotools-26.1-bin.zip

    geotools-26.1-bin.zip

    geotools稳定版本geotools-19.4-bin.zip

    import org.geotools.data.FileDataStore; import org.geotools.data.FileDataStoreFinder; import org.geotools.data.simple.SimpleFeatureSource; import org.geotools.map.FeatureLayer; import org.geotools.map...

    geotools-21.2-doc.zip

    GeoTools是一个开源(LGPL)Java代码库,它为操作地理空间数据提供符合标准的方法,例如实现地理信息系统(GIS)。GeoTools库在开发时实现了开放地理空间联盟(OGC)规范。本文档为GeoTools 21.2 api文档

    geotools系列1-读取shp文件

    NULL 博文链接:https://jjxliu306.iteye.com/blog/2423963

    geotools-23.0-bin.zip

    geotools-23.0-bin

    geotools-2.5.7-guide

    geotools 开发指导 GeoTools Users Guide : Home This page last changed on Jul 29, 2008 by jive. User Guide 01 Welcome 00 Source License 01 Documentation License 02 Meet the GeoTools Library 03 First ...

    geotools-19.2-bin.zip

    geotools包 包含jar 版本为19.2 用于geoserver二次开发

    geotools-24.3-bin.zip

    geotools24jar包,shp文件导入导出必备

    geotools-23.0-project

    朋友,如果你从官网下载不成功,或嫌官网下载速度慢的,可以直接在这里下载。本人会做一个搜集,为广大开发者提供一个便利。 geotools-23.0-project离线包,

    geotools-23.0-doc.zip

    朋友,如果你从官网下载不成功,或嫌官网下载速度慢的,可以直接在这里下载。本人会做一个搜集,为广大开发者提供一个便利。 geotools-23.0-doc 离线包,

    geotools-22-RC

    geotools-22-RC,jar资源下载

    geotools-23.0-userguide

    朋友,如果你从官网下载不成功,或嫌官网下载速度慢的,可以直接在这里下载。本人会做一个搜集,为广大开发者提供一个便利。 geotools-23.0-userguide离线包,

    geotools相关jar包集合

    geotools相关的jar包集合,方便大家快速下载,集成到自己的项目。

    geotools-2.5.2-guide

    geotools-2.5.2-guide

    geotools-22.2-bin.zip

    java平台geotools-22.2开发包,java读取tif高程数据值,根据经纬度查询高程值,开发jar包。

    geotools24.4

    org.geotools.gt-shapefile.24.4 org.geotools.gt-opengis.24.4 org.geotools.gt-main.24.4 org.geotools.gt-metadata.24.4 org.geotools.gt-referencing.24.4 org.geotools.gt-geojson.24.4 maven引用,例: ...

    Geotools API 手册

    英文版本,不是中文版本的 GeoTools开发的工具

    3D-geotools-3d-extension.zip

    3D-geotools-3d-extension.zip,支持3d操作的geotools扩展,3D建模使用专门的软件来创建物理对象的数字模型。它是3D计算机图形的一个方面,用于视频游戏,3D打印和VR,以及其他应用程序。

Global site tag (gtag.js) - Google Analytics