Dear all,
I am facing an issue with geometry validation.
I have a PostGIS table for which I tested geometry validity with GEOS
st_isValid(), all geometries are valid. I published this PostGIS table
in Geoserver and I use this layer in a model based on Geotools/JTS,
retrieving the features using WFS Datastore plugin.
- I retrieved the features from WFSDatastore, and before applying any
geo-process, I set a control of geometry validity using the JTS method
isValid(). According to JTS, some geometries are not valid, while they
are valid according to GEOS st_isValid() in PostGIS. I tried to focus on
the issue, and tested one geometry using WKT:
String wkt = "MULTIPOLYGON(((-4931658.38628938
5608697.43804972,-4931658.38629031 5608697.43804656,-4931658.38628939
5608697.43804972,-4931658.38628938
5608697.43804972)),((-4947166.38166375
5555710.74141808,-4947166.38166466 5555710.74141493,-4947166.38166467
5555710.74141491,-4947166.38166467 5555710.74141491,-4947166.38166375
5555710.74141808)))";
GeometryFactory geometryFactory = JTSFactoryFinder.getGeometryFactory(
null );
WKTReader reader = new WKTReader( geometryFactory );
Geometry geom = reader.read(wkt);
System.out.println(geom.isValid());
Getting a geometry from WKT, I can see that both GEOS and JTS return
true, so it seems the issue is related to GeoTools WFSdatastore.
- Hereafter the wkt string of the geometry retrieved from WFS, which
indeed is a bit different.
MULTIPOLYGON (((-4931658.38628938 5608697.43804972, -4931658.38629031
5608697.43804656, -4931658.3862893_*8*_ 5608697.43804972,
-4931658.38628938 5608697.43804972)), ((-4947166.3816637_*4*_
5555710.74141808, -4947166.38166466 5555710.74141493, -4947166.38166467
5555710.74141491, -4947166.38166467 5555710.74141491,
-4947166.3816637*_4_* 5555710.74141808)))
This small difference makes the geometry invalid.
I know that to make valid a geometry, I can apply a buffer, but I would
like to avoid this and know if such issue could be solved in
WFSdatastore, so to ensure that the geometry retrieved from WFS is
exactly the same as in the initial geometry in PostGIS.
==================
Here the versions I am using:
- select postgis_full_version(): "POSTGIS="1.5.3"
GEOS="3.3.1-CAPI-1.7.1" PROJ="Rel. 4.6.1, 21 August 2008" LIBXML="2.7.8"
USE_STATS"
- Geoserver 2.1.3
- Geotools library / WFS datastore plugin - version 8.0-M4
I thank you in advance for your help,
Regards,
Emmanuel
------------------------------------------------------------------------------
Ridiculously easy VDI. With Citrix VDI-in-a-Box, you don't need a complex
infrastructure or vast IT resources to deliver seamless, secure access to
virtual desktops. With this all-in-one solution, easily deploy virtual
desktops for less than the cost of PCs and save 60% on VDI infrastructure
costs. Try it free! http://p.sf.net/sfu/Citrix-VDIinabox
_______________________________________________
Geotools-gt2-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/geotools-gt2-users