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!
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.