[postgis] Re: JDBC and WKB; shp2postgresql

dougvanauken dougvanauken at worldnet.att.net
Mon Nov 26 20:15:32 PST 2001


Thanks for the info.  Right after I sent the note, I realized my 
numbering was off (the subject line was off a little bit, too.)  Oh 
well!? 

Anyway, If anyone knows about how to get WKB and JDBC working 
together, I'd really like to see how it works.

Thanks again.

--- In postgis at y..., Paul Ramsey <pramsey at r...> wrote:
> Your numbering is a little funny (1,2,2,3) :) but I'll take a try
> anyways:
> 
> > First question:
> > Does anyone have some examples on how to insert and retreive 
geometry
> > using WKB and JDBC:
> 
> No, because as far as I can tell, it cannot be done. I have gone 
through
> the postgresql jdbc driver, and it looks to me like it is 
restricted to
> text cursors. If someone knows or has done different I would be
> interested to see the results.
> 
> > -------------------------------------------------------
> > Second question:
> > According to the OpenGIS SQL specicification an insert using WKB
> > would use the following format:
> > INSERT INTO Countries (Name, Location) VALUES ('Kenya', 
PolygonFromWKB
> > (:wnb, :srid)).
> > 
> > Using this format, how do you insert an WKB object using JDBC?
> 
> Again, unfortunately WKB just is not on the agenda using the JDBC
> driver.
> 
> > As an example, if I have this:
> > 
> > Polygon polygon = new Polygon(...);
> > ....
> > PreparedStatement pstmt = cnn.prepareStatement("INSERT INTO 
Countries
> > (Name, Location) VALUES ('Kenya', ?)
> > pstmt.setOject(1, polygon)
> > How would I implement PolgyonFromWKB(:wkb, :srid)?
> 
> Not entirely sure what is being asked here, but see the comments 
above,
> as they might have a bearing.
> 
> > ----------------------------------------------------
> > 
> > Second question:
> > Is the following the correct way to retreive an object using JDBC 
and
> > WKB?
> > 
> > ResultSet rst = cnn.executeQuery("SELECT Name, AsBinary(Location)
> > FROM Countries WHERE Name like 'k%');
> > while(r.next()){
> >   String name = r.getString(1)
> >   PGgeometry geometry = (PGgeometry)r.getObject(2);
> > }
> 
> What is actually happening behind the scenes when you do this is 
that
> the proxy object PGgeometry is parsing the WKT representation of the
> object. It is nice because you do not have to worry about parsing, 
but
> it is not WKB, it is just hiding the WKT for you.
> 
> > ------------------------------------------------------
> > Third question:
> > If I insert an object as text, can I retreive it as binary, and 
vice-
> > versa -- If I insert it as binary, can I retreive it as text?
> 
> Yes, absolutely. In the database, there is just one geometry
> representation, a C struct. The WKT and WKB representations are
> generated on the fly when requested. You can make a geometry from 
either
> representation and you can retrieve a geometry as either 
representation.
> In fact, the idea of an AsGML() function is Yet Another Way to 
retrieve
> geometries. 
> (If anyone wants to do AsGML() it would be a great simple function 
for
> someone to add as a learning project...)


------------------------ Yahoo! Groups Sponsor ---------------------~-->
Free unlimited calling with CrystalVoice!
Download your FREE 30 day trial. Click Here.
http://us.click.yahoo.com/2YBmVC/f.SDAA/ySSFAA/PhFolB/TM
---------------------------------------------------------------------~->

To unsubscribe from this group, send an email to:
postgis-unsubscribe at yahoogroups.com

 

Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/ 





More information about the postgis-users mailing list