WKB4J

WKB4J is a Java library designed to read the Well-Known Binary format from a data source (usually a database like Postgis ) and transform this data into corresponding Java objects. It supports several different GIS toolkits (JTS, PostGIS, OpenMap...). The Well-Known Binary format (WKB) and the Well-Known Textual format (WKT) are defined by the defined by the OpenGIS consortium . The goal of this consortium is to propose interoperability between GIS applications.

WKB4J is lean and mean, meaning that speed and reduced memory footprint were the primary design goals: WKB4J is much much faster than the parsing the WKT format. It is designed to support any existing Java-based GIS toolkit: extending WKB4J to support an additionnal toolkit is very simple. Thoses concerns are highlighted in the design of the library. Right now, WKB4J supports PostGIS and the following toolkits:

Feel free to use it, extend it, hack it, abuse it. If you have problems with the library, you're welcome to send me an email and I will do my best to s olve your problem. Patches are welcome too!

News

8 December 2003

Postgis 0.8 was released, along with PostgreSQL 7.4. The release 1.0-RC1 works well with them, and you do not have to patch PostGIS anymore.

30 August 2003

WKB4J reaches the Release Candidate status with version 1.0-RC1. There is virtually no difference between the 0.8 version and 1.0-RC1. Go ahead and give it a try.

1 August 2003

Again a new beta version of WKB4J: the GeometryCollection type is now supported for all Toolkits. You can download this release from the website. I'm planning for a 1.0 release at the end of the month, so I'd like some feedback. The last benchmarks are quite impressive.

Oh yeah, and WKB4J is one year old!

9 July 2003

Today, a much newer version of WKB4J was released. It has complete support for all OGC's geometry types (but GeometryCollection). It is compatible with OpenMap, JTS and Postgis. All the functional tests pass and the performance test are very good. It is still be beta because there is a still a few things on the todo list . However, in all probabilities it will not work on your computer because of a bug in PostGIS 0.7.5 . The fix suggest in this email is already in PostGIS's CVS , but if you want to use the current stable version of PostGIS, you will have to apply the fix yourself.

1 July 2003

WKB4J is near completion. The testing framework is almost done and I already created a test set of shapefiles from the public domain. The project is now hosted only on SourceForge. If you want to stay tuned, you can subscribe to the mailing-list .

06 November 2002

WKB4J is moving to SourceForge. I tried to register at Savannah , but couldn't because they enforce the license really strictly. Oh well. Also quite a large bug was detected by Rueben Schulz: it seems that WKB4J doesn't work with unique geometries like Points and Lines, but only with MultiPoints and MultiLines. The next two weeks are really packed (new job/new place) and I can't access SourceForge' CVS from my current place, but you can expect updates in the next two weeks.

14 August 2002

Minor site web update. Basically, I updated Maven to B5. The website looks a bit better and it fixed some nasty problems, like the logos.

04 August 2002

Support for height information was added to WKB4J, following the Two-and-a-half-D extensions for Simple Features extension. Fitting this specification in the current framework was delicate.

I'm still working on compiling a test set of various data in order to fully automate the testing process.

23 July 2002

Today I decided to release a beta of WKB4J.

It's not finished, but well it must start somewhere. The overall design and APIs are OK, but the test harness isn't complete. The code for the JTS and the PostGIS toolkit was reasonably well tested. The documentation is incomplete. The goal of this project is fairly small, so I hope to finish it soon.

The initial goals of the project are mostly met:

  • Portability between geographical toolkits: JTS, PostGIS and OpenMap are supported.
  • Speed: WKB4J is approximately three times faster than parsing the WKT format.