Skip to content

Commit 59c2f66

Browse files
committed
Split projects into proj4j and proj4j-epsg (#92)
* Split projects into two, update HOWTORELEASE instructions as well as the related set of mvn plugins * Bump the default proj4j snapshot version up
1 parent 520b94b commit 59c2f66

File tree

201 files changed

+583
-193
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

201 files changed

+583
-193
lines changed

.gitignore

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,4 +34,4 @@ _SUCCESS
3434

3535
.ensime*
3636
tags
37-
.vscode
37+
.vscode

.mvn/extensions.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,6 @@
33
<extension>
44
<groupId>fr.brouillard.oss</groupId>
55
<artifactId>jgitver-maven-plugin</artifactId>
6-
<version>1.8.0</version>
6+
<version>1.9.0</version>
77
</extension>
88
</extensions>

CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
1111
- Fix RobinsonProjection [#87](https://github.com/locationtech/proj4j/issues/87)
1212
- Backport: Stop after successfully applying grid [#91](https://github.com/locationtech/proj4j/pull/91)
1313

14+
### Added
15+
- Added support for EPSG:9054 [#93](https://github.com/locationtech/proj4j/pull/93)
16+
- Split projects into proj4j and proj4j-epsg [#92](https://github.com/locationtech/proj4j/pull/92)
17+
1418
## [1.1.5] - 2022-03-25
1519

1620
### Fixed

HOWTORELEASE.txt

Lines changed: 86 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,86 @@
1+
Steps for Making a Proj4J Release
2+
==============================================================================
3+
4+
:Author: Grigory Pomadchin
5+
:Contact: https://github.com/pomadchin
6+
:Date: 11/28/2022
7+
8+
This document describes the process to releasing a new version of Proj4J.
9+
10+
General Notes
11+
------------------------------------------------------------------------------
12+
13+
1) Proj4J project release
14+
What you need:
15+
- an account on sonatype (https://issues.sonatype.org/secure/Signup!default.jspa)
16+
- configured ~/.m2/settings.xml file (a simple example below):
17+
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
18+
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
19+
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0
20+
http://maven.apache.org/xsd/settings-1.0.0.xsd">
21+
<localRepository/>
22+
<interactiveMode/>
23+
<usePluginRegistry/>
24+
<offline/>
25+
<pluginGroups/>
26+
<servers>
27+
<server>
28+
<id>sonatype_snapshots</id>
29+
<username>...</username>
30+
<password>...</password>
31+
</server>
32+
<server>
33+
<id>sonatype_releases</id>
34+
<username>...</username>
35+
<password>...</password>
36+
</server>
37+
<server>
38+
<id>ossrh</id>
39+
<username>...</username>
40+
<password>...</password>
41+
</server>
42+
</servers>
43+
<mirrors/>
44+
<proxies/>
45+
<profiles/>
46+
<activeProfiles/>
47+
</settings>
48+
49+
Cheat sheet:
50+
- All commands are can be described via the following template:
51+
mvn -P{eclipse | central} {-Dmaven.test.skip=true | } {-pl <module> | } {install, deploy, ...}
52+
53+
The description of the Sonatype publish process:
54+
- Snaphots:
55+
Versioning:
56+
- Release versions are derived from the latest (not lightweight) tag version and the branch name if applicable. Each tag should start with v,
57+
i.e. v2.3.0. The snapshot tag happens on commits that follow the tag, and contain git commit hash.
58+
Snapshot can be published without PGP sign, it is published to a snapshot repo and allows immediate snaphot updates.
59+
Publish to a local repo:
60+
- mvn -Pcentral -Dmaven.test.skip=true install
61+
Publish to sonatype:
62+
- mvn -Pcentral -Dmaven.test.skip=true deploy
63+
Publish to eclipse:
64+
- mvn -Peclipse -Dmaven.test.skip=true deploy
65+
66+
- Releases:
67+
Versioning:
68+
- Release versions are derived from the latest (not lightweight) tag version. Each tag should start with v,
69+
i.e. v2.3.0.
70+
Snapshot can not be published without PGP signature, verify that you have up to date GPG keys set.
71+
Publish to a local repo:
72+
- mvn -Pcentral -Dmaven.test.skip=true install
73+
Publish to sonatype:
74+
- mvn -Pcentral -Dmaven.test.skip=true deploy
75+
Publish to eclipse:
76+
- mvn -Peclipse -Dmaven.test.skip=true deploy
77+
Staging means a special repository in a pre released condition.
78+
- Go into staging repos panel: https://oss.sonatype.org/#stagingRepositories (log in using sonatype user / pwd)
79+
- Filter by the package name (proj4j) and select matching staging repo
80+
- Press Close button on the top of the table with repos. It runs packages
81+
validation and closes staging repo in a successful case
82+
- After successful close press the Release button
83+
Summary:
84+
- Run mvn -Pcentral -Dmaven.test.skip=true deploy to publish everything to sonatype
85+
- Go to sonatype panel https://oss.sonatype.org/#stagingRepositories and release jars
86+
- Await ~10 minutes to have jars published to maven central

LICENSE

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ License for the specific language governing permissions and limitations under
1515
the License.
1616

1717
-----
18+
1819
This software uses code from proj.4 [https://github.com/osgeo/proj.4],
1920
which is distributed under the MIT license:
2021

@@ -36,4 +37,9 @@ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
3637
THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
3738
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
3839
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
39-
DEALINGS IN THE SOFTWARE.
40+
DEALINGS IN THE SOFTWARE.
41+
42+
-----
43+
44+
Proj4J EPSG module contains resource files released under the EPSG database distribution license.
45+
For more details see LICENSE.EPSG file in the root of this repository.

LICENSE.EPSG

Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
# EPSG Geodetic Parameter Dataset Terms of Use
2+
3+
1. In this document the following definitions of terms apply:
4+
5+
“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
6+
7+
“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.
8+
9+
2. The EPSG Facilities are published by IOGP at no charge. Distribution for profit is forbidden.
10+
11+
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.
12+
13+
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.
14+
15+
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.
16+
17+
6. The data may be used, copied and distributed subject to the following conditions:
18+
19+
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.
20+
21+
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.
22+
23+
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.
24+
25+
4. Ownership of the EPSG Dataset by IOGP must be acknowledged in any publication or transmission (by whatever means) thereof (including permitted modifications).
26+
27+
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.
28+
29+
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.
30+
31+
7. No data that has been modified other than as permitted in these Terms of Use shall be attributed to the EPSG Dataset.
32+
33+
## Table 1: permitted modifications of data
34+
35+
| AS GIVEN IN EPSG DATASET || PERMITTED CHANGE FOR VENDORS/USERS TO ADOPT |
36+
|-||-|
37+
| *Change of ellipsoid defining parameters.* |||
38+
| 1a | Ellipsoid parameters a and b. | a and 1/f ; a and f; a and e; a and e2. |
39+
| 1b | Ellipsoid parameters a and 1/f. | a and b; a and f; a and e; a and e2. |
40+
| *Change of projection method* |||
41+
| 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. |
42+
| 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. |
43+
| 3a | Mercator (variant A) method with projection parameters φO and kO. | Mercator (variant B) method with projection parameter φ1. |
44+
| 3b | Mercator (variant B) method with projection parameter φ1. | Mercator (variant A) method with projection parameters φO and kO. |
45+
| 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. |
46+
| 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. |
47+
| 5a | Polar Stereographic (Variant A) method with projection parameters φO and kO. | Polar Stereographic (Variant B) method with projection parameter φF. |
48+
| 5b | Polar Stereographic (Variant B) method with projection parameter φF. | Polar Stereographic (Variant A) method with projection parameters φO and kO. |
49+
| 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. |
50+
| 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. |
51+
| 5e | Polar Stereographic (Variant B) method with projection parameter FE and FN. | Polar Stereographic (Variant C) method with projection parameters EF and NF. |
52+
| 5f | Polar Stereographic (Variant C) method with projection parameters EF and NF. | Polar Stereographic (Variant B) method with projection parameter FE and FN. |
53+
| Change of transformation method | | |
54+
| 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. |
55+
| 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. |
56+
| 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. |
57+
| *Change of units* |||
58+
| 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. |
59+
| 9 | Parameter value. | Convert unit to another, for example from microradian to arc-second, using conversion factors obtained from the EPSG dataset Unit table. |
60+
61+
<cite>source: [https://epsg.org/terms-of-use.html](https://epsg.org/terms-of-use.html)</cite>

README.md

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,21 @@ dependencies {
3838
```
3939
where `<latest version>` refers to the version indicated by the badge above.
4040

41+
### Proj4j EPSG
42+
43+
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).
44+
```xml
45+
<properties>
46+
<proj4j.version><latest version></proj4j.version>
47+
</properties>
48+
<dependency>
49+
<groupId>org.locationtech.proj4j</groupId>
50+
<artifactId>proj4j-epsg</artifactId>
51+
<version>${proj4j.version}</version>
52+
</dependency>
53+
```
54+
where `<latest version>` refers to the version indicated by the badge above.
55+
4156
### Basic Usage
4257

4358
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);
8196

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

99+
For more details see [HOWTORELEASE.txt](./HOWTORELEASE.txt).
100+
84101
## Contributing
85102

86103
If you are interested in contributing to Proj4J please read the [**Contributing Guide**](CONTRIBUTING.md).

0 commit comments

Comments
 (0)