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();
}
}
分享到:
相关推荐
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....
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....
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对wms的实现支持,给出了geotools如何开发一个简单的wms实现,对理解geoserver源码有很大的帮助作用。
GeoTools是一个开源的Java库,提供地理空间数据工具
geotools汉语版资料
geotools 判断几何要素的交点 当时想到用的GDAL 但是 交点函数返回的对象总是null , 改用 GeoTools 这个库,需要用到jar 到官网上下载,主要是jts-core-1.16.0.jar
英文版本,不是中文版本的 GeoTools开发的工具
geotools依赖包
geotools所需jar包合集,内含4个geotools的jar包,各位可以根据需要自行导入使用,预祝bug少少
springboot项目-基于geotools的倾斜摄影大地坐标转自定义投影坐标源码.zipspringboot项目-基于geotools的倾斜摄影大地坐标转自定义投影坐标源码.zipspringboot项目-基于geotools的倾斜摄影大地坐标转自定义投影坐标...
GeoTools是一个开源(LGPL)Java代码库,它为操作地理空间数据提供符合标准的方法,例如实现地理信息系统(GIS)。GeoTools库在开发时实现了开放地理空间联盟(OGC)规范。本文档为GeoTools 21.2 api文档
geotools学习(一)IntelliJ IDEA搭建快速入门示例.pdf
geotools中文资料,我学习时候,整理的资料,
这是geotools相关jar包,下载导入即可用,本人调试过了
geoTools在官网下载的源码和jar包,直接倒进eclipse用不了,需要用maven编译,编译起来相当麻烦,特将工程编译,然后将所需jar文件整理出来,分享给大家,欢迎下载
geotools相关的jar包集合,方便大家快速下载,集成到自己的项目。
geotools-26.0.zip 代码和环境还有生成的jar 包