[OSRS-PROJ] java port of proj4j
James Macgill
j.macgill at geography.leeds.ac.uk
Sat Feb 23 09:18:01 PST 2002
(apologies if this reaches the list twice. I am sending again as I think
my first post was blocked by the new anti-spam filter - my address has
changed slightly since I subscribed)
Hi all.
I suggested on this list a LONG time ago that I would look at porting PROJ
into java, well at long last I have finally got round to doing it!
Prepare for the world's most unexciting screen grab....
>java org.geotools.proj4j.Proj +proj=tmerc
20 20
2126263.9063724605 2343041.817143553
20d30'15"N 30d40'25"
1984927.1813686488 3580979.7594292453
20d30'15"N 30d40'25"S
1984927.1813686488 -3580979.7594292453
>java org.geotools.proj4j.Proj +proj=tmerc +es=0.2
20 20
2159170.7410709434 1937461.6825210112
OK, so its not all there yet by a long shot, but the core architecture has
been replicated, though with some moves to take advantage of OO.
It's been a bit of a balancing act to keep a structure that is similar
enough to PROJ to be familiar and easy to update as PROJ develops whilst
not producing awkward Java but I think I have it about right for now,
though I may well do a little more OO design over time.
So far I have only implemented tmerc and utm (ok so not hard) but I will be
moving through the others quite rapidly I hope, though support from others
at this stage would be excellent. (Not much is involved if you understand
a little Java as the structure is almost identical to the PJ_* files.)
What I could really do with is a good set of test files and typical
settings (and pathological cases) for each projection so that I can
continue to build up the library of unit tests I have created alongside the
port to ensure it is as faithful to PROJ as possible.
The brave can access the code from the geotools.org cvs repository:
cvs -z3 -d:pserver:anonymous at cvs.geotools.org:/cvsroot/geotools co proj4j
In addition to a java compiler you will need ant (a java make tool) and
junit (a testing suite) if you want to replicate the build and test process
that I am using.
Eventually proj4j will be available as a stand alone .jar file together
with .sh and .bat files to make running it almost identical to proj.
I would very much welcome comments on the approach I have taken with this port.
There is a long list of things still to do, as a taster:
lots of testing
grid shifts
formatting control (input and output)
rtodms (dmstor is done)
input from files (binary and ascii)
full replication of public api (transform is done but is untested)
lots more testing
--
James Macgill
Center for Computational Geography
Spell Checker (c) Creative Spelling inc (aka my dyslexic brain)
http://www.geotools.org the open source java mapping toolkit.
----------------------------------------
PROJ.4 Discussion List
See http://www.remotesensing.org/proj for subscription, unsubscription
and other information.
More information about the Proj
mailing list