`
meijinbo
  • 浏览: 2660 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

geotools连接SDE获取数据

    博客分类:
  • GIS
阅读更多
public void sdeTest(String cqlPredicate,String refGeo){
		Map map = new HashMap();
		map.put( "dbtype", "arcsde" );
		map.put( "server", "127.0.0.1" );
		map.put( "port", "5151" );
		map.put( "instance", "sde" );
		map.put( "user", "test" );
		map.put( "password", "test" );
		DataStore dataStore = null;
		try {
			dataStore = DataStoreFinder.getDataStore(map);
			String typeName = "TEST_PG";
			SimpleFeatureType schema = dataStore.getSchema(typeName);
			String geometryAttributeName = schema.getGeometryDescriptor()
					.getLocalName();
			FilterFactory2 ff = CommonFactoryFinder.getFilterFactory2(GeoTools.getDefaultHints());
			List<Filter> match = new ArrayList<Filter>();
			if(cqlPredicate!=null){//属性查询条件 like a='1' and b='2'
				Filter filter1 = CQL.toFilter(cqlPredicate);
				match.add(filter1);
			}
			if(refGeo!=null){//空间查询条件 refGeo 是标准的WKT字符串 
				Filter filter2 = ff.contains(ff.property(geometryAttributeName), ff
						.literal(refGeo));
				match.add(filter2);
			}
			Transaction transaction = new DefaultTransaction();
			Filter filter = ff.and(match);//属性空间联合查询
			Query query = new Query(typeName, filter);
//			query.setStartIndex(new Integer(4));
//			query.setMaxFeatures(2);
			SortBy[] sortBy = new SortBy[1];
			//sortBy[0] = ff.sort("NAME", SortOrder.DESCENDING );
			sortBy[0] = ff.sort("ZZJGDM", SortOrder.ASCENDING );
			query.setSortBy(sortBy);
			FeatureReader reader = dataStore.getFeatureReader(query,
					transaction);
			while (reader.hasNext()) {
				Feature feature = reader.next();
				Iterator iterator = feature.getProperties().iterator();
				while (iterator.hasNext()) {
					Property property = (Property) iterator.next();
//					if(!property.getName().getLocalPart().equalsIgnoreCase(geometryAttributeName))
					System.out.print(property.getName() + "="
							+ property.getValue()+"\t");
					String colName = property.getName().getLocalPart();
				}
				System.out.println();
			}
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (CQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}finally{
			if(dataStore!=null)
			dataStore.dispose();
		}
	}
分享到:
评论

相关推荐

    geotools对wms的实现支持

    GeoTools 是一个遵循 OGC 规范的开源 GIS 工具包,提供了地理信息数据读写、处理、坐标转换、查询分析、格式化输出等多个方面的功能。在 GeoTools 的基础上,我们可以实现一个简单的 WMS(Web Map Service),本文将...

    GeoTools是一个开源的Java库提供地理空间数据工具

    例如,可以利用GeoTools从WMS服务获取地图图片,结合WFS服务获取空间数据,然后进行数据分析和可视化,最后将结果呈现给用户。在使用过程中,遇到问题可以参考GeoTools的官方文档、社区论坛和示例代码,获取帮助和...

    geotools系列2-读取postgis

    在IT行业中,GeoTools是一个重要的开源Java库,用于处理地理空间数据。本篇文章将深入探讨“geotools系列2-读取postgis”的主题,旨在帮助开发者了解如何使用GeoTools库来有效地操作和读取存储在PostGIS数据库中的...

    Geotools Java API 开发gis的参考资料

    org.geotools org.geotools.arcsde org.geotools.arcsde.data org.geotools.arcsde.data.versioning org.geotools.arcsde.data.view org.geotools.arcsde.filter org.geotools.arcsde.gce org.geotools....

    GeoTools API

    org.geotools org.geotools.arcsde org.geotools.arcsde.data org.geotools.arcsde.data.view org.geotools.arcsde.filter org.geotools.arcsde.jndi org.geotools.arcsde.logging org.geotools.arcsde....

    geotools所需jar包合集

    描述中提到的"内含4个geotools的jar包",意味着这个压缩包提供了四个核心的GeoTools组件,这些组件通常包括了基本的数据读取、处理和展示功能。 标签"java geotools sha转geojson api org.geotools"揭示了几个关键...

    geotools汉语版资料

    GeoTools是一个开放源代码的Java库,它实现了OGC(Open Geospatial Consortium)标准,提供了对地理空间数据的操作和可视化功能。这份资料集为中文用户提供了方便的学习和参考资料,有助于理解和应用GeoTools。 1. ...

    geotools相关jar包

    5. 数据库连接:GeoTools支持与多种关系型数据库(如PostGIS)和NoSQL数据库(如MongoDB)的连接,可以直接查询和操作存储在其中的空间数据。 6. 功能强大的API:GeoTools提供了丰富的API,包括几何对象、投影、...

    geotools18.1依赖jar包

    GeoTools是开源GIS(地理信息系统)领域的一个重要项目,它为Java开发者提供了处理地理空间数据的强大工具。这个“geotools18.1依赖jar包”是GeoTools库的第18.1版本,经过验证,它在使用时是稳定且无错误的。 Geo...

    Geotools API 手册

    Geotools是开源Java库,它提供了一系列的工具和接口,使得开发者能够轻松地在Java应用程序中处理、分析和展示地理空间数据。这个API手册是英文版,为那些寻求在GIS项目中使用Geotools API的开发者提供了丰富的参考...

    geotools依赖.rar

    总之,GeoTools项目的源码构建离不开一系列关键的第三方库,这些库提供了处理地理数据、空间计算、数据库连接等核心功能。理解并掌握这些依赖的作用,对于成功构建和使用GeoTools源码至关重要。通过分享这些依赖包,...

    geotools依赖包

    GeoTools是一个开源的Java库,专门用于处理地理空间数据。这个“geotools依赖包”包含了一组模块,用于支持各种地理信息系统(GIS)的功能,如读取、写入和操作地理空间数据。GeoTools库遵循Java Community Process ...

    geotools18.4开发离线jar包

    6. **数据存储**:GeoTools不仅支持内存中的数据管理,还能够连接到各种数据库系统,如PostGIS、Oracle Spatial等,进行数据的存储和查询。 7. **栅格处理**:对于遥感影像和栅格数据,GeoTools提供了读取、裁剪、...

    geotools中文资料,我学习时候,整理的资料,

    - **数据读取与写入**:GeoTools支持多种GIS数据格式,如Shapefile、GML、KML、GeoJSON等,可以方便地进行数据的读取和写入。 - **空间运算**:GeoTools提供了丰富的几何对象操作,包括几何对象的创建、查询、修改...

    geoTools所需jar包

    2. **Maven编译问题**:通常情况下,从GeoTools官方获取的源码需要通过Maven构建工具来编译,因为GeoTools有复杂的依赖关系,需要解决这些依赖才能正确运行。然而,这个过程可能对新手或者不熟悉Maven的开发者来说...

    geotools.rar

    此外,Geotools还提供了丰富的数据访问功能,如读取和写入多种GIS数据格式(如Shapefile、GeoTIFF、GML等),以及通过OGC服务(如WMS、WFS)获取远程数据。在处理这些数据时,可以利用`DataStore`和`FeatureSource`...

    geotools 地理编码工具类

    geotools支持WGS84、UTM等多种常见的SRID,确保了坐标数据在不同系统间的准确转换。 在实际应用中,geotools的这个功能可以应用于多种场景。例如,在环境监测中,我们需要确定监测点是否位于污染源的范围内;在交通...

    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...

Global site tag (gtag.js) - Google Analytics