Hi,

I suspect your geometry is malformed. Do you intend something like the following ?


- I am not encline to suspect JTS parser because I have used it to parse PostGIS 2D and 3D WKB for a long time. - When I saw your example on stackoverflow, I suspected EB 03 is not a valid geometry type. - When I swapp byte 2 and 3 of the wkb (what I would have done to write 1003 geometry type with little endian convention), I can read it and get the above geometry.

More about endianess
The wkb first byte is an endianess flag. It says the geometry type is coded using little endian convention (01) But actual int value EB 03 00 00 is neither 1003 in little endian convention nor in big endian convention little endian (less significant bit first) : 1003 (as a 4 bytes integer) = 03 EB 00 00 big endian (most significant bit first) : 1003 (as a 4 bytes integer) = 00 00 EB 03

Also, I made a quick test with Spatialite, and when I tried to read geometry (ST_AsText(geom)), it returned null.

Could you read this table with spatialite ?
Do you know how this gpkg file has been produced ?

Michaël



Le 10/02/2016 10:24, [email protected] a écrit :
hehe :)),

it was probably less a lack of interest and more a lack of directly usable test 
data ;).. anyway,

Mike: afair WKB blob parsing is done via JTS, or? so the bug is probably in 
there and must be fixed there as well. maybe i makes sense if you forward the 
testdata to them.

..ede

On 09.02.2016 23:40, Rahkonen Jukka (MML) wrote:
Hi,

Sorry, I was thinking that you programmers are interested in the deep details. 
That file can't be read directly with OJ because it is just the geometry BLOB 
from the database. Perhaps somebody who knows the source code could feed the 
blob into the Spatialite code in the debug environment and see what happens.

Here is a small GeoPackage that shows the problem with parsing XYZ geometries 
http://latuviitta.org/downloads/mtk.gpkg.
Make a spatialite connection to the database file and try to read some layer. My example 
was from the "kunta"  layer which is POLYGON Z.

-Jukka-

Michaël Michaud wrote:

Jukka,

Can you give me some some hints to test the file with OpenJUMP ?
I tried to open the file with datastore / spatialite driver, but it does not 
seem to recognize the file as a sqlite database.
Is it supposed to be recognized as is.

With

Le 09/02/2016 11:09, Rahkonen Jukka (MML) a écrit :
Hi Michaël,

Please find attached one GeoPackage blob that OpenJUMP does not convert.  It is 
of type POLYGON Z, thus 1003 and 03ea as hexadecimal.

I am not good in reading bits and bytes but I have tried.

Bytes 1-3:
47 50 00
"GP" and "0" Means that file is Geopackage, version 1

Byte 4: 05
This is a lag byte with bit values 0 0 0 0 0 1 0 1
Of those flags bits 5-7 "010" makes number "2", which means that envelope is 
[minx, maxx, miny, maxy, minz, maxz] and it takes 48 bytes. Remember this.

Bytes 5-8:
fb 0b 00 00
SRID, value as decimal number "3067"

Bytes 9-56
48 bytes used for the envelope

Bytes 57 ->
WKB
starts 00 01 eb 03 ...
In reversed order "03 eb" is 1003 as decimal, which means "wkbPolygonZ" which 
is correct.


Regards,

-Jukka-




Lähettäjä: Michaël Michaud [mailto:[email protected]]
Lähetetty: 9. helmikuuta 2016 10:13
Vastaanottaja: 
[email protected]<mailto:[email protected]>
Aihe: Re: [JPP-Devel] Parsing XYZ geometries from Geopackage

Hi Jukka,

GeoPackage geometry is read with JTS WKBReader which is supposed to handle 3D 
geometries.
I think it cannot read ZM though.
The WKB type returned in the error message is the geometry type truncated to 
the 2 last bytes,
z information is held in a separate boolean variable for every type > 128.
Maybe the reading of the wkb part does not start exactly where it should. Or 
maybe there is an
endianness problem.
In the example of stackoverflow, I would say that the input wkb is actually not 
valid (I would write
wkb type as 03ea0000, not ea030000), but I may be wrong.

Michaël
Le 08/02/2016 23:40, Rahkonen Jukka (MML) a écrit :
Hi,

I tried to open a GeoPackage file through the new Spatialite datastore but got just JTS 
errors like "unknown wkb type 235". I discovered soon that my data had also 
Z-coordinates and this Stackoverflow question 
http://stackoverflow.com/questions/29142663/parse-wkb-string-using-jts-topology-suite 
handles the same issue. But don't we have some support for 3d geometries in WKB range 
1001-1007 in other places of OpenJUMP?

The full list of WKB types from page 66 of "OpenGIS® Implementation Standard for 
Geographic information - Simple feature access - Part 1: Common architecture" is as 
follows:

enum WKBGeometryType {
wkbPoint = 1,
wkbLineString = 2,
wkbPolygon = 3,
wkbTriangle = 17
wkbMultiPoint = 4,
wkbMultiLineString = 5,
wkbMultiPolygon = 6,
wkbGeometryCollection = 7,
wkbPolyhedralSurface = 15,
wkbTIN = 16
wkbPointZ = 1001,
wkbLineStringZ = 1002,
wkbPolygonZ = 1003,
wkbTrianglez = 1017
wkbMultiPointZ = 1004,
wkbMultiLineStringZ = 1005,
wkbMultiPolygonZ = 1006,
wkbGeometryCollectionZ = 1007,
wkbPolyhedralSurfaceZ = 1015,
wkbTINZ = 1016
wkbPointM = 2001,
wkbLineStringM = 2002,
wkbPolygonM = 2003,
wkbTriangleM = 2017
wkbMultiPointM = 2004,
wkbMultiLineStringM = 2005,
wkbMultiPolygonM = 2006,
wkbGeometryCollectionM = 2007,
wkbPolyhedralSurfaceM = 2015,
wkbTINM = 2016
wkbPointZM = 3001,
wkbLineStringZM = 3002,
wkbPolygonZM = 3003,
wkbTriangleZM = 3017
wkbMultiPointZM = 3004,
wkbMultiLineStringZM = 3005,
wkbMultiPolygonZM = 3006,
wkbGeometryCollectionZM = 3007,
wkbPolyhedralSurfaceZM = 3015,
wkbTinZM = 3016,
}

-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

[email protected]<mailto:[email protected]>

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

[email protected]<mailto:[email protected]>

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
[email protected]
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
[email protected]
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
[email protected]
https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel

Reply via email to