Daugiau

„GeoTools WFS“ užklausos rūšiavimasNedirba „GeoServer WFS“


Aš naudoju „GeoTools“ norėdamas pateikti užklausą „GeoServer WFS“ naudodamas šį kodą:

Žemėlapio connectionParameters = naujas HashMap (); connectionParameters.put ("WFSDataStoreFactory: GET_CAPABILITIES_URL", String.format ("% s & request = GetCapability", wfsUrl)); connectionParameters.put ("WFSDataStoreFactory: TIMEOUT", connectionTimeout * 1000); DataStore duomenys = DataStoreFinder.getDataStore (connectionParameters); „SimpleFeatureType“ schema = data.getSchema („oro uostai“); „FeatureSource“ source = data.getFeatureSource (typeName); Eilutė geomName = schema.getGeometryDescriptor (). GetLocalName (); Vokelis bbox = naujas vokas (-100,0, -70, 25, 40); FilterFactory2 ff = CommonFactoryFinder.getFilterFactory2 (GeoTools.getDefaultHints ()); Objekto daugiakampis = JTS.toGeometry (bbox); Kertasi filtras = ff. Intersects (ff.property (geomName), ff.literal (polygon)); Užklausos užklausa = new DefaultQuery (typeName, filter, new String [] {geomName}); query.setSortBy (new SortBy [] {ff.sort ("country", SortOrder.ASCENDING)}); „FeatureCollection“ features = source.getFeatures (užklausa);

Užklausa pateikia funkcijas, tačiau rūšiavimas niekada neveikia. „ToString“ () užklausoje pateikia panašų žodį:

požymių tipas: oro uostų filtras: [[geom susikerta POLYGON ((-117.8395870053188 31.58066038426718, -115.5957867039628 31.58066038426718, -115.5957867039628 33.27328332002949)

o tai rodo, kad rūšiavimas yra užklausos dalis.

Veikia ši tiesioginė WFS užklausa:

http: // dalykas: 8080 / geoserver / ix / ows? service = WFS & version = 1.0.0 & request = GetFeature & typeName = oro uostai & srsName = epsg: 4326 & bbox = -117.8395870053188,31.58066038426718, -115.5957867039633332293 = 315

Turite idėju?


Supratau problemą. Jei naudojate WFS 1.0.0 versiją, sortBy neveikia. 1.1.0 versijos naudojimas veikia.