[postgis-users] WKB Geometry Column

Paul Ramsey pramsey at refractions.net
Thu Mar 17 14:16:59 PST 2005


Stephen Woodbridge wrote:

> I have follow up questions.
> What applications on the client side use the WKB format now?

Mapserver, Geotools (Geoserver / uDig), for a few.

> Where is the WKB format documented?

In the OpenGIS SGSQL standard. Probably we should copy that description 
into our own documentation.

> As I think it would make sense to build a PHP and Perl Class the can 
> parse the WKB into data structures if they don't already exist. Do these 
> already exist?

Not sure. I have done half-assed perl WKB handlers in the past, but they 
are long gone into the bit bucket...

Paul

> 
> -Steve
> 
> Paul Ramsey wrote:
> 
>> Sean,
>>
>> You are confusing storage format with inout/output format. No matter 
>> how you get data *into* postgis, it will be stored the same way, using 
>> the same internal structure. You have three choices for getting data 
>> into and out of postgis:
>>
>> - Use the "canonical format". This is a string representation of the 
>> internal format. It might change, if we want to change the internal 
>> format. It currently looks a lot like WKB, but it is not. You can see 
>> the canonical format by going "select geom_column from geom_table".
>> - Use WKT. This is a human readable form of the geometry, using 
>> numbers and brackets and whatnot.  You can see the WKT format by going 
>> "select astext(geom_column) from geom_table".
>> - Use WKB. This is a computer readable form of hte geometry, a 
>> byte-stream.  You can see the canonical format by going "select 
>> asbinary(geom_column) from geom_table".
>>
>> The only thing that is "faster" about WKB is your handling of it on 
>> the client side. It is much faster for client software to parse the 
>> byte-stream than it for it to parse WKT. PostGIS itself will not have 
>> noticably different performance if you use WKB or WKT on output.
>>
>> Paul
>>
>> Sean M. Montague wrote:
>>
>>> I figured out how to insert GeomFromWKB, which makes me realize that I
>>> may be misunderstanding WKB.  My interest in postGIS is for creating SVG
>>> and I'm transitioning from an Avenue/ArcObjects background to web based
>>> implementation utilizing SVG, PHP, and hopefully postGIS.  I admit my
>>> knowledge of databases is lacking.  Previously I used MySQL, which is a
>>> lot easier to find answers to questions that I, as a novice to
>>> intermediate database user, have.  I try to avoid posting a question
>>> unless my search for an answer has turned up nothing.  I have come a
>>> long way, but I'm still trying to grasp conceptually what is going on in
>>> PostGIS.  What I don't get is how to utilize the WKB ability of postGIS.
>>> I read that shp2pgsql will insert as WKB, but after much searching, I
>>> have failed in figuring out how.  Where I read this didn't say how.
>>> Below is what I have figured out so far.  I extracted a poly from the
>>> database asBinary(geom) and printed it out into my SVG file.  I then
>>> viewed source and copied the poly binary string and placed it into the
>>> insert statement which worked, but the resulting geom in the new table
>>> is WKT, or what I believe to be WKT. INSERT INTO table1 (the_geom)
>>> VALUES
>>> (GeomFromWKB('01060000000100000001030000000100000005000000000000C0331E59
>>> C100000080D0874DC1000000C0331E59C1000000C0D42D58410000000053085041000000
>>> C0D42D5841000000005308504100000080D0874DC1000000C0331E59C100000080D0874D
>>> C1',32767));
>>>
>>> In the database, the above Insert creates a table where the geom is
>>> stored identically as if I had inserted with WKT.  What is it that I
>>> don't know about WKB?  I understand that WKB is faster, which explains
>>> my interest in it.  I thought that it would be stored as binary in the
>>> database.  Any insight would help.
>>> _______________________________________________
>>> postgis-users mailing list
>>> postgis-users at postgis.refractions.net
>>> http://postgis.refractions.net/mailman/listinfo/postgis-users
>>
>>
>>
>> _______________________________________________
>> postgis-users mailing list
>> postgis-users at postgis.refractions.net
>> http://postgis.refractions.net/mailman/listinfo/postgis-users
>>
> 
> _______________________________________________
> postgis-users mailing list
> postgis-users at postgis.refractions.net
> http://postgis.refractions.net/mailman/listinfo/postgis-users




More information about the postgis-users mailing list