On Mon, Jan 13, 2014 at 12:41:37PM -0800, Michael Watts wrote:
> I'm not sure if this is a PostGIS issue, a JTS issue, or an issue at all --
> but, below, JTS produces a WKB that is not parseable (via ST_GeomFromWKB)
> by Postgis -- it is the JTS wkb-representation of an empty polygon.
> 
> ===============================
> 
> (1) Get WKB from PostGIS
> 
> gis=> select ST_GEOMFromText('POLYGON EMPTY');
>   st_geomfromtext
> --------------------
>  010300000000000000
> (1 row)
> 
> (2)  Write to JTS, and read back.
> 
> WKBWriter writer = new WKBWriter();
> WKBReader reader = new WKBReader();
> 
> // 010300000000000000
> byte[] fromPostgis = {1, 3, 0, 0, 0, 0, 0, 0}; // little-endian, polygon, 0
> rings
> 
> // 00000000030000000100000000
> byte[] throughJTS = writer.write(reader.read(fromPostgis)); // big endian,
> polygon, 1 ring, 0 points
> 
> (3) Try to write back to PostGIS
> 
> gis=> select ST_GeomFromWKB(E'\\x00000000030000000100000000');
> ERROR:  Polygon must have at least four points in each ring
> 
> ================================
> 
> JTS-Version = 1.13
> POSTGIS="2.1.0 r11822"

PostGIS binary version for an empty polygon is different:

 strk=# select ST_AsBinary('POLYGON EMPTY'::geometry, 'ndr');
      st_asbinary
 ----------------------
  \x010300000000000000
 (1 row)
 
 strk=# select ST_AsBinary('POLYGON EMPTY'::geometry, 'xdr');
      st_asbinary
 ----------------------
  \x000000000300000000
 (1 row)

That is, a polygon with NO rings, whereas it looks like JTS version
is a polygon with 1 empty ring ?

--strk;

------------------------------------------------------------------------------
CenturyLink Cloud: The Leader in Enterprise Cloud Services.
Learn Why More Businesses Are Choosing CenturyLink Cloud For
Critical Workloads, Development Environments & Everything In Between.
Get a Quote or Start a Free Trial Today. 
http://pubads.g.doubleclick.net/gampad/clk?id=119420431&iu=/4140/ostg.clktrk
_______________________________________________
Jts-topo-suite-user mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/jts-topo-suite-user

Reply via email to