diff --git a/.gitignore b/.gitignore index fe44ba7..f7bafef 100755 --- a/.gitignore +++ b/.gitignore @@ -34,4 +34,4 @@ _SUCCESS .ensime* tags -.vscode \ No newline at end of file +.vscode diff --git a/.mvn/extensions.xml b/.mvn/extensions.xml index e37bfc6..84289e4 100644 --- a/.mvn/extensions.xml +++ b/.mvn/extensions.xml @@ -3,6 +3,6 @@ fr.brouillard.oss jgitver-maven-plugin - 1.8.0 + 1.9.0 diff --git a/CHANGELOG.md b/CHANGELOG.md index 8d5167e..587f16d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,6 +11,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Fix RobinsonProjection [#87](https://github.com/locationtech/proj4j/issues/87) - Backport: Stop after successfully applying grid [#91](https://github.com/locationtech/proj4j/pull/91) +### Added +- Added support for EPSG:9054 [#93](https://github.com/locationtech/proj4j/pull/93) +- Split projects into proj4j and proj4j-epsg [#92](https://github.com/locationtech/proj4j/pull/92) + ## [1.1.5] - 2022-03-25 ### Fixed diff --git a/HOWTORELEASE.txt b/HOWTORELEASE.txt new file mode 100644 index 0000000..7ad8337 --- /dev/null +++ b/HOWTORELEASE.txt @@ -0,0 +1,86 @@ +Steps for Making a Proj4J Release +============================================================================== + +:Author: Grigory Pomadchin +:Contact: https://github.com/pomadchin +:Date: 11/28/2022 + +This document describes the process to releasing a new version of Proj4J. + +General Notes +------------------------------------------------------------------------------ + +1) Proj4J project release + What you need: + - an account on sonatype (https://issues.sonatype.org/secure/Signup!default.jspa) + - configured ~/.m2/settings.xml file (a simple example below): + + + + + + + + + sonatype_snapshots + ... + ... + + + sonatype_releases + ... + ... + + + ossrh + ... + ... + + + + + + + + + Cheat sheet: + - All commands are can be described via the following template: + mvn -P{eclipse | central} {-Dmaven.test.skip=true | } {-pl | } {install, deploy, ...} + + The description of the Sonatype publish process: + - Snaphots: + Versioning: + - Release versions are derived from the latest (not lightweight) tag version and the branch name if applicable. Each tag should start with v, + i.e. v2.3.0. The snapshot tag happens on commits that follow the tag, and contain git commit hash. + Snapshot can be published without PGP sign, it is published to a snapshot repo and allows immediate snaphot updates. + Publish to a local repo: + - mvn -Pcentral -Dmaven.test.skip=true install + Publish to sonatype: + - mvn -Pcentral -Dmaven.test.skip=true deploy + Publish to eclipse: + - mvn -Peclipse -Dmaven.test.skip=true deploy + + - Releases: + Versioning: + - Release versions are derived from the latest (not lightweight) tag version. Each tag should start with v, + i.e. v2.3.0. + Snapshot can not be published without PGP signature, verify that you have up to date GPG keys set. + Publish to a local repo: + - mvn -Pcentral -Dmaven.test.skip=true install + Publish to sonatype: + - mvn -Pcentral -Dmaven.test.skip=true deploy + Publish to eclipse: + - mvn -Peclipse -Dmaven.test.skip=true deploy + Staging means a special repository in a pre released condition. + - Go into staging repos panel: https://oss.sonatype.org/#stagingRepositories (log in using sonatype user / pwd) + - Filter by the package name (proj4j) and select matching staging repo + - Press Close button on the top of the table with repos. It runs packages + validation and closes staging repo in a successful case + - After successful close press the Release button + Summary: + - Run mvn -Pcentral -Dmaven.test.skip=true deploy to publish everything to sonatype + - Go to sonatype panel https://oss.sonatype.org/#stagingRepositories and release jars + - Await ~10 minutes to have jars published to maven central diff --git a/LICENSE b/LICENSE index 9ef544a..9528fae 100644 --- a/LICENSE +++ b/LICENSE @@ -15,6 +15,7 @@ License for the specific language governing permissions and limitations under the License. ----- + This software uses code from proj.4 [https://github.com/osgeo/proj.4], which is distributed under the MIT license: @@ -36,4 +37,9 @@ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -DEALINGS IN THE SOFTWARE. \ No newline at end of file +DEALINGS IN THE SOFTWARE. + +----- + +Proj4J EPSG module contains resource files released under the EPSG database distribution license. +For more details see LICENSE.EPSG file in the root of this repository. diff --git a/LICENSE.EPSG b/LICENSE.EPSG new file mode 100644 index 0000000..704a1f3 --- /dev/null +++ b/LICENSE.EPSG @@ -0,0 +1,61 @@ +# EPSG Geodetic Parameter Dataset Terms of Use + +1. In this document the following definitions of terms apply: + + “Registry” means the EPSG Geodetic Parameter Registry;“EPSG Dataset” means EPSG Geodetic Parameter Dataset;“IOGP” means the International Association of Oil and Gas Producers, incorporated in England as a company limited by guarantee (number 1832064);“EPSG Facilities” means the Registry, the EPSG Dataset (published through the Registry or through a downloadable MS-Access file or through a set of SQL scripts that enable a user to create an Oracle, MySQL, PostgreSQL or other database and populate that database with the EPSG Dataset) and associated documentation consisting of the Release Notes and Guidance Notes 7.1 and 7.2 + + “the data” means the geodetic parameter data and associated metadata, contained in the EPSG Dataset; it also refers to any subset of data from the EPSG Dataset. + +2. The EPSG Facilities are published by IOGP at no charge. Distribution for profit is forbidden. + +3. The EPSG Facilities are owned by IOGP. They are compiled by the Geodetic Subcommittee of the IOGP from publicly available and member-supplied information. + +4. In order to use the EPSG Facilities, you must agree to these Terms of Use. You may not use the EPSG Facilities or any of them in whole or in part unless you agree to these Terms of Use. + +5. You can accept these Terms of Use by clicking the command button ‘Accept Terms’ upon registering as a new user. You will also be required to accept any revised Terms of Use prior to using or downloading any EPSG Facilities. You understand and agree that any use of the EPSG Facilities or any of them, even if obtained without clicking acceptance, will be acceptance of these Terms of Use. + +6. The data may be used, copied and distributed subject to the following conditions: + + 1. Whilst every effort has been made to ensure the accuracy of the information contained in the EPSG Facilities, neither the IOGP nor any of its members past present or future warrants their accuracy or will, regardless of its or their negligence, assume liability for any foreseeable or unforeseeable use made thereof, which liability is hereby excluded. Consequently, such use is at your own risk. You are obliged to inform anyone to whom you provide the EPSG Facilities of these Terms of Use. + + 2. DATA AND INFORMATION PROVIDED IN THE EPSG FACILITIES ARE PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR PURPOSE. + + 3. The data may be included in any commercial package provided that any commerciality is based on value added by the provider and not on a value ascribed to the EPSG Dataset which is made available at no charge. + + 4. Ownership of the EPSG Dataset by IOGP must be acknowledged in any publication or transmission (by whatever means) thereof (including permitted modifications). + + 5. Subsets of information may be extracted from the dataset. Users are advised that coordinate reference system and coordinate transformation descriptions are incomplete unless all elements detailed as essential in IOGP Surveying and Positioning Guidance Note 7-1 Annex A are included. + + 6. Essential elements should preferably be reproduced as described in the dataset. Modification of parameter values is permitted as described in the table below to allow change to the content of the information provided that numeric equivalence is achieved. Numeric equivalence refers to the results of geodetic calculations in which the parameters are used, for example (i) conversion of ellipsoid defining parameters, or (ii) conversion of parameters between one and two standard parallel projection methods, or (iii) conversion of parameters between 7-parameter geocentric transformation methods. + + 7. No data that has been modified other than as permitted in these Terms of Use shall be attributed to the EPSG Dataset. + +## Table 1: permitted modifications of data + +| AS GIVEN IN EPSG DATASET || PERMITTED CHANGE FOR VENDORS/USERS TO ADOPT | +|-||-| +| *Change of ellipsoid defining parameters.* ||| +| 1a | Ellipsoid parameters a and b. | a and 1/f ; a and f; a and e; a and e2. | +| 1b | Ellipsoid parameters a and 1/f. | a and b; a and f; a and e; a and e2. | +| *Change of projection method* ||| +| 2a | Lambert Conic Conformal (1 SP) method with projection parameters φO and kO. | Lambert Conic Conformal (2 SP) method with projection parameters φ1 and φ2. | +| 2b | Lambert Conic Conformal (2 SP) method with projection parametersφ1 and φ2. | Lambert Conic Conformal (1 SP) method with projection parameters φO and kO. | +| 3a | Mercator (variant A) method with projection parameters φO and kO. | Mercator (variant B) method with projection parameter φ1. | +| 3b | Mercator (variant B) method with projection parameter φ1. | Mercator (variant A) method with projection parameters φO and kO. | +| 4a | Hotine Oblique Mercator (variant A) method with projection parameters FE and FN. | Hotine Oblique Mercator (variant B) method with projection parameters EC and NC. | +| 4b | Hotine Oblique Mercator (variant B) method with projection parameters EC and NC. | Hotine Oblique Mercator (variant A) method with projection parameters FE and FN. | +| 5a | Polar Stereographic (Variant A) method with projection parameters φO and kO. | Polar Stereographic (Variant B) method with projection parameter φF. | +| 5b | Polar Stereographic (Variant B) method with projection parameter φF. | Polar Stereographic (Variant A) method with projection parameters φO and kO. | +| 5c | Polar Stereographic (Variant A) method with projection parameters φO, kO, FE and FN. | Polar Stereographic (Variant C) method with projection parameters φF, EF and NF. | +| 5d | Polar Stereographic (Variant C) method with projection parameters φF, EF and NF. | Polar Stereographic (Variant A) method with projection parameters φO, kO, FE and FN. | +| 5e | Polar Stereographic (Variant B) method with projection parameter FE and FN. | Polar Stereographic (Variant C) method with projection parameters EF and NF. | +| 5f | Polar Stereographic (Variant C) method with projection parameters EF and NF. | Polar Stereographic (Variant B) method with projection parameter FE and FN. | +| Change of transformation method | | | +| 6a | Position Vector 7-parameter transformation method parameters RX RY and RZ. | Coordinate Frame transformation method with signs of position vector parameters RX RY and RZ reversed. | +| 6b | Coordinate Frame transformation method parameters RX RY and RZ. | Position Vector 7-parameter transformation method with signs of coordinate frame parameters RX RY and RZ reversed. | +| 7 | Concatenated transformation using geocentric methods (Geocentric translations, Position Vector 7-parameter transformation, Coordinate Frame rotation). | Equivalent single geocentric transformation in which for each parameter the parameter values of the component steps have been summed. | +| *Change of units* ||| +| 8 | NTv2 method grid file filename. | NTv2 method grid file relative storage path with file name including removal (if necessary) of “special characters” [spaces, parentheses, etc] which are replaced by underscore characters. | +| 9 | Parameter value. | Convert unit to another, for example from microradian to arc-second, using conversion factors obtained from the EPSG dataset Unit table. | + +source: [https://epsg.org/terms-of-use.html](https://epsg.org/terms-of-use.html) diff --git a/README.md b/README.md index 0b0f9ee..322b569 100644 --- a/README.md +++ b/README.md @@ -38,6 +38,21 @@ dependencies { ``` where `` refers to the version indicated by the badge above. +### Proj4j EPSG + +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). +```xml + + + + + org.locationtech.proj4j + proj4j-epsg + ${proj4j.version} + +``` +where `` 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 @@ -81,6 +96,8 @@ wgsToUtm.transform(new ProjCoordinate(lon, lat), result); `mvn -Dmaven.test.skip=true -Pcentral clean package deploy` +For more details see [HOWTORELEASE.txt](./HOWTORELEASE.txt). + ## Contributing If you are interested in contributing to Proj4J please read the [**Contributing Guide**](CONTRIBUTING.md). diff --git a/core/pom.xml b/core/pom.xml new file mode 100644 index 0000000..2378ed9 --- /dev/null +++ b/core/pom.xml @@ -0,0 +1,211 @@ + + 4.0.0 + + org.locationtech.proj4j + proj4j + 1.2.0-SNAPSHOT + bundle + Proj4J + https://github.com/locationtech/proj4j + Java port of the Proj.4 library for coordinate reprojection + + + + Apache License, Version 2.0 + http://www.apache.org/licenses/LICENSE-2.0 + + + + + https://github.com/locationtech/proj4j.git + scm:git:https://github.com/locationtech/proj4j.git + HEAD + + + + + echeipesh + Eugene Cheipesh + https://github.com/echeipesh + + + lossyrob + Rob Emanuele + https://github.com/lossyrob + + + pomadchin + Grigory Pomadchin + https://github.com/pomadchin + + + + + + Martin Davis + https://github.com/dr-jts + + + + + UTF-8 + org.locationtech.proj4j + yyyyMMddHHmm + ${maven.build.timestamp} + + + + + junit + junit + 4.13.1 + test + + + + + + + org.apache.maven.plugins + maven-compiler-plugin + 3.10.1 + + 1.8 + 1.8 + true + UTF-8 + + + + true + maven-javadoc-plugin + 3.4.1 + + + attach-javadocs + + jar + + + true + false + + + + + + org.apache.maven.plugins + maven-source-plugin + 3.2.1 + + + attach-sources + + jar + + + + + + org.apache.maven.plugins + maven-surefire-plugin + 2.22.2 + + + org.apache.felix + maven-bundle-plugin + 5.1.8 + true + + + + + <_nouses>true + <_snapshot>${osgi-version-qualifier} + ${bundle-symbolicname} + + + true + + + + + + maven-deploy-plugin + 3.0.0 + + true + + + + default-deploy + deploy + + deploy + + + + + + + + + + eclipse + + + repo.eclipse.org + Proj4J Repository - Releases + https://repo.eclipse.org/content/repositories/proj4j-releases/ + + + repo.eclipse.org + Proj4J Repository - Snapshots + https://repo.eclipse.org/content/repositories/proj4j-snapshots/ + + + + + central + + + ossrh + https://oss.sonatype.org/service/local/staging/deploy/maven2/ + + + ossrh + https://oss.sonatype.org/content/repositories/snapshots + + + + + + org.sonatype.plugins + nexus-staging-maven-plugin + 1.6.13 + true + + ossrh + https://oss.sonatype.org/ + false + + + + org.apache.maven.plugins + maven-gpg-plugin + 3.0.1 + + + sign-artifacts + verify + + sign + + + + + + + + + diff --git a/src/main/java/org/locationtech/proj4j/BasicCoordinateTransform.java b/core/src/main/java/org/locationtech/proj4j/BasicCoordinateTransform.java similarity index 100% rename from src/main/java/org/locationtech/proj4j/BasicCoordinateTransform.java rename to core/src/main/java/org/locationtech/proj4j/BasicCoordinateTransform.java diff --git a/src/main/java/org/locationtech/proj4j/CRSFactory.java b/core/src/main/java/org/locationtech/proj4j/CRSFactory.java similarity index 100% rename from src/main/java/org/locationtech/proj4j/CRSFactory.java rename to core/src/main/java/org/locationtech/proj4j/CRSFactory.java diff --git a/src/main/java/org/locationtech/proj4j/ConvergenceFailureException.java b/core/src/main/java/org/locationtech/proj4j/ConvergenceFailureException.java similarity index 100% rename from src/main/java/org/locationtech/proj4j/ConvergenceFailureException.java rename to core/src/main/java/org/locationtech/proj4j/ConvergenceFailureException.java diff --git a/src/main/java/org/locationtech/proj4j/CoordinateReferenceSystem.java b/core/src/main/java/org/locationtech/proj4j/CoordinateReferenceSystem.java similarity index 100% rename from src/main/java/org/locationtech/proj4j/CoordinateReferenceSystem.java rename to core/src/main/java/org/locationtech/proj4j/CoordinateReferenceSystem.java diff --git a/src/main/java/org/locationtech/proj4j/CoordinateTransform.java b/core/src/main/java/org/locationtech/proj4j/CoordinateTransform.java similarity index 100% rename from src/main/java/org/locationtech/proj4j/CoordinateTransform.java rename to core/src/main/java/org/locationtech/proj4j/CoordinateTransform.java diff --git a/src/main/java/org/locationtech/proj4j/CoordinateTransformFactory.java b/core/src/main/java/org/locationtech/proj4j/CoordinateTransformFactory.java similarity index 100% rename from src/main/java/org/locationtech/proj4j/CoordinateTransformFactory.java rename to core/src/main/java/org/locationtech/proj4j/CoordinateTransformFactory.java diff --git a/src/main/java/org/locationtech/proj4j/InvalidValueException.java b/core/src/main/java/org/locationtech/proj4j/InvalidValueException.java similarity index 100% rename from src/main/java/org/locationtech/proj4j/InvalidValueException.java rename to core/src/main/java/org/locationtech/proj4j/InvalidValueException.java diff --git a/src/main/java/org/locationtech/proj4j/Proj4jException.java b/core/src/main/java/org/locationtech/proj4j/Proj4jException.java similarity index 100% rename from src/main/java/org/locationtech/proj4j/Proj4jException.java rename to core/src/main/java/org/locationtech/proj4j/Proj4jException.java diff --git a/src/main/java/org/locationtech/proj4j/ProjCoordinate.java b/core/src/main/java/org/locationtech/proj4j/ProjCoordinate.java similarity index 100% rename from src/main/java/org/locationtech/proj4j/ProjCoordinate.java rename to core/src/main/java/org/locationtech/proj4j/ProjCoordinate.java diff --git a/src/main/java/org/locationtech/proj4j/ProjectionException.java b/core/src/main/java/org/locationtech/proj4j/ProjectionException.java similarity index 100% rename from src/main/java/org/locationtech/proj4j/ProjectionException.java rename to core/src/main/java/org/locationtech/proj4j/ProjectionException.java diff --git a/src/main/java/org/locationtech/proj4j/Registry.java b/core/src/main/java/org/locationtech/proj4j/Registry.java similarity index 100% rename from src/main/java/org/locationtech/proj4j/Registry.java rename to core/src/main/java/org/locationtech/proj4j/Registry.java diff --git a/src/main/java/org/locationtech/proj4j/UnknownAuthorityCodeException.java b/core/src/main/java/org/locationtech/proj4j/UnknownAuthorityCodeException.java similarity index 100% rename from src/main/java/org/locationtech/proj4j/UnknownAuthorityCodeException.java rename to core/src/main/java/org/locationtech/proj4j/UnknownAuthorityCodeException.java diff --git a/src/main/java/org/locationtech/proj4j/UnsupportedParameterException.java b/core/src/main/java/org/locationtech/proj4j/UnsupportedParameterException.java similarity index 100% rename from src/main/java/org/locationtech/proj4j/UnsupportedParameterException.java rename to core/src/main/java/org/locationtech/proj4j/UnsupportedParameterException.java diff --git a/src/main/java/org/locationtech/proj4j/datum/AxisOrder.java b/core/src/main/java/org/locationtech/proj4j/datum/AxisOrder.java similarity index 100% rename from src/main/java/org/locationtech/proj4j/datum/AxisOrder.java rename to core/src/main/java/org/locationtech/proj4j/datum/AxisOrder.java diff --git a/src/main/java/org/locationtech/proj4j/datum/CTABLEV2.java b/core/src/main/java/org/locationtech/proj4j/datum/CTABLEV2.java similarity index 100% rename from src/main/java/org/locationtech/proj4j/datum/CTABLEV2.java rename to core/src/main/java/org/locationtech/proj4j/datum/CTABLEV2.java diff --git a/src/main/java/org/locationtech/proj4j/datum/Datum.java b/core/src/main/java/org/locationtech/proj4j/datum/Datum.java similarity index 100% rename from src/main/java/org/locationtech/proj4j/datum/Datum.java rename to core/src/main/java/org/locationtech/proj4j/datum/Datum.java diff --git a/src/main/java/org/locationtech/proj4j/datum/Ellipsoid.java b/core/src/main/java/org/locationtech/proj4j/datum/Ellipsoid.java similarity index 100% rename from src/main/java/org/locationtech/proj4j/datum/Ellipsoid.java rename to core/src/main/java/org/locationtech/proj4j/datum/Ellipsoid.java diff --git a/src/main/java/org/locationtech/proj4j/datum/GeocentricConverter.java b/core/src/main/java/org/locationtech/proj4j/datum/GeocentricConverter.java similarity index 100% rename from src/main/java/org/locationtech/proj4j/datum/GeocentricConverter.java rename to core/src/main/java/org/locationtech/proj4j/datum/GeocentricConverter.java diff --git a/src/main/java/org/locationtech/proj4j/datum/Grid.java b/core/src/main/java/org/locationtech/proj4j/datum/Grid.java similarity index 100% rename from src/main/java/org/locationtech/proj4j/datum/Grid.java rename to core/src/main/java/org/locationtech/proj4j/datum/Grid.java diff --git a/src/main/java/org/locationtech/proj4j/datum/NTV1.java b/core/src/main/java/org/locationtech/proj4j/datum/NTV1.java similarity index 100% rename from src/main/java/org/locationtech/proj4j/datum/NTV1.java rename to core/src/main/java/org/locationtech/proj4j/datum/NTV1.java diff --git a/src/main/java/org/locationtech/proj4j/datum/PrimeMeridian.java b/core/src/main/java/org/locationtech/proj4j/datum/PrimeMeridian.java similarity index 100% rename from src/main/java/org/locationtech/proj4j/datum/PrimeMeridian.java rename to core/src/main/java/org/locationtech/proj4j/datum/PrimeMeridian.java diff --git a/src/main/java/org/locationtech/proj4j/geodesic/Constants.java b/core/src/main/java/org/locationtech/proj4j/geodesic/Constants.java similarity index 100% rename from src/main/java/org/locationtech/proj4j/geodesic/Constants.java rename to core/src/main/java/org/locationtech/proj4j/geodesic/Constants.java diff --git a/src/main/java/org/locationtech/proj4j/geodesic/GeoMath.java b/core/src/main/java/org/locationtech/proj4j/geodesic/GeoMath.java similarity index 100% rename from src/main/java/org/locationtech/proj4j/geodesic/GeoMath.java rename to core/src/main/java/org/locationtech/proj4j/geodesic/GeoMath.java diff --git a/src/main/java/org/locationtech/proj4j/geodesic/Geodesic.java b/core/src/main/java/org/locationtech/proj4j/geodesic/Geodesic.java similarity index 100% rename from src/main/java/org/locationtech/proj4j/geodesic/Geodesic.java rename to core/src/main/java/org/locationtech/proj4j/geodesic/Geodesic.java diff --git a/src/main/java/org/locationtech/proj4j/geodesic/GeodesicData.java b/core/src/main/java/org/locationtech/proj4j/geodesic/GeodesicData.java similarity index 100% rename from src/main/java/org/locationtech/proj4j/geodesic/GeodesicData.java rename to core/src/main/java/org/locationtech/proj4j/geodesic/GeodesicData.java diff --git a/src/main/java/org/locationtech/proj4j/geodesic/GeodesicLine.java b/core/src/main/java/org/locationtech/proj4j/geodesic/GeodesicLine.java similarity index 100% rename from src/main/java/org/locationtech/proj4j/geodesic/GeodesicLine.java rename to core/src/main/java/org/locationtech/proj4j/geodesic/GeodesicLine.java diff --git a/src/main/java/org/locationtech/proj4j/geodesic/GeodesicMask.java b/core/src/main/java/org/locationtech/proj4j/geodesic/GeodesicMask.java similarity index 100% rename from src/main/java/org/locationtech/proj4j/geodesic/GeodesicMask.java rename to core/src/main/java/org/locationtech/proj4j/geodesic/GeodesicMask.java diff --git a/src/main/java/org/locationtech/proj4j/geodesic/GeographicErr.java b/core/src/main/java/org/locationtech/proj4j/geodesic/GeographicErr.java similarity index 100% rename from src/main/java/org/locationtech/proj4j/geodesic/GeographicErr.java rename to core/src/main/java/org/locationtech/proj4j/geodesic/GeographicErr.java diff --git a/src/main/java/org/locationtech/proj4j/geodesic/Pair.java b/core/src/main/java/org/locationtech/proj4j/geodesic/Pair.java similarity index 100% rename from src/main/java/org/locationtech/proj4j/geodesic/Pair.java rename to core/src/main/java/org/locationtech/proj4j/geodesic/Pair.java diff --git a/src/main/java/org/locationtech/proj4j/io/Proj4FileReader.java b/core/src/main/java/org/locationtech/proj4j/io/Proj4FileReader.java similarity index 100% rename from src/main/java/org/locationtech/proj4j/io/Proj4FileReader.java rename to core/src/main/java/org/locationtech/proj4j/io/Proj4FileReader.java diff --git a/src/main/java/org/locationtech/proj4j/parser/DatumParameters.java b/core/src/main/java/org/locationtech/proj4j/parser/DatumParameters.java similarity index 100% rename from src/main/java/org/locationtech/proj4j/parser/DatumParameters.java rename to core/src/main/java/org/locationtech/proj4j/parser/DatumParameters.java diff --git a/src/main/java/org/locationtech/proj4j/parser/Proj4Keyword.java b/core/src/main/java/org/locationtech/proj4j/parser/Proj4Keyword.java similarity index 100% rename from src/main/java/org/locationtech/proj4j/parser/Proj4Keyword.java rename to core/src/main/java/org/locationtech/proj4j/parser/Proj4Keyword.java diff --git a/src/main/java/org/locationtech/proj4j/parser/Proj4Parser.java b/core/src/main/java/org/locationtech/proj4j/parser/Proj4Parser.java similarity index 100% rename from src/main/java/org/locationtech/proj4j/parser/Proj4Parser.java rename to core/src/main/java/org/locationtech/proj4j/parser/Proj4Parser.java diff --git a/src/main/java/org/locationtech/proj4j/proj/AiryProjection.java b/core/src/main/java/org/locationtech/proj4j/proj/AiryProjection.java similarity index 100% rename from src/main/java/org/locationtech/proj4j/proj/AiryProjection.java rename to core/src/main/java/org/locationtech/proj4j/proj/AiryProjection.java diff --git a/src/main/java/org/locationtech/proj4j/proj/AitoffProjection.java b/core/src/main/java/org/locationtech/proj4j/proj/AitoffProjection.java similarity index 100% rename from src/main/java/org/locationtech/proj4j/proj/AitoffProjection.java rename to core/src/main/java/org/locationtech/proj4j/proj/AitoffProjection.java diff --git a/src/main/java/org/locationtech/proj4j/proj/AlbersProjection.java b/core/src/main/java/org/locationtech/proj4j/proj/AlbersProjection.java similarity index 100% rename from src/main/java/org/locationtech/proj4j/proj/AlbersProjection.java rename to core/src/main/java/org/locationtech/proj4j/proj/AlbersProjection.java diff --git a/src/main/java/org/locationtech/proj4j/proj/AugustProjection.java b/core/src/main/java/org/locationtech/proj4j/proj/AugustProjection.java similarity index 100% rename from src/main/java/org/locationtech/proj4j/proj/AugustProjection.java rename to core/src/main/java/org/locationtech/proj4j/proj/AugustProjection.java diff --git a/src/main/java/org/locationtech/proj4j/proj/AzimuthalProjection.java b/core/src/main/java/org/locationtech/proj4j/proj/AzimuthalProjection.java similarity index 100% rename from src/main/java/org/locationtech/proj4j/proj/AzimuthalProjection.java rename to core/src/main/java/org/locationtech/proj4j/proj/AzimuthalProjection.java diff --git a/src/main/java/org/locationtech/proj4j/proj/BipolarProjection.java b/core/src/main/java/org/locationtech/proj4j/proj/BipolarProjection.java similarity index 100% rename from src/main/java/org/locationtech/proj4j/proj/BipolarProjection.java rename to core/src/main/java/org/locationtech/proj4j/proj/BipolarProjection.java diff --git a/src/main/java/org/locationtech/proj4j/proj/BoggsProjection.java b/core/src/main/java/org/locationtech/proj4j/proj/BoggsProjection.java similarity index 100% rename from src/main/java/org/locationtech/proj4j/proj/BoggsProjection.java rename to core/src/main/java/org/locationtech/proj4j/proj/BoggsProjection.java diff --git a/src/main/java/org/locationtech/proj4j/proj/BonneProjection.java b/core/src/main/java/org/locationtech/proj4j/proj/BonneProjection.java similarity index 100% rename from src/main/java/org/locationtech/proj4j/proj/BonneProjection.java rename to core/src/main/java/org/locationtech/proj4j/proj/BonneProjection.java diff --git a/src/main/java/org/locationtech/proj4j/proj/CassiniProjection.java b/core/src/main/java/org/locationtech/proj4j/proj/CassiniProjection.java similarity index 100% rename from src/main/java/org/locationtech/proj4j/proj/CassiniProjection.java rename to core/src/main/java/org/locationtech/proj4j/proj/CassiniProjection.java diff --git a/src/main/java/org/locationtech/proj4j/proj/CentralCylindricalProjection.java b/core/src/main/java/org/locationtech/proj4j/proj/CentralCylindricalProjection.java similarity index 100% rename from src/main/java/org/locationtech/proj4j/proj/CentralCylindricalProjection.java rename to core/src/main/java/org/locationtech/proj4j/proj/CentralCylindricalProjection.java diff --git a/src/main/java/org/locationtech/proj4j/proj/CollignonProjection.java b/core/src/main/java/org/locationtech/proj4j/proj/CollignonProjection.java similarity index 100% rename from src/main/java/org/locationtech/proj4j/proj/CollignonProjection.java rename to core/src/main/java/org/locationtech/proj4j/proj/CollignonProjection.java diff --git a/src/main/java/org/locationtech/proj4j/proj/ConicProjection.java b/core/src/main/java/org/locationtech/proj4j/proj/ConicProjection.java similarity index 100% rename from src/main/java/org/locationtech/proj4j/proj/ConicProjection.java rename to core/src/main/java/org/locationtech/proj4j/proj/ConicProjection.java diff --git a/src/main/java/org/locationtech/proj4j/proj/CrasterProjection.java b/core/src/main/java/org/locationtech/proj4j/proj/CrasterProjection.java similarity index 100% rename from src/main/java/org/locationtech/proj4j/proj/CrasterProjection.java rename to core/src/main/java/org/locationtech/proj4j/proj/CrasterProjection.java diff --git a/src/main/java/org/locationtech/proj4j/proj/CylindricalEqualAreaProjection.java b/core/src/main/java/org/locationtech/proj4j/proj/CylindricalEqualAreaProjection.java similarity index 100% rename from src/main/java/org/locationtech/proj4j/proj/CylindricalEqualAreaProjection.java rename to core/src/main/java/org/locationtech/proj4j/proj/CylindricalEqualAreaProjection.java diff --git a/src/main/java/org/locationtech/proj4j/proj/CylindricalProjection.java b/core/src/main/java/org/locationtech/proj4j/proj/CylindricalProjection.java similarity index 100% rename from src/main/java/org/locationtech/proj4j/proj/CylindricalProjection.java rename to core/src/main/java/org/locationtech/proj4j/proj/CylindricalProjection.java diff --git a/src/main/java/org/locationtech/proj4j/proj/DenoyerProjection.java b/core/src/main/java/org/locationtech/proj4j/proj/DenoyerProjection.java similarity index 100% rename from src/main/java/org/locationtech/proj4j/proj/DenoyerProjection.java rename to core/src/main/java/org/locationtech/proj4j/proj/DenoyerProjection.java diff --git a/src/main/java/org/locationtech/proj4j/proj/Eckert1Projection.java b/core/src/main/java/org/locationtech/proj4j/proj/Eckert1Projection.java similarity index 100% rename from src/main/java/org/locationtech/proj4j/proj/Eckert1Projection.java rename to core/src/main/java/org/locationtech/proj4j/proj/Eckert1Projection.java diff --git a/src/main/java/org/locationtech/proj4j/proj/Eckert2Projection.java b/core/src/main/java/org/locationtech/proj4j/proj/Eckert2Projection.java similarity index 100% rename from src/main/java/org/locationtech/proj4j/proj/Eckert2Projection.java rename to core/src/main/java/org/locationtech/proj4j/proj/Eckert2Projection.java diff --git a/src/main/java/org/locationtech/proj4j/proj/Eckert4Projection.java b/core/src/main/java/org/locationtech/proj4j/proj/Eckert4Projection.java similarity index 100% rename from src/main/java/org/locationtech/proj4j/proj/Eckert4Projection.java rename to core/src/main/java/org/locationtech/proj4j/proj/Eckert4Projection.java diff --git a/src/main/java/org/locationtech/proj4j/proj/Eckert5Projection.java b/core/src/main/java/org/locationtech/proj4j/proj/Eckert5Projection.java similarity index 100% rename from src/main/java/org/locationtech/proj4j/proj/Eckert5Projection.java rename to core/src/main/java/org/locationtech/proj4j/proj/Eckert5Projection.java diff --git a/src/main/java/org/locationtech/proj4j/proj/Eckert6Projection.java b/core/src/main/java/org/locationtech/proj4j/proj/Eckert6Projection.java similarity index 100% rename from src/main/java/org/locationtech/proj4j/proj/Eckert6Projection.java rename to core/src/main/java/org/locationtech/proj4j/proj/Eckert6Projection.java diff --git a/src/main/java/org/locationtech/proj4j/proj/EqualAreaAzimuthalProjection.java b/core/src/main/java/org/locationtech/proj4j/proj/EqualAreaAzimuthalProjection.java similarity index 100% rename from src/main/java/org/locationtech/proj4j/proj/EqualAreaAzimuthalProjection.java rename to core/src/main/java/org/locationtech/proj4j/proj/EqualAreaAzimuthalProjection.java diff --git a/src/main/java/org/locationtech/proj4j/proj/EquidistantAzimuthalProjection.java b/core/src/main/java/org/locationtech/proj4j/proj/EquidistantAzimuthalProjection.java similarity index 100% rename from src/main/java/org/locationtech/proj4j/proj/EquidistantAzimuthalProjection.java rename to core/src/main/java/org/locationtech/proj4j/proj/EquidistantAzimuthalProjection.java diff --git a/src/main/java/org/locationtech/proj4j/proj/EquidistantConicProjection.java b/core/src/main/java/org/locationtech/proj4j/proj/EquidistantConicProjection.java similarity index 100% rename from src/main/java/org/locationtech/proj4j/proj/EquidistantConicProjection.java rename to core/src/main/java/org/locationtech/proj4j/proj/EquidistantConicProjection.java diff --git a/src/main/java/org/locationtech/proj4j/proj/EulerProjection.java b/core/src/main/java/org/locationtech/proj4j/proj/EulerProjection.java similarity index 100% rename from src/main/java/org/locationtech/proj4j/proj/EulerProjection.java rename to core/src/main/java/org/locationtech/proj4j/proj/EulerProjection.java diff --git a/src/main/java/org/locationtech/proj4j/proj/ExtendedTransverseMercatorProjection.java b/core/src/main/java/org/locationtech/proj4j/proj/ExtendedTransverseMercatorProjection.java similarity index 100% rename from src/main/java/org/locationtech/proj4j/proj/ExtendedTransverseMercatorProjection.java rename to core/src/main/java/org/locationtech/proj4j/proj/ExtendedTransverseMercatorProjection.java diff --git a/src/main/java/org/locationtech/proj4j/proj/FaheyProjection.java b/core/src/main/java/org/locationtech/proj4j/proj/FaheyProjection.java similarity index 100% rename from src/main/java/org/locationtech/proj4j/proj/FaheyProjection.java rename to core/src/main/java/org/locationtech/proj4j/proj/FaheyProjection.java diff --git a/src/main/java/org/locationtech/proj4j/proj/FoucautProjection.java b/core/src/main/java/org/locationtech/proj4j/proj/FoucautProjection.java similarity index 100% rename from src/main/java/org/locationtech/proj4j/proj/FoucautProjection.java rename to core/src/main/java/org/locationtech/proj4j/proj/FoucautProjection.java diff --git a/src/main/java/org/locationtech/proj4j/proj/FoucautSinusoidalProjection.java b/core/src/main/java/org/locationtech/proj4j/proj/FoucautSinusoidalProjection.java similarity index 100% rename from src/main/java/org/locationtech/proj4j/proj/FoucautSinusoidalProjection.java rename to core/src/main/java/org/locationtech/proj4j/proj/FoucautSinusoidalProjection.java diff --git a/src/main/java/org/locationtech/proj4j/proj/GallProjection.java b/core/src/main/java/org/locationtech/proj4j/proj/GallProjection.java similarity index 100% rename from src/main/java/org/locationtech/proj4j/proj/GallProjection.java rename to core/src/main/java/org/locationtech/proj4j/proj/GallProjection.java diff --git a/src/main/java/org/locationtech/proj4j/proj/GaussProjection.java b/core/src/main/java/org/locationtech/proj4j/proj/GaussProjection.java similarity index 100% rename from src/main/java/org/locationtech/proj4j/proj/GaussProjection.java rename to core/src/main/java/org/locationtech/proj4j/proj/GaussProjection.java diff --git a/src/main/java/org/locationtech/proj4j/proj/GeocentProjection.java b/core/src/main/java/org/locationtech/proj4j/proj/GeocentProjection.java similarity index 100% rename from src/main/java/org/locationtech/proj4j/proj/GeocentProjection.java rename to core/src/main/java/org/locationtech/proj4j/proj/GeocentProjection.java diff --git a/src/main/java/org/locationtech/proj4j/proj/GeostationarySatelliteProjection.java b/core/src/main/java/org/locationtech/proj4j/proj/GeostationarySatelliteProjection.java similarity index 100% rename from src/main/java/org/locationtech/proj4j/proj/GeostationarySatelliteProjection.java rename to core/src/main/java/org/locationtech/proj4j/proj/GeostationarySatelliteProjection.java diff --git a/src/main/java/org/locationtech/proj4j/proj/Ginsburg8Projection.java b/core/src/main/java/org/locationtech/proj4j/proj/Ginsburg8Projection.java similarity index 100% rename from src/main/java/org/locationtech/proj4j/proj/Ginsburg8Projection.java rename to core/src/main/java/org/locationtech/proj4j/proj/Ginsburg8Projection.java diff --git a/src/main/java/org/locationtech/proj4j/proj/GnomonicAzimuthalProjection.java b/core/src/main/java/org/locationtech/proj4j/proj/GnomonicAzimuthalProjection.java similarity index 100% rename from src/main/java/org/locationtech/proj4j/proj/GnomonicAzimuthalProjection.java rename to core/src/main/java/org/locationtech/proj4j/proj/GnomonicAzimuthalProjection.java diff --git a/src/main/java/org/locationtech/proj4j/proj/GoodeProjection.java b/core/src/main/java/org/locationtech/proj4j/proj/GoodeProjection.java similarity index 100% rename from src/main/java/org/locationtech/proj4j/proj/GoodeProjection.java rename to core/src/main/java/org/locationtech/proj4j/proj/GoodeProjection.java diff --git a/src/main/java/org/locationtech/proj4j/proj/HammerProjection.java b/core/src/main/java/org/locationtech/proj4j/proj/HammerProjection.java similarity index 100% rename from src/main/java/org/locationtech/proj4j/proj/HammerProjection.java rename to core/src/main/java/org/locationtech/proj4j/proj/HammerProjection.java diff --git a/src/main/java/org/locationtech/proj4j/proj/HatanoProjection.java b/core/src/main/java/org/locationtech/proj4j/proj/HatanoProjection.java similarity index 100% rename from src/main/java/org/locationtech/proj4j/proj/HatanoProjection.java rename to core/src/main/java/org/locationtech/proj4j/proj/HatanoProjection.java diff --git a/src/main/java/org/locationtech/proj4j/proj/KavraiskyVProjection.java b/core/src/main/java/org/locationtech/proj4j/proj/KavraiskyVProjection.java similarity index 100% rename from src/main/java/org/locationtech/proj4j/proj/KavraiskyVProjection.java rename to core/src/main/java/org/locationtech/proj4j/proj/KavraiskyVProjection.java diff --git a/src/main/java/org/locationtech/proj4j/proj/KrovakProjection.java b/core/src/main/java/org/locationtech/proj4j/proj/KrovakProjection.java similarity index 100% rename from src/main/java/org/locationtech/proj4j/proj/KrovakProjection.java rename to core/src/main/java/org/locationtech/proj4j/proj/KrovakProjection.java diff --git a/src/main/java/org/locationtech/proj4j/proj/LagrangeProjection.java b/core/src/main/java/org/locationtech/proj4j/proj/LagrangeProjection.java similarity index 100% rename from src/main/java/org/locationtech/proj4j/proj/LagrangeProjection.java rename to core/src/main/java/org/locationtech/proj4j/proj/LagrangeProjection.java diff --git a/src/main/java/org/locationtech/proj4j/proj/LambertAzimuthalEqualAreaProjection.java b/core/src/main/java/org/locationtech/proj4j/proj/LambertAzimuthalEqualAreaProjection.java similarity index 100% rename from src/main/java/org/locationtech/proj4j/proj/LambertAzimuthalEqualAreaProjection.java rename to core/src/main/java/org/locationtech/proj4j/proj/LambertAzimuthalEqualAreaProjection.java diff --git a/src/main/java/org/locationtech/proj4j/proj/LambertConformalConicProjection.java b/core/src/main/java/org/locationtech/proj4j/proj/LambertConformalConicProjection.java similarity index 100% rename from src/main/java/org/locationtech/proj4j/proj/LambertConformalConicProjection.java rename to core/src/main/java/org/locationtech/proj4j/proj/LambertConformalConicProjection.java diff --git a/src/main/java/org/locationtech/proj4j/proj/LambertEqualAreaConicProjection.java b/core/src/main/java/org/locationtech/proj4j/proj/LambertEqualAreaConicProjection.java similarity index 100% rename from src/main/java/org/locationtech/proj4j/proj/LambertEqualAreaConicProjection.java rename to core/src/main/java/org/locationtech/proj4j/proj/LambertEqualAreaConicProjection.java diff --git a/src/main/java/org/locationtech/proj4j/proj/LandsatProjection.java b/core/src/main/java/org/locationtech/proj4j/proj/LandsatProjection.java similarity index 100% rename from src/main/java/org/locationtech/proj4j/proj/LandsatProjection.java rename to core/src/main/java/org/locationtech/proj4j/proj/LandsatProjection.java diff --git a/src/main/java/org/locationtech/proj4j/proj/LarriveeProjection.java b/core/src/main/java/org/locationtech/proj4j/proj/LarriveeProjection.java similarity index 100% rename from src/main/java/org/locationtech/proj4j/proj/LarriveeProjection.java rename to core/src/main/java/org/locationtech/proj4j/proj/LarriveeProjection.java diff --git a/src/main/java/org/locationtech/proj4j/proj/LaskowskiProjection.java b/core/src/main/java/org/locationtech/proj4j/proj/LaskowskiProjection.java similarity index 100% rename from src/main/java/org/locationtech/proj4j/proj/LaskowskiProjection.java rename to core/src/main/java/org/locationtech/proj4j/proj/LaskowskiProjection.java diff --git a/src/main/java/org/locationtech/proj4j/proj/LinearProjection.java b/core/src/main/java/org/locationtech/proj4j/proj/LinearProjection.java similarity index 100% rename from src/main/java/org/locationtech/proj4j/proj/LinearProjection.java rename to core/src/main/java/org/locationtech/proj4j/proj/LinearProjection.java diff --git a/src/main/java/org/locationtech/proj4j/proj/LongLatProjection.java b/core/src/main/java/org/locationtech/proj4j/proj/LongLatProjection.java similarity index 100% rename from src/main/java/org/locationtech/proj4j/proj/LongLatProjection.java rename to core/src/main/java/org/locationtech/proj4j/proj/LongLatProjection.java diff --git a/src/main/java/org/locationtech/proj4j/proj/LoximuthalProjection.java b/core/src/main/java/org/locationtech/proj4j/proj/LoximuthalProjection.java similarity index 100% rename from src/main/java/org/locationtech/proj4j/proj/LoximuthalProjection.java rename to core/src/main/java/org/locationtech/proj4j/proj/LoximuthalProjection.java diff --git a/src/main/java/org/locationtech/proj4j/proj/McBrydeThomasFlatPolarParabolicProjection.java b/core/src/main/java/org/locationtech/proj4j/proj/McBrydeThomasFlatPolarParabolicProjection.java similarity index 100% rename from src/main/java/org/locationtech/proj4j/proj/McBrydeThomasFlatPolarParabolicProjection.java rename to core/src/main/java/org/locationtech/proj4j/proj/McBrydeThomasFlatPolarParabolicProjection.java diff --git a/src/main/java/org/locationtech/proj4j/proj/McBrydeThomasFlatPolarQuarticProjection.java b/core/src/main/java/org/locationtech/proj4j/proj/McBrydeThomasFlatPolarQuarticProjection.java similarity index 100% rename from src/main/java/org/locationtech/proj4j/proj/McBrydeThomasFlatPolarQuarticProjection.java rename to core/src/main/java/org/locationtech/proj4j/proj/McBrydeThomasFlatPolarQuarticProjection.java diff --git a/src/main/java/org/locationtech/proj4j/proj/McBrydeThomasFlatPolarSine1Projection.java b/core/src/main/java/org/locationtech/proj4j/proj/McBrydeThomasFlatPolarSine1Projection.java similarity index 100% rename from src/main/java/org/locationtech/proj4j/proj/McBrydeThomasFlatPolarSine1Projection.java rename to core/src/main/java/org/locationtech/proj4j/proj/McBrydeThomasFlatPolarSine1Projection.java diff --git a/src/main/java/org/locationtech/proj4j/proj/McBrydeThomasFlatPolarSine2Projection.java b/core/src/main/java/org/locationtech/proj4j/proj/McBrydeThomasFlatPolarSine2Projection.java similarity index 100% rename from src/main/java/org/locationtech/proj4j/proj/McBrydeThomasFlatPolarSine2Projection.java rename to core/src/main/java/org/locationtech/proj4j/proj/McBrydeThomasFlatPolarSine2Projection.java diff --git a/src/main/java/org/locationtech/proj4j/proj/MercatorProjection.java b/core/src/main/java/org/locationtech/proj4j/proj/MercatorProjection.java similarity index 100% rename from src/main/java/org/locationtech/proj4j/proj/MercatorProjection.java rename to core/src/main/java/org/locationtech/proj4j/proj/MercatorProjection.java diff --git a/src/main/java/org/locationtech/proj4j/proj/MillerProjection.java b/core/src/main/java/org/locationtech/proj4j/proj/MillerProjection.java similarity index 100% rename from src/main/java/org/locationtech/proj4j/proj/MillerProjection.java rename to core/src/main/java/org/locationtech/proj4j/proj/MillerProjection.java diff --git a/src/main/java/org/locationtech/proj4j/proj/ModStereoProjection.java b/core/src/main/java/org/locationtech/proj4j/proj/ModStereoProjection.java similarity index 100% rename from src/main/java/org/locationtech/proj4j/proj/ModStereoProjection.java rename to core/src/main/java/org/locationtech/proj4j/proj/ModStereoProjection.java diff --git a/src/main/java/org/locationtech/proj4j/proj/MolleweideProjection.java b/core/src/main/java/org/locationtech/proj4j/proj/MolleweideProjection.java similarity index 100% rename from src/main/java/org/locationtech/proj4j/proj/MolleweideProjection.java rename to core/src/main/java/org/locationtech/proj4j/proj/MolleweideProjection.java diff --git a/src/main/java/org/locationtech/proj4j/proj/Murdoch1Projection.java b/core/src/main/java/org/locationtech/proj4j/proj/Murdoch1Projection.java similarity index 100% rename from src/main/java/org/locationtech/proj4j/proj/Murdoch1Projection.java rename to core/src/main/java/org/locationtech/proj4j/proj/Murdoch1Projection.java diff --git a/src/main/java/org/locationtech/proj4j/proj/Murdoch2Projection.java b/core/src/main/java/org/locationtech/proj4j/proj/Murdoch2Projection.java similarity index 100% rename from src/main/java/org/locationtech/proj4j/proj/Murdoch2Projection.java rename to core/src/main/java/org/locationtech/proj4j/proj/Murdoch2Projection.java diff --git a/src/main/java/org/locationtech/proj4j/proj/Murdoch3Projection.java b/core/src/main/java/org/locationtech/proj4j/proj/Murdoch3Projection.java similarity index 100% rename from src/main/java/org/locationtech/proj4j/proj/Murdoch3Projection.java rename to core/src/main/java/org/locationtech/proj4j/proj/Murdoch3Projection.java diff --git a/src/main/java/org/locationtech/proj4j/proj/NellHProjection.java b/core/src/main/java/org/locationtech/proj4j/proj/NellHProjection.java similarity index 100% rename from src/main/java/org/locationtech/proj4j/proj/NellHProjection.java rename to core/src/main/java/org/locationtech/proj4j/proj/NellHProjection.java diff --git a/src/main/java/org/locationtech/proj4j/proj/NellProjection.java b/core/src/main/java/org/locationtech/proj4j/proj/NellProjection.java similarity index 100% rename from src/main/java/org/locationtech/proj4j/proj/NellProjection.java rename to core/src/main/java/org/locationtech/proj4j/proj/NellProjection.java diff --git a/src/main/java/org/locationtech/proj4j/proj/NewZealandMapGridProjection.java b/core/src/main/java/org/locationtech/proj4j/proj/NewZealandMapGridProjection.java similarity index 100% rename from src/main/java/org/locationtech/proj4j/proj/NewZealandMapGridProjection.java rename to core/src/main/java/org/locationtech/proj4j/proj/NewZealandMapGridProjection.java diff --git a/src/main/java/org/locationtech/proj4j/proj/NicolosiProjection.java b/core/src/main/java/org/locationtech/proj4j/proj/NicolosiProjection.java similarity index 100% rename from src/main/java/org/locationtech/proj4j/proj/NicolosiProjection.java rename to core/src/main/java/org/locationtech/proj4j/proj/NicolosiProjection.java diff --git a/src/main/java/org/locationtech/proj4j/proj/NullProjection.java b/core/src/main/java/org/locationtech/proj4j/proj/NullProjection.java similarity index 100% rename from src/main/java/org/locationtech/proj4j/proj/NullProjection.java rename to core/src/main/java/org/locationtech/proj4j/proj/NullProjection.java diff --git a/src/main/java/org/locationtech/proj4j/proj/ObliqueMercatorProjection.java b/core/src/main/java/org/locationtech/proj4j/proj/ObliqueMercatorProjection.java similarity index 100% rename from src/main/java/org/locationtech/proj4j/proj/ObliqueMercatorProjection.java rename to core/src/main/java/org/locationtech/proj4j/proj/ObliqueMercatorProjection.java diff --git a/src/main/java/org/locationtech/proj4j/proj/ObliqueStereographicAlternativeProjection.java b/core/src/main/java/org/locationtech/proj4j/proj/ObliqueStereographicAlternativeProjection.java similarity index 100% rename from src/main/java/org/locationtech/proj4j/proj/ObliqueStereographicAlternativeProjection.java rename to core/src/main/java/org/locationtech/proj4j/proj/ObliqueStereographicAlternativeProjection.java diff --git a/src/main/java/org/locationtech/proj4j/proj/OrthographicAzimuthalProjection.java b/core/src/main/java/org/locationtech/proj4j/proj/OrthographicAzimuthalProjection.java similarity index 100% rename from src/main/java/org/locationtech/proj4j/proj/OrthographicAzimuthalProjection.java rename to core/src/main/java/org/locationtech/proj4j/proj/OrthographicAzimuthalProjection.java diff --git a/src/main/java/org/locationtech/proj4j/proj/PerspectiveConicProjection.java b/core/src/main/java/org/locationtech/proj4j/proj/PerspectiveConicProjection.java similarity index 100% rename from src/main/java/org/locationtech/proj4j/proj/PerspectiveConicProjection.java rename to core/src/main/java/org/locationtech/proj4j/proj/PerspectiveConicProjection.java diff --git a/src/main/java/org/locationtech/proj4j/proj/PerspectiveProjection.java b/core/src/main/java/org/locationtech/proj4j/proj/PerspectiveProjection.java similarity index 100% rename from src/main/java/org/locationtech/proj4j/proj/PerspectiveProjection.java rename to core/src/main/java/org/locationtech/proj4j/proj/PerspectiveProjection.java diff --git a/src/main/java/org/locationtech/proj4j/proj/PlateCarreeProjection.java b/core/src/main/java/org/locationtech/proj4j/proj/PlateCarreeProjection.java similarity index 100% rename from src/main/java/org/locationtech/proj4j/proj/PlateCarreeProjection.java rename to core/src/main/java/org/locationtech/proj4j/proj/PlateCarreeProjection.java diff --git a/src/main/java/org/locationtech/proj4j/proj/PolyconicProjection.java b/core/src/main/java/org/locationtech/proj4j/proj/PolyconicProjection.java similarity index 100% rename from src/main/java/org/locationtech/proj4j/proj/PolyconicProjection.java rename to core/src/main/java/org/locationtech/proj4j/proj/PolyconicProjection.java diff --git a/src/main/java/org/locationtech/proj4j/proj/Projection.java b/core/src/main/java/org/locationtech/proj4j/proj/Projection.java similarity index 100% rename from src/main/java/org/locationtech/proj4j/proj/Projection.java rename to core/src/main/java/org/locationtech/proj4j/proj/Projection.java diff --git a/src/main/java/org/locationtech/proj4j/proj/PseudoCylindricalProjection.java b/core/src/main/java/org/locationtech/proj4j/proj/PseudoCylindricalProjection.java similarity index 100% rename from src/main/java/org/locationtech/proj4j/proj/PseudoCylindricalProjection.java rename to core/src/main/java/org/locationtech/proj4j/proj/PseudoCylindricalProjection.java diff --git a/src/main/java/org/locationtech/proj4j/proj/PutninsP2Projection.java b/core/src/main/java/org/locationtech/proj4j/proj/PutninsP2Projection.java similarity index 100% rename from src/main/java/org/locationtech/proj4j/proj/PutninsP2Projection.java rename to core/src/main/java/org/locationtech/proj4j/proj/PutninsP2Projection.java diff --git a/src/main/java/org/locationtech/proj4j/proj/PutninsP4Projection.java b/core/src/main/java/org/locationtech/proj4j/proj/PutninsP4Projection.java similarity index 100% rename from src/main/java/org/locationtech/proj4j/proj/PutninsP4Projection.java rename to core/src/main/java/org/locationtech/proj4j/proj/PutninsP4Projection.java diff --git a/src/main/java/org/locationtech/proj4j/proj/PutninsP5PProjection.java b/core/src/main/java/org/locationtech/proj4j/proj/PutninsP5PProjection.java similarity index 100% rename from src/main/java/org/locationtech/proj4j/proj/PutninsP5PProjection.java rename to core/src/main/java/org/locationtech/proj4j/proj/PutninsP5PProjection.java diff --git a/src/main/java/org/locationtech/proj4j/proj/PutninsP5Projection.java b/core/src/main/java/org/locationtech/proj4j/proj/PutninsP5Projection.java similarity index 100% rename from src/main/java/org/locationtech/proj4j/proj/PutninsP5Projection.java rename to core/src/main/java/org/locationtech/proj4j/proj/PutninsP5Projection.java diff --git a/src/main/java/org/locationtech/proj4j/proj/QuarticAuthalicProjection.java b/core/src/main/java/org/locationtech/proj4j/proj/QuarticAuthalicProjection.java similarity index 100% rename from src/main/java/org/locationtech/proj4j/proj/QuarticAuthalicProjection.java rename to core/src/main/java/org/locationtech/proj4j/proj/QuarticAuthalicProjection.java diff --git a/src/main/java/org/locationtech/proj4j/proj/RectangularPolyconicProjection.java b/core/src/main/java/org/locationtech/proj4j/proj/RectangularPolyconicProjection.java similarity index 100% rename from src/main/java/org/locationtech/proj4j/proj/RectangularPolyconicProjection.java rename to core/src/main/java/org/locationtech/proj4j/proj/RectangularPolyconicProjection.java diff --git a/src/main/java/org/locationtech/proj4j/proj/RobinsonProjection.java b/core/src/main/java/org/locationtech/proj4j/proj/RobinsonProjection.java similarity index 100% rename from src/main/java/org/locationtech/proj4j/proj/RobinsonProjection.java rename to core/src/main/java/org/locationtech/proj4j/proj/RobinsonProjection.java diff --git a/src/main/java/org/locationtech/proj4j/proj/SimpleConicProjection.java b/core/src/main/java/org/locationtech/proj4j/proj/SimpleConicProjection.java similarity index 100% rename from src/main/java/org/locationtech/proj4j/proj/SimpleConicProjection.java rename to core/src/main/java/org/locationtech/proj4j/proj/SimpleConicProjection.java diff --git a/src/main/java/org/locationtech/proj4j/proj/SineTangentSeriesProjection.java b/core/src/main/java/org/locationtech/proj4j/proj/SineTangentSeriesProjection.java similarity index 100% rename from src/main/java/org/locationtech/proj4j/proj/SineTangentSeriesProjection.java rename to core/src/main/java/org/locationtech/proj4j/proj/SineTangentSeriesProjection.java diff --git a/src/main/java/org/locationtech/proj4j/proj/SinusoidalProjection.java b/core/src/main/java/org/locationtech/proj4j/proj/SinusoidalProjection.java similarity index 100% rename from src/main/java/org/locationtech/proj4j/proj/SinusoidalProjection.java rename to core/src/main/java/org/locationtech/proj4j/proj/SinusoidalProjection.java diff --git a/src/main/java/org/locationtech/proj4j/proj/StereographicAzimuthalProjection.java b/core/src/main/java/org/locationtech/proj4j/proj/StereographicAzimuthalProjection.java similarity index 100% rename from src/main/java/org/locationtech/proj4j/proj/StereographicAzimuthalProjection.java rename to core/src/main/java/org/locationtech/proj4j/proj/StereographicAzimuthalProjection.java diff --git a/src/main/java/org/locationtech/proj4j/proj/SwissObliqueMercatorProjection.java b/core/src/main/java/org/locationtech/proj4j/proj/SwissObliqueMercatorProjection.java similarity index 100% rename from src/main/java/org/locationtech/proj4j/proj/SwissObliqueMercatorProjection.java rename to core/src/main/java/org/locationtech/proj4j/proj/SwissObliqueMercatorProjection.java diff --git a/src/main/java/org/locationtech/proj4j/proj/TissotProjection.java b/core/src/main/java/org/locationtech/proj4j/proj/TissotProjection.java similarity index 100% rename from src/main/java/org/locationtech/proj4j/proj/TissotProjection.java rename to core/src/main/java/org/locationtech/proj4j/proj/TissotProjection.java diff --git a/src/main/java/org/locationtech/proj4j/proj/TransverseCylindricalEqualArea.java b/core/src/main/java/org/locationtech/proj4j/proj/TransverseCylindricalEqualArea.java similarity index 100% rename from src/main/java/org/locationtech/proj4j/proj/TransverseCylindricalEqualArea.java rename to core/src/main/java/org/locationtech/proj4j/proj/TransverseCylindricalEqualArea.java diff --git a/src/main/java/org/locationtech/proj4j/proj/TransverseMercatorProjection.java b/core/src/main/java/org/locationtech/proj4j/proj/TransverseMercatorProjection.java similarity index 100% rename from src/main/java/org/locationtech/proj4j/proj/TransverseMercatorProjection.java rename to core/src/main/java/org/locationtech/proj4j/proj/TransverseMercatorProjection.java diff --git a/src/main/java/org/locationtech/proj4j/proj/TranverseCentralCylindricalProjection.java b/core/src/main/java/org/locationtech/proj4j/proj/TranverseCentralCylindricalProjection.java similarity index 100% rename from src/main/java/org/locationtech/proj4j/proj/TranverseCentralCylindricalProjection.java rename to core/src/main/java/org/locationtech/proj4j/proj/TranverseCentralCylindricalProjection.java diff --git a/src/main/java/org/locationtech/proj4j/proj/UrmaevFlatPolarSinusoidalProjection.java b/core/src/main/java/org/locationtech/proj4j/proj/UrmaevFlatPolarSinusoidalProjection.java similarity index 100% rename from src/main/java/org/locationtech/proj4j/proj/UrmaevFlatPolarSinusoidalProjection.java rename to core/src/main/java/org/locationtech/proj4j/proj/UrmaevFlatPolarSinusoidalProjection.java diff --git a/src/main/java/org/locationtech/proj4j/proj/VanDerGrintenProjection.java b/core/src/main/java/org/locationtech/proj4j/proj/VanDerGrintenProjection.java similarity index 100% rename from src/main/java/org/locationtech/proj4j/proj/VanDerGrintenProjection.java rename to core/src/main/java/org/locationtech/proj4j/proj/VanDerGrintenProjection.java diff --git a/src/main/java/org/locationtech/proj4j/proj/VitkovskyProjection.java b/core/src/main/java/org/locationtech/proj4j/proj/VitkovskyProjection.java similarity index 100% rename from src/main/java/org/locationtech/proj4j/proj/VitkovskyProjection.java rename to core/src/main/java/org/locationtech/proj4j/proj/VitkovskyProjection.java diff --git a/src/main/java/org/locationtech/proj4j/proj/Wagner1Projection.java b/core/src/main/java/org/locationtech/proj4j/proj/Wagner1Projection.java similarity index 100% rename from src/main/java/org/locationtech/proj4j/proj/Wagner1Projection.java rename to core/src/main/java/org/locationtech/proj4j/proj/Wagner1Projection.java diff --git a/src/main/java/org/locationtech/proj4j/proj/Wagner2Projection.java b/core/src/main/java/org/locationtech/proj4j/proj/Wagner2Projection.java similarity index 100% rename from src/main/java/org/locationtech/proj4j/proj/Wagner2Projection.java rename to core/src/main/java/org/locationtech/proj4j/proj/Wagner2Projection.java diff --git a/src/main/java/org/locationtech/proj4j/proj/Wagner3Projection.java b/core/src/main/java/org/locationtech/proj4j/proj/Wagner3Projection.java similarity index 100% rename from src/main/java/org/locationtech/proj4j/proj/Wagner3Projection.java rename to core/src/main/java/org/locationtech/proj4j/proj/Wagner3Projection.java diff --git a/src/main/java/org/locationtech/proj4j/proj/Wagner4Projection.java b/core/src/main/java/org/locationtech/proj4j/proj/Wagner4Projection.java similarity index 100% rename from src/main/java/org/locationtech/proj4j/proj/Wagner4Projection.java rename to core/src/main/java/org/locationtech/proj4j/proj/Wagner4Projection.java diff --git a/src/main/java/org/locationtech/proj4j/proj/Wagner5Projection.java b/core/src/main/java/org/locationtech/proj4j/proj/Wagner5Projection.java similarity index 100% rename from src/main/java/org/locationtech/proj4j/proj/Wagner5Projection.java rename to core/src/main/java/org/locationtech/proj4j/proj/Wagner5Projection.java diff --git a/src/main/java/org/locationtech/proj4j/proj/Wagner7Projection.java b/core/src/main/java/org/locationtech/proj4j/proj/Wagner7Projection.java similarity index 100% rename from src/main/java/org/locationtech/proj4j/proj/Wagner7Projection.java rename to core/src/main/java/org/locationtech/proj4j/proj/Wagner7Projection.java diff --git a/src/main/java/org/locationtech/proj4j/proj/WerenskioldProjection.java b/core/src/main/java/org/locationtech/proj4j/proj/WerenskioldProjection.java similarity index 100% rename from src/main/java/org/locationtech/proj4j/proj/WerenskioldProjection.java rename to core/src/main/java/org/locationtech/proj4j/proj/WerenskioldProjection.java diff --git a/src/main/java/org/locationtech/proj4j/proj/WinkelTripelProjection.java b/core/src/main/java/org/locationtech/proj4j/proj/WinkelTripelProjection.java similarity index 100% rename from src/main/java/org/locationtech/proj4j/proj/WinkelTripelProjection.java rename to core/src/main/java/org/locationtech/proj4j/proj/WinkelTripelProjection.java diff --git a/src/main/java/org/locationtech/proj4j/units/Angle.java b/core/src/main/java/org/locationtech/proj4j/units/Angle.java similarity index 100% rename from src/main/java/org/locationtech/proj4j/units/Angle.java rename to core/src/main/java/org/locationtech/proj4j/units/Angle.java diff --git a/src/main/java/org/locationtech/proj4j/units/AngleFormat.java b/core/src/main/java/org/locationtech/proj4j/units/AngleFormat.java similarity index 100% rename from src/main/java/org/locationtech/proj4j/units/AngleFormat.java rename to core/src/main/java/org/locationtech/proj4j/units/AngleFormat.java diff --git a/src/main/java/org/locationtech/proj4j/units/DegreeUnit.java b/core/src/main/java/org/locationtech/proj4j/units/DegreeUnit.java similarity index 100% rename from src/main/java/org/locationtech/proj4j/units/DegreeUnit.java rename to core/src/main/java/org/locationtech/proj4j/units/DegreeUnit.java diff --git a/src/main/java/org/locationtech/proj4j/units/Unit.java b/core/src/main/java/org/locationtech/proj4j/units/Unit.java similarity index 100% rename from src/main/java/org/locationtech/proj4j/units/Unit.java rename to core/src/main/java/org/locationtech/proj4j/units/Unit.java diff --git a/src/main/java/org/locationtech/proj4j/units/Units.java b/core/src/main/java/org/locationtech/proj4j/units/Units.java similarity index 100% rename from src/main/java/org/locationtech/proj4j/units/Units.java rename to core/src/main/java/org/locationtech/proj4j/units/Units.java diff --git a/src/main/java/org/locationtech/proj4j/util/CRSCache.java b/core/src/main/java/org/locationtech/proj4j/util/CRSCache.java similarity index 100% rename from src/main/java/org/locationtech/proj4j/util/CRSCache.java rename to core/src/main/java/org/locationtech/proj4j/util/CRSCache.java diff --git a/src/main/java/org/locationtech/proj4j/util/Complex.java b/core/src/main/java/org/locationtech/proj4j/util/Complex.java similarity index 100% rename from src/main/java/org/locationtech/proj4j/util/Complex.java rename to core/src/main/java/org/locationtech/proj4j/util/Complex.java diff --git a/src/main/java/org/locationtech/proj4j/util/FloatPolarCoordinate.java b/core/src/main/java/org/locationtech/proj4j/util/FloatPolarCoordinate.java similarity index 100% rename from src/main/java/org/locationtech/proj4j/util/FloatPolarCoordinate.java rename to core/src/main/java/org/locationtech/proj4j/util/FloatPolarCoordinate.java diff --git a/src/main/java/org/locationtech/proj4j/util/IntPolarCoordinate.java b/core/src/main/java/org/locationtech/proj4j/util/IntPolarCoordinate.java similarity index 100% rename from src/main/java/org/locationtech/proj4j/util/IntPolarCoordinate.java rename to core/src/main/java/org/locationtech/proj4j/util/IntPolarCoordinate.java diff --git a/src/main/java/org/locationtech/proj4j/util/Pair.java b/core/src/main/java/org/locationtech/proj4j/util/Pair.java similarity index 100% rename from src/main/java/org/locationtech/proj4j/util/Pair.java rename to core/src/main/java/org/locationtech/proj4j/util/Pair.java diff --git a/src/main/java/org/locationtech/proj4j/util/PolarCoordinate.java b/core/src/main/java/org/locationtech/proj4j/util/PolarCoordinate.java similarity index 100% rename from src/main/java/org/locationtech/proj4j/util/PolarCoordinate.java rename to core/src/main/java/org/locationtech/proj4j/util/PolarCoordinate.java diff --git a/src/main/java/org/locationtech/proj4j/util/ProjectionMath.java b/core/src/main/java/org/locationtech/proj4j/util/ProjectionMath.java similarity index 100% rename from src/main/java/org/locationtech/proj4j/util/ProjectionMath.java rename to core/src/main/java/org/locationtech/proj4j/util/ProjectionMath.java diff --git a/src/main/java/org/locationtech/proj4j/util/ProjectionUtil.java b/core/src/main/java/org/locationtech/proj4j/util/ProjectionUtil.java similarity index 100% rename from src/main/java/org/locationtech/proj4j/util/ProjectionUtil.java rename to core/src/main/java/org/locationtech/proj4j/util/ProjectionUtil.java diff --git a/src/main/resources/proj4/nad/epsg b/core/src/main/resources/proj4/nad/epsg similarity index 100% rename from src/main/resources/proj4/nad/epsg rename to core/src/main/resources/proj4/nad/epsg diff --git a/src/main/resources/proj4/nad/esri b/core/src/main/resources/proj4/nad/esri similarity index 100% rename from src/main/resources/proj4/nad/esri rename to core/src/main/resources/proj4/nad/esri diff --git a/src/main/resources/proj4/nad/nad27 b/core/src/main/resources/proj4/nad/nad27 similarity index 100% rename from src/main/resources/proj4/nad/nad27 rename to core/src/main/resources/proj4/nad/nad27 diff --git a/src/main/resources/proj4/nad/nad83 b/core/src/main/resources/proj4/nad/nad83 similarity index 100% rename from src/main/resources/proj4/nad/nad83 rename to core/src/main/resources/proj4/nad/nad83 diff --git a/src/main/resources/proj4/nad/ntv1_can.dat b/core/src/main/resources/proj4/nad/ntv1_can.dat similarity index 100% rename from src/main/resources/proj4/nad/ntv1_can.dat rename to core/src/main/resources/proj4/nad/ntv1_can.dat diff --git a/src/main/resources/proj4/nad/null b/core/src/main/resources/proj4/nad/null similarity index 100% rename from src/main/resources/proj4/nad/null rename to core/src/main/resources/proj4/nad/null diff --git a/src/main/resources/proj4/nad/world b/core/src/main/resources/proj4/nad/world similarity index 100% rename from src/main/resources/proj4/nad/world rename to core/src/main/resources/proj4/nad/world diff --git a/src/test/java/org/locationtech/proj4j/BaseCoordinateTransformTest.java b/core/src/test/java/org/locationtech/proj4j/BaseCoordinateTransformTest.java similarity index 100% rename from src/test/java/org/locationtech/proj4j/BaseCoordinateTransformTest.java rename to core/src/test/java/org/locationtech/proj4j/BaseCoordinateTransformTest.java diff --git a/src/test/java/org/locationtech/proj4j/CoordinateTransformTest.java b/core/src/test/java/org/locationtech/proj4j/CoordinateTransformTest.java similarity index 100% rename from src/test/java/org/locationtech/proj4j/CoordinateTransformTest.java rename to core/src/test/java/org/locationtech/proj4j/CoordinateTransformTest.java diff --git a/src/test/java/org/locationtech/proj4j/CoordinateTransformTester.java b/core/src/test/java/org/locationtech/proj4j/CoordinateTransformTester.java similarity index 100% rename from src/test/java/org/locationtech/proj4j/CoordinateTransformTester.java rename to core/src/test/java/org/locationtech/proj4j/CoordinateTransformTester.java diff --git a/src/test/java/org/locationtech/proj4j/ExampleTest.java b/core/src/test/java/org/locationtech/proj4j/ExampleTest.java similarity index 100% rename from src/test/java/org/locationtech/proj4j/ExampleTest.java rename to core/src/test/java/org/locationtech/proj4j/ExampleTest.java diff --git a/src/test/java/org/locationtech/proj4j/FeatureTest.java b/core/src/test/java/org/locationtech/proj4j/FeatureTest.java similarity index 100% rename from src/test/java/org/locationtech/proj4j/FeatureTest.java rename to core/src/test/java/org/locationtech/proj4j/FeatureTest.java diff --git a/src/test/java/org/locationtech/proj4j/MetaCRSTest.java b/core/src/test/java/org/locationtech/proj4j/MetaCRSTest.java similarity index 100% rename from src/test/java/org/locationtech/proj4j/MetaCRSTest.java rename to core/src/test/java/org/locationtech/proj4j/MetaCRSTest.java diff --git a/src/test/java/org/locationtech/proj4j/Proj4JSTest.java b/core/src/test/java/org/locationtech/proj4j/Proj4JSTest.java similarity index 100% rename from src/test/java/org/locationtech/proj4j/Proj4JSTest.java rename to core/src/test/java/org/locationtech/proj4j/Proj4JSTest.java diff --git a/src/test/java/org/locationtech/proj4j/Proj4VariousTest.java b/core/src/test/java/org/locationtech/proj4j/Proj4VariousTest.java similarity index 100% rename from src/test/java/org/locationtech/proj4j/Proj4VariousTest.java rename to core/src/test/java/org/locationtech/proj4j/Proj4VariousTest.java diff --git a/src/test/java/org/locationtech/proj4j/RepeatedTransformTest.java b/core/src/test/java/org/locationtech/proj4j/RepeatedTransformTest.java similarity index 100% rename from src/test/java/org/locationtech/proj4j/RepeatedTransformTest.java rename to core/src/test/java/org/locationtech/proj4j/RepeatedTransformTest.java diff --git a/src/test/java/org/locationtech/proj4j/TransformFailures.java b/core/src/test/java/org/locationtech/proj4j/TransformFailures.java similarity index 100% rename from src/test/java/org/locationtech/proj4j/TransformFailures.java rename to core/src/test/java/org/locationtech/proj4j/TransformFailures.java diff --git a/src/test/java/org/locationtech/proj4j/io/CSVRecordParser.java b/core/src/test/java/org/locationtech/proj4j/io/CSVRecordParser.java similarity index 100% rename from src/test/java/org/locationtech/proj4j/io/CSVRecordParser.java rename to core/src/test/java/org/locationtech/proj4j/io/CSVRecordParser.java diff --git a/src/test/java/org/locationtech/proj4j/io/MetaCRSTestCase.java b/core/src/test/java/org/locationtech/proj4j/io/MetaCRSTestCase.java similarity index 100% rename from src/test/java/org/locationtech/proj4j/io/MetaCRSTestCase.java rename to core/src/test/java/org/locationtech/proj4j/io/MetaCRSTestCase.java diff --git a/src/test/java/org/locationtech/proj4j/io/MetaCRSTestFileReader.java b/core/src/test/java/org/locationtech/proj4j/io/MetaCRSTestFileReader.java similarity index 100% rename from src/test/java/org/locationtech/proj4j/io/MetaCRSTestFileReader.java rename to core/src/test/java/org/locationtech/proj4j/io/MetaCRSTestFileReader.java diff --git a/src/test/java/org/locationtech/proj4j/proj/ProjectionEqualityTest.java b/core/src/test/java/org/locationtech/proj4j/proj/ProjectionEqualityTest.java similarity index 100% rename from src/test/java/org/locationtech/proj4j/proj/ProjectionEqualityTest.java rename to core/src/test/java/org/locationtech/proj4j/proj/ProjectionEqualityTest.java diff --git a/src/test/java/org/locationtech/proj4j/proj/ProjectionGridRoundTripper.java b/core/src/test/java/org/locationtech/proj4j/proj/ProjectionGridRoundTripper.java similarity index 100% rename from src/test/java/org/locationtech/proj4j/proj/ProjectionGridRoundTripper.java rename to core/src/test/java/org/locationtech/proj4j/proj/ProjectionGridRoundTripper.java diff --git a/src/test/java/org/locationtech/proj4j/proj/ProjectionGridTest.java b/core/src/test/java/org/locationtech/proj4j/proj/ProjectionGridTest.java similarity index 100% rename from src/test/java/org/locationtech/proj4j/proj/ProjectionGridTest.java rename to core/src/test/java/org/locationtech/proj4j/proj/ProjectionGridTest.java diff --git a/src/test/resources/PROJ4_SPCS_EPSG_nad83.csv b/core/src/test/resources/PROJ4_SPCS_EPSG_nad83.csv similarity index 100% rename from src/test/resources/PROJ4_SPCS_EPSG_nad83.csv rename to core/src/test/resources/PROJ4_SPCS_EPSG_nad83.csv diff --git a/src/test/resources/PROJ4_SPCS_ESRI_nad83.csv b/core/src/test/resources/PROJ4_SPCS_ESRI_nad83.csv similarity index 100% rename from src/test/resources/PROJ4_SPCS_ESRI_nad83.csv rename to core/src/test/resources/PROJ4_SPCS_ESRI_nad83.csv diff --git a/src/test/resources/PROJ4_SPCS_nad27.csv b/core/src/test/resources/PROJ4_SPCS_nad27.csv similarity index 100% rename from src/test/resources/PROJ4_SPCS_nad27.csv rename to core/src/test/resources/PROJ4_SPCS_nad27.csv diff --git a/src/test/resources/TestData.csv b/core/src/test/resources/TestData.csv similarity index 100% rename from src/test/resources/TestData.csv rename to core/src/test/resources/TestData.csv diff --git a/src/test/resources/nad/epsg b/core/src/test/resources/nad/epsg old mode 100755 new mode 100644 similarity index 100% rename from src/test/resources/nad/epsg rename to core/src/test/resources/nad/epsg diff --git a/src/test/resources/nad/esri b/core/src/test/resources/nad/esri old mode 100755 new mode 100644 similarity index 100% rename from src/test/resources/nad/esri rename to core/src/test/resources/nad/esri diff --git a/src/test/resources/nad/nad27 b/core/src/test/resources/nad/nad27 old mode 100755 new mode 100644 similarity index 100% rename from src/test/resources/nad/nad27 rename to core/src/test/resources/nad/nad27 diff --git a/src/test/resources/nad/nad83 b/core/src/test/resources/nad/nad83 old mode 100755 new mode 100644 similarity index 100% rename from src/test/resources/nad/nad83 rename to core/src/test/resources/nad/nad83 diff --git a/src/test/resources/nad/world b/core/src/test/resources/nad/world old mode 100755 new mode 100644 similarity index 100% rename from src/test/resources/nad/world rename to core/src/test/resources/nad/world diff --git a/src/test/resources/proj4-epsg.csv b/core/src/test/resources/proj4-epsg.csv similarity index 100% rename from src/test/resources/proj4-epsg.csv rename to core/src/test/resources/proj4-epsg.csv diff --git a/epsg/pom.xml b/epsg/pom.xml new file mode 100644 index 0000000..33fc455 --- /dev/null +++ b/epsg/pom.xml @@ -0,0 +1,182 @@ + + 4.0.0 + + org.locationtech.proj4j + proj4j-epsg + 1.2.0-SNAPSHOT + jar + Proj4J EPSG + https://github.com/locationtech/proj4j + Java port of the Proj.4 library for coordinate reprojection + + + + Apache License, Version 2.0 + http://www.apache.org/licenses/LICENSE-2.0 + + + EPSG database distribution license + https://raw.githubusercontent.com/locationtech/proj4j/master/LICENSE.EPSG + + + + + https://github.com/locationtech/proj4j.git + scm:git:https://github.com/locationtech/proj4j.git + HEAD + + + + + echeipesh + Eugene Cheipesh + https://github.com/echeipesh + + + lossyrob + Rob Emanuele + https://github.com/lossyrob + + + pomadchin + Grigory Pomadchin + https://github.com/pomadchin + + + + + + Martin Davis + https://github.com/dr-jts + + + + + + + org.apache.maven.plugins + maven-compiler-plugin + 3.10.1 + + 1.8 + 1.8 + true + UTF-8 + + + + true + maven-javadoc-plugin + 3.4.1 + + + attach-javadocs + + jar + + + true + false + + + + + + org.apache.maven.plugins + maven-source-plugin + 3.2.1 + + + attach-sources + + jar + + + + + + org.apache.maven.plugins + maven-surefire-plugin + 2.22.2 + + + + + maven-deploy-plugin + 3.0.0 + + true + + + + default-deploy + deploy + + deploy + + + + + + + + + + eclipse + + + repo.eclipse.org + Proj4J Repository - Releases + https://repo.eclipse.org/content/repositories/proj4j-releases/ + + + repo.eclipse.org + Proj4J Repository - Snapshots + https://repo.eclipse.org/content/repositories/proj4j-snapshots/ + + + + + central + + + ossrh + https://oss.sonatype.org/service/local/staging/deploy/maven2/ + + + ossrh + https://oss.sonatype.org/content/repositories/snapshots + + + + + + org.sonatype.plugins + nexus-staging-maven-plugin + 1.6.13 + true + + ossrh + https://oss.sonatype.org/ + false + + + + org.apache.maven.plugins + maven-gpg-plugin + 3.0.1 + + + sign-artifacts + verify + + sign + + + + + + + + + diff --git a/src/main/resources/proj4/ellipsoid.csv b/epsg/src/main/resources/proj4/ellipsoid.csv similarity index 100% rename from src/main/resources/proj4/ellipsoid.csv rename to epsg/src/main/resources/proj4/ellipsoid.csv diff --git a/src/main/resources/proj4/gcs.csv b/epsg/src/main/resources/proj4/gcs.csv similarity index 100% rename from src/main/resources/proj4/gcs.csv rename to epsg/src/main/resources/proj4/gcs.csv diff --git a/src/main/resources/proj4/gcs.override.csv b/epsg/src/main/resources/proj4/gcs.override.csv similarity index 100% rename from src/main/resources/proj4/gcs.override.csv rename to epsg/src/main/resources/proj4/gcs.override.csv diff --git a/src/main/resources/proj4/gdal_datum.csv b/epsg/src/main/resources/proj4/gdal_datum.csv similarity index 100% rename from src/main/resources/proj4/gdal_datum.csv rename to epsg/src/main/resources/proj4/gdal_datum.csv diff --git a/src/main/resources/proj4/pcs.csv b/epsg/src/main/resources/proj4/pcs.csv similarity index 100% rename from src/main/resources/proj4/pcs.csv rename to epsg/src/main/resources/proj4/pcs.csv diff --git a/src/main/resources/proj4/pcs.override.csv b/epsg/src/main/resources/proj4/pcs.override.csv similarity index 100% rename from src/main/resources/proj4/pcs.override.csv rename to epsg/src/main/resources/proj4/pcs.override.csv diff --git a/src/main/resources/proj4/prime_meridian.csv b/epsg/src/main/resources/proj4/prime_meridian.csv similarity index 100% rename from src/main/resources/proj4/prime_meridian.csv rename to epsg/src/main/resources/proj4/prime_meridian.csv diff --git a/src/main/resources/proj4/projop_wparm.csv b/epsg/src/main/resources/proj4/projop_wparm.csv similarity index 100% rename from src/main/resources/proj4/projop_wparm.csv rename to epsg/src/main/resources/proj4/projop_wparm.csv diff --git a/src/main/resources/proj4/unit_of_measure.csv b/epsg/src/main/resources/proj4/unit_of_measure.csv similarity index 100% rename from src/main/resources/proj4/unit_of_measure.csv rename to epsg/src/main/resources/proj4/unit_of_measure.csv diff --git a/src/main/resources/proj4/wkt/epsg.properties b/epsg/src/main/resources/proj4/wkt/epsg.properties similarity index 100% rename from src/main/resources/proj4/wkt/epsg.properties rename to epsg/src/main/resources/proj4/wkt/epsg.properties diff --git a/pom.xml b/pom.xml index a8f7326..0594443 100644 --- a/pom.xml +++ b/pom.xml @@ -2,210 +2,33 @@ 4.0.0 org.locationtech.proj4j - proj4j + proj4j-modules - 1.1.6-SNAPSHOT - bundle - Proj4J + 1.2.0-SNAPSHOT + pom + Proj4J Root https://github.com/locationtech/proj4j - Java port of the Proj.4 library for coordinate reprojection + Java port of the Proj.4 library for coordinate reprojection + Apache License, Version 2.0 http://www.apache.org/licenses/LICENSE-2.0 - - https://github.com/locationtech/proj4j.git - scm:git:https://github.com/locationtech/proj4j.git - HEAD - - - - - echeipesh - Eugene Cheipesh - https://github.com/echeipesh - - - lossyrob - Rob Emanuele - https://github.com/lossyrob - - - pomadchin - Grigory Pomadchin - https://github.com/pomadchin - - - - - Martin Davis - https://github.com/dr-jts - - + + core + epsg + - UTF-8 - org.locationtech.proj4j - yyyyMMddHHmm - ${maven.build.timestamp} + true + true + true - - - - junit - junit - 4.13.1 - test - - - - - - - org.apache.maven.plugins - maven-compiler-plugin - 3.6.0 - - 1.8 - 1.8 - true - UTF-8 - - - - true - maven-javadoc-plugin - 3.0.1 - - - attach-javadocs - - jar - - - true - false - - - - - - org.apache.maven.plugins - maven-source-plugin - 3.0.1 - - - attach-sources - - jar - - - - - - org.apache.maven.plugins - maven-surefire-plugin - 2.19.1 - - - org.apache.felix - maven-bundle-plugin - 4.2.0 - true - - - - - <_nouses>true - <_snapshot>${osgi-version-qualifier} - ${bundle-symbolicname} - - - true - - - - - - maven-deploy-plugin - 2.8.2 - - - default-deploy - deploy - - deploy - - - - - - - - - - eclipse - - - repo.eclipse.org - Proj4J Repository - Releases - https://repo.eclipse.org/content/repositories/proj4j-releases/ - - - repo.eclipse.org - Proj4J Repository - Snapshots - https://repo.eclipse.org/content/repositories/proj4j-snapshots/ - - - - - central - - - ossrh - https://oss.sonatype.org/service/local/staging/deploy/maven2/ - - - ossrh - https://oss.sonatype.org/content/repositories/snapshots - - - - - - org.sonatype.plugins - nexus-staging-maven-plugin - 1.6.7 - true - - ossrh - https://oss.sonatype.org/ - false - - - - org.apache.maven.plugins - maven-gpg-plugin - 1.6 - - - sign-artifacts - verify - - sign - - - - - - - -