{"id":18897418,"url":"https://github.com/locationtech/proj4j","last_synced_at":"2025-05-14T10:05:28.894Z","repository":{"id":11108986,"uuid":"107167013","full_name":"locationtech/proj4j","owner":"locationtech","description":"Java port of the Proj.4 library for coordinate reprojection","archived":false,"fork":false,"pushed_at":"2025-03-31T15:47:52.000Z","size":2187,"stargazers_count":198,"open_issues_count":27,"forks_count":74,"subscribers_count":15,"default_branch":"master","last_synced_at":"2025-04-14T23:16:27.347Z","etag":null,"topics":["geodesy","gis","java","proj4j","projection"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/locationtech.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-10-16T18:27:26.000Z","updated_at":"2025-03-31T15:47:56.000Z","dependencies_parsed_at":"2023-02-14T13:02:41.197Z","dependency_job_id":"2cc8fa62-c48a-47fd-8e68-8c628866034a","html_url":"https://github.com/locationtech/proj4j","commit_stats":{"total_commits":85,"total_committers":21,"mean_commits":"4.0476190476190474","dds":0.6,"last_synced_commit":"069dc85a1962f2f8b58b79e168d51b763892d75f"},"previous_names":[],"tags_count":15,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/locationtech%2Fproj4j","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/locationtech%2Fproj4j/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/locationtech%2Fproj4j/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/locationtech%2Fproj4j/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/locationtech","download_url":"https://codeload.github.com/locationtech/proj4j/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248975329,"owners_count":21192210,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["geodesy","gis","java","proj4j","projection"],"created_at":"2024-11-08T08:37:18.965Z","updated_at":"2025-05-14T10:05:28.886Z","avatar_url":"https://github.com/locationtech.png","language":"Java","readme":"# Proj4J [![GitHub Action Status](https://github.com/locationtech/proj4j/workflows/CI/badge.svg)](https://github.com/locationtech/proj4j/actions) [![Maven Central](https://img.shields.io/maven-central/v/org.locationtech.proj4j/proj4j)](https://search.maven.org/search?q=g:org.locationtech.proj4j%20AND%20a:proj4j)\n\nProj4J is a Java library for converting coordinates between different geospatial coordinate reference systems.\nIt is designed to be compatible with `proj.4` parameters and derives some of its implementation from the `proj.4` sources.\n\nProj4J is a project in the [LocationTech](http://www.locationtech.org) working group of the Eclipse Foundation.\n\n![LocationTech](locationtech_mark.png)\n\n## User Guide\n\nProj4J artifacts are available on maven central.\n\n**!Important!** As of `1.2.2` version, `proj4-core` contains no EPSG Licensed files.\nIn order to make proj4j properly operate, it makes sense to consider `proj4-epsg` dependency usage.\n\n### Using Proj4J with Maven\n\nTo include Proj4J in a Maven project, add a dependency block like the following:\n```xml\n\u003cproperties\u003e\n    \u003cproj4j.version\u003e{latest version}\u003c/proj4j.version\u003e\n\u003c/properties\u003e\n\u003cdependency\u003e\n    \u003cgroupId\u003eorg.locationtech.proj4j\u003c/groupId\u003e\n    \u003cartifactId\u003eproj4j\u003c/artifactId\u003e\n    \u003cversion\u003e${proj4j.version}\u003c/version\u003e\n\u003c/dependency\u003e\n```\nwhere `{latest version}` refers to the version indicated by the badge above.\n\n#### Proj4j EPSG\n\n`Proj4J-EPSG` module distributes a portion of the EPSG dataset. This artifact is released the [EPSG database distribution license](https://raw.githubusercontent.com/locationtech/proj4j/master/LICENSE.EPSG).\n\nTo include `Proj4J-EPSG` in a Maven project, add a dependency block like the following:\n```xml\n\u003cproperties\u003e\n    \u003cproj4j.version\u003e{latest version}\u003c/proj4j.version\u003e\n\u003c/properties\u003e\n\u003cdependency\u003e\n    \u003cgroupId\u003eorg.locationtech.proj4j\u003c/groupId\u003e\n    \u003cartifactId\u003eproj4j-epsg\u003c/artifactId\u003e\n    \u003cversion\u003e${proj4j.version}\u003c/version\u003e\n\u003c/dependency\u003e\n```\nwhere `{latest version}` refers to the version indicated by the badge above.\n\n#### Using Proj4j with GeoAPI\n\n`Proj4j-GeoAPI` module provides wrappers for using Proj4J behind [GeoAPI](https://www.geoapi.org/) interfaces.\nGeoAPI is a set of Java interfaces derived from OGC/ISO standards\nfor using different implementations of metadata and referencing services through a standard API.\nTo include the module in a Maven project, add a dependency block like the following:\n```xml\n\u003cproperties\u003e\n    \u003cproj4j.version\u003e{latest version}\u003c/proj4j.version\u003e\n\u003c/properties\u003e\n\u003cdependency\u003e\n    \u003cgroupId\u003eorg.locationtech.proj4j\u003c/groupId\u003e\n    \u003cartifactId\u003eproj4j-geoapi\u003c/artifactId\u003e\n    \u003cversion\u003e${proj4j.version}\u003c/version\u003e\n\u003c/dependency\u003e\n```\nwhere `{latest version}` refers to the version indicated by the badge above.\nUsage examples are available on the [GeoAPI site](https://www.geoapi.org/java/examples/usage.html).\n\n### Using Proj4J with Gradle\n\nTo include Proj4J in a Gradle project, add a dependency block like the following:\n\n```\ndependencies {\n    implementation 'org.locationtech.proj4j:proj4j:{latest version}'\n}\n```\nwhere `{latest version}` refers to the version indicated by the badge above.\n\n#### Proj4j EPSG\n\n`Proj4J-EPSG` module distributes a portion of the EPSG dataset. This artifact is released the [EPSG database distribution license](https://raw.githubusercontent.com/locationtech/proj4j/master/LICENSE.EPSG).\n\nTo include `Proj4J-EPSG` in a Gradle project, add the following line to the dependency block:\n\n```\n    implementation 'org.locationtech.proj4j:proj4j-epsg:{latest version}'\n```\nwhere `{latest version}` refers to the version indicated by the badge above.\n\n#### Using Proj4j with GeoAPI\n\n`Proj4j-GeoAPI` module provides wrappers for using Proj4J behind [GeoAPI](https://www.geoapi.org/) interfaces.\nGeoAPI is a set of Java interfaces derived from OGC/ISO standards\nfor using different implementations of metadata and referencing services through a standard API.\nTo include the module in a Gradle project, add the following line to the dependency block:\n\n```\n    implementation 'org.locationtech.proj4j:proj4j-geoapi:{latest version}'\n```\nwhere `{latest version}` refers to the version indicated by the badge above.\nUsage examples are available on the [GeoAPI site](https://www.geoapi.org/java/examples/usage.html).\n\n### Basic Usage\n\nThe following examples give a quick intro on how to use Proj4J in common\nuse cases.\n\n#### Transforming coordinates from WGS84 to UTM\n\n##### Obtaining CRSs by name\n\n```Java\nCRSFactory crsFactory = new CRSFactory();\nCoordinateReferenceSystem WGS84 = crsFactory.createFromName(\"epsg:4326\");\nCoordinateReferenceSystem UTM = crsFactory.createFromName(\"epsg:25833\");\n```\n\n##### Obtaining CRSs using parameters\n\n```Java\nCRSFactory crsFactory = new CRSFactory();\nCoordinateReferenceSystem WGS84 = crsFactory.createFromParameters(\"WGS84\",\n    \"+proj=longlat +datum=WGS84 +no_defs\");\nCoordinateReferenceSystem UTM = crsFactory.createFromParameters(\"UTM\",\n    \"+proj=utm +zone=33 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs\");\n```\n\n##### Transforming coordinates\n\n```Java\nCoordinateTransformFactory ctFactory = new CoordinateTransformFactory();\nCoordinateTransform wgsToUtm = ctFactory.createTransform(WGS84, UTM);\n// `result` is an output parameter to `transform()`\nProjCoordinate result = new ProjCoordinate();\nwgsToUtm.transform(new ProjCoordinate(lon, lat), result);\n```\n\n## Building, Testing and installing locally\n\n`mvn clean install`\n\n## Publish to Maven Central\n\n`mvn -Dmaven.test.skip=true -Pcentral clean package deploy`\n\nFor more details see [HOWTORELEASE.txt](./HOWTORELEASE.txt).\n\n## Contributing\n\nIf you are interested in contributing to Proj4J please read the [**Contributing Guide**](CONTRIBUTING.md).\n","funding_links":[],"categories":["Java"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flocationtech%2Fproj4j","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flocationtech%2Fproj4j","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flocationtech%2Fproj4j/lists"}