上期我介绍了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()); } }
结果贴图:
附件有完整代码。
相关推荐
geotools-26.1-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是一个开源(LGPL)Java代码库,它为操作地理空间数据提供符合标准的方法,例如实现地理信息系统(GIS)。GeoTools库在开发时实现了开放地理空间联盟(OGC)规范。本文档为GeoTools 21.2 api文档
NULL 博文链接:https://jjxliu306.iteye.com/blog/2423963
geotools-23.0-bin
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包 包含jar 版本为19.2 用于geoserver二次开发
geotools24jar包,shp文件导入导出必备
朋友,如果你从官网下载不成功,或嫌官网下载速度慢的,可以直接在这里下载。本人会做一个搜集,为广大开发者提供一个便利。 geotools-23.0-project离线包,
朋友,如果你从官网下载不成功,或嫌官网下载速度慢的,可以直接在这里下载。本人会做一个搜集,为广大开发者提供一个便利。 geotools-23.0-doc 离线包,
geotools-22-RC,jar资源下载
朋友,如果你从官网下载不成功,或嫌官网下载速度慢的,可以直接在这里下载。本人会做一个搜集,为广大开发者提供一个便利。 geotools-23.0-userguide离线包,
geotools相关的jar包集合,方便大家快速下载,集成到自己的项目。
geotools-2.5.2-guide
java平台geotools-22.2开发包,java读取tif高程数据值,根据经纬度查询高程值,开发jar包。
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开发的工具
3D-geotools-3d-extension.zip,支持3d操作的geotools扩展,3D建模使用专门的软件来创建物理对象的数字模型。它是3D计算机图形的一个方面,用于视频游戏,3D打印和VR,以及其他应用程序。