Hi Jukka,
Here are some results (thanks for the test database).
- Simple geometries 2D, Z, M, ZM are read correctly (Z, M and ZM are
interpreted the same way = 3D coordinates)
- MultiGeometries and GeometryCollections are read correctly in 2D, but
are not read if there is Z, M or ZM.
Explanation : I made a simple patch to change the geometry type in wkb
(byte 1 to 4). Unfortunately, in geometry collections, geometry type is
repeated in front of each single geometry. Patching spatialite driver to
change them all is not reasonable (it means re-implementing a
significative part of the wkb parser).
I will let it as is and try to work with Martin Davis to have it
included fully in JTS in the future.
Michaël
Le 17/02/2016 16:49, Rahkonen Jukka (MML) a écrit :
Sorry Michaël, I noticed that I used the version of OpenJUMP with a
hacked JTS instead of the version with patched spatialite driver
(r4823). My observations below are useless.
-Jukka-
*Lähettäjä:*Rahkonen Jukka (MML)
[mailto:jukka.rahko...@maanmittauslaitos.fi]
*Lähetetty:* 17. helmikuuta 2016 17:34
*Vastaanottaja:* OpenJump develop and use
*Aihe:* Re: [JPP-Devel] OJ reads XYZ in PostGIS style EWKB, not in OGC
style WKB
Hi Michaël,
Here is a test database that should contain one feature of each
geometrytype which are valid in GeoPackage:
http://latuviitta.org/downloads/gpkg_geometrytype_test.gpkg
Just the byte order that comes from my Windows/Intel, unfortunately.
You can create the same database with SQL script
http://latuviitta.org/downloads/make_gpkg.txtbut it requires
mod_spatialite with all the dependencies. Script can also be run from
the SQL window of spatialite-gui but it may also help to just have a
look at the script with bare eyes because all the geometries which are
written into GeoPackage are there as WKT.
I had time for only a quick test. To start testing was by the way
amazingly easy because with the new Spatialite datastore I could
select all the layers at the same time and open them into an OJ project.
Geometries with Z seem to be mostly readable except GEOMETRYCOLLECTION
Z. It looks like most or all ZM geometries behave badly.
-Jukka-
*Lähettäjä:*Michaël Michaud [mailto:m.michael.mich...@orange.fr]
*Lähetetty:* 17. helmikuuta 2016 14:48
*Vastaanottaja:* jump-pilot-devel@lists.sourceforge.net
<mailto:jump-pilot-devel@lists.sourceforge.net>
*Aihe:* Re: [JPP-Devel] OJ reads XYZ in PostGIS style EWKB, not in OGC
style WKB
Hi Jukke,
Just patched spatialite driver in OpenJUMP.
Can you try different geometry types, and if possible, with different
byte order ?
Not sure what happens wih geometry M and geometry ZM.
Michaël
Le 16/02/2016 13:40, Rahkonen Jukka (MML) a écrit :
Hi,
I can confirm that with the patched jts jar I can read XYZ
geometries from GeoPackage database. Points, lines, and polygons
tested. It would be very nice to get even a patched temporary
read-only support for OGC style XYZ geometries into OpenJUMP soon
without a need to wait until JTS will support them.
-Jukka Rahkonen-
Michaël Michaud wrote:
Thanks Jukka,
I was not aware of this difference between postgis wkb and ogc wkb.
Now, it is clear why I've never had problem with postgis 3D wkb
and why there is problem with geopackage driver.
We'll have to make some suggestion to MD for JTS, but we have some
options there.
JTS can manage 2D coordinates (very well), 3D coordinates (just
holding information), and even 4D geometries (poorly = 4th
dimension is generally lost after geometry processing)
JTS has not clear semantic for Z, M, ZM.
In the attached prototype, I made the simplest patch I could do :
if geometry type is > 1000, consider it is a 3D geometry (may be
buggy for geometryZM which is 4D)
another option would be :
if geometry type is > 1000 and < 2000, consider it is a 3D
geometry and throw an error over 2000
For wkb writer, it is another problem as we cannot write postgis
wkb AND ogc wkb at the same time.
We'll have to add an option to the writer. We have to discuss that
with MD.
Please, let me know if the attached proto resolve the problem (you
have to add .jar and drop it in /lib folder in replacement of
jts-1.14.0.jar).
As official JTS-1.14 has just been released and 1.15 is probably
far ahead, we can also circumvent the problem by changing the wkb
byte array in the geopackage reader so that it conforms to postgis
wkb. It would need to extract and transform the four geometry type
bytes. Not too difficult, but a bit convoluted
Michaël
Le 11/02/2016 11:26, Rahkonen Jukka (MML) a écrit :
Hi,
Pasting this thread
https://lists.osgeo.org/pipermail/geos-devel/2013-December/006757.htmlfor
making it easier to find from the OpenJUMP archives what is
the difference between XYZ geometries as they appear in OGC
WKT and in the PostGIS EWKB. Adding also some keywords from
the original error:
unknown wkb type 235
It seems that the fix requires enhancement to JTS
WKBReader/Writer for making it possible to the OGC style XYZ,
XYM, and XYZM WKB.
Quotation from JTS 1.14 source file
https://sourceforge.net/p/jts-topo-suite/code/HEAD/tree/trunk/jts/java/src/com/vividsolutions/jts/io/WKBWriter.java
* This implementation also supports the <b>Extended WKB</b>
* standard. Extended WKB allows writing 3-dimensional coordinates
* and including the geometry SRID value.
* The presence of 3D coordinates is signified
* by setting the high bit of the <tt>wkbType</tt> word.
* The presence of an SRID is signified
* by setting the third bit of the <tt>wkbType</tt> word.
* EWKB format is upward compatible with the original SFS WKB
format.
If you will write to JTS list you could perhaps suggest to at
least add here and there in the code and javadocs a clear
notice telling that only 2D OGC WKB is supported.
-Jukka Rahkonen-
------------------------------------------------------------------------------
Site24x7 APM Insight: Get Deep Visibility into Application
Performance
APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month
Monitor end-to-end web transactions and take corrective
actions now
Troubleshoot faster and improve end-user experience. Signup Now!
http://pubads.g.doubleclick.net/gampad/clk?id=272487151&iu=/4140
_______________________________________________
Jump-pilot-devel mailing list
Jump-pilot-devel@lists.sourceforge.net
<mailto:Jump-pilot-devel@lists.sourceforge.net>
https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel
------------------------------------------------------------------------------
Site24x7 APM Insight: Get Deep Visibility into Application Performance
APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month
Monitor end-to-end web transactions and take corrective actions now
Troubleshoot faster and improve end-user experience. Signup Now!
http://pubads.g.doubleclick.net/gampad/clk?id=272487151&iu=/4140
_______________________________________________
Jump-pilot-devel mailing list
Jump-pilot-devel@lists.sourceforge.net
<mailto:Jump-pilot-devel@lists.sourceforge.net>
https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel
------------------------------------------------------------------------------
Site24x7 APM Insight: Get Deep Visibility into Application Performance
APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month
Monitor end-to-end web transactions and take corrective actions now
Troubleshoot faster and improve end-user experience. Signup Now!
http://pubads.g.doubleclick.net/gampad/clk?id=272487151&iu=/4140
_______________________________________________
Jump-pilot-devel mailing list
Jump-pilot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel
------------------------------------------------------------------------------
Site24x7 APM Insight: Get Deep Visibility into Application Performance
APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month
Monitor end-to-end web transactions and take corrective actions now
Troubleshoot faster and improve end-user experience. Signup Now!
http://pubads.g.doubleclick.net/gampad/clk?id=272487151&iu=/4140
_______________________________________________
Jump-pilot-devel mailing list
Jump-pilot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel