Welcome to Proj4J
Proj4J is a Java library to transform point coordinates from one geographic coordinate system to another, including datum transformations.
The core of this library is a port of the PROJ.4 C library.
The projection algorithms and coordinate system definitions are ported from PROJ.4.
These are wrapped in a Java class model which follows standard Java conventions and OO best practices,
and which provides a convenient domain model for working with coordinate systems.
Proj4J is a part of the MetaCRS group of projects, hosted by OSGeo.
Features
Uses the PROJ.4 coordinate system definition files
Supports many PROJ.4 parameters
Implements over 90 projections
Provides coordinate system definitions for EPSG and ESRI authorities
Simple, efficient API
Provides a test framework compatible with the MetaCRS Test Suite
Provides unit tests defined in MetaCRS format
Download
Status: Currently this library is still being created, and is not yet ready for download
The current development source is available via anonymous SVN from http://svn.osgeo.org/metacrs/proj4j.
The library is available via Maven: org.osgeo:proj4j:jar:0.1.0
Documentation
The PROJ.4 documentation is the best reference for details of
the coordinate system specification language, projection algorithms and supported parameters.
the Version History lists the evolution of features of the library
The Design Goals provide the thinking guiding project development
The Development Roadmap details future directions for development
Mailing List
A mailing list is available for users and developers of Proj4J.
Subscription, unsubscription and a web archive are at http://lists.osgeo.org/mailman/listinfo/proj4j.
Development
Bug Tracking
License
Proj4J is licensed under the Apache License, Version 2.0.
Related Resources
The PROJ.4 site has a comprehensive list of resources dealing with Coordinate Systems in general and the PROJ.4 library in particular.
Project History
The Proj4J codebase is based on the Java Map Projections Library.
This is a partial port of PROJ.4
carried out by Jerry Huxtable at
JHLabs,
circa 2006. The JHLabs port provided a large number of the
PROJ.4 projections, via a simple API.
The Proj4J project was initiated in 2009 by Martin Davis with the following goals:
move the JHLabs codebase into an open, supported environment
minimize duplication of effort by tracking PROJ.4 as closely as reasonable
support further PROJ.4 features such as datum transformation
improve the error handling and reporting
improve the parsing and modeling of projection parameters
improve the API to make it more flexible, expressive and descriptive
add some missing projections
fix outstanding bugs in the projection algorithms
add a unit test framework (following the MetaCRS Unit Test design), with a comprehensive set of unit tests
add further tools to support using the library (such as a GUI interface)
Since the launch of the project, the API has been substantially refactored and extended,
to make the library more flexible, powerful, and extensible.