Skip to content
/ proj4j Public
forked from locationtech/proj4j

Java port of the Proj.4 library for coordinate reprojection

License

Notifications You must be signed in to change notification settings

Yaqiang/proj4j

 
 

Repository files navigation

Proj4J GitHub Action Status Maven Central

Proj4J is a Java library for converting coordinates between different geospatial coordinate reference systems. It is designed to be compatible with proj.4 parameters and derives some of its implementation from the proj.4 sources.

Proj4J is a project in the LocationTech working group of the Eclipse Foundation.

LocationTech

User Guide

Proj4J artifacts are available on maven central.

Using Proj4J with Maven

To include Proj4J in a Maven project, add a dependency block like the following:

<properties>
    <proj4j.version><latest version></proj4j.version>
</properties>
<dependency>
    <groupId>org.locationtech.proj4j</groupId>
    <artifactId>proj4j</artifactId>
    <version>${proj4j.version}</version>
</dependency>

where <latest version> refers to the version indicated by the badge above.

Using Proj4J with Gradle

To include Proj4J in a Gradle project, add a dependency block like the following:

dependencies {
    implementation 'org.locationtech.proj4j:proj4j:<latest version>'
}

where <latest version> refers to the version indicated by the badge above.

Basic Usage

The following examples give a quick intro on how to use Proj4J in common use cases.

Transforming coordinates from WGS84 to UTM

Obtaining CRSs by name
CRSFactory crsFactory = new CRSFactory();
CoordinateReferenceSystem WGS84 = crsFactory.createFromName("epsg:4326");
CoordinateReferenceSystem UTM = crsFactory.createFromName("epsg:25833");
Obtaining CRSs using parameters
CRSFactory crsFactory = new CRSFactory();
CoordinateReferenceSystem WGS84 = crsFactory.createFromParameters("WGS84",
    "+proj=longlat +datum=WGS84 +no_defs");
CoordinateReferenceSystem UTM = crsFactory.createFromParameters("UTM",
    "+proj=utm +zone=33 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs");
Transforming coordinates
CoordinateTransformFactory ctFactory = new CoordinateTransformFactory();
CoordinateTransform wgsToUtm = ctFactory.createTransform(WGS84, UTM);
// `result` is an output parameter to `transform()`
ProjCoordinate result = new ProjCoordinate();
wgsToUtm.transform(new ProjCoordinate(lon, lat), result);

Building, Testing and installing locally

mvn clean install

Publish to Maven Central

mvn -Dmaven.test.skip=true -Pcentral clean package deploy

Contributing

If you are interested in contributing to Proj4J please read the Contributing Guide.

About

Java port of the Proj.4 library for coordinate reprojection

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Java 100.0%