Compare commits
147
Commits
5.1
...
emscripten-build
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
091987c5d0 | ||
|
|
b2fe2277e2 | ||
|
|
3e9ae6f6ef | ||
|
|
c9cbab5f24 | ||
|
|
3746c519a5 | ||
|
|
88a1ac5bc8 | ||
|
|
6680dffb59 | ||
|
|
589a540a21 | ||
|
|
c1f0673b33 | ||
|
|
bbea214c60 | ||
|
|
9cfb6b9a7e | ||
|
|
925ef44852 | ||
|
|
f1a26334b8 | ||
|
|
121deeb3ff | ||
|
|
40036c19af | ||
|
|
fe13c01125 | ||
|
|
7a59716b6f | ||
|
|
b350004edc | ||
|
|
88c20884fd | ||
|
|
0535414309 | ||
|
|
6f3df8c695 | ||
|
|
e7cb0caa68 | ||
|
|
ab005c634a | ||
|
|
666efb9808 | ||
|
|
edfa298132 | ||
|
|
0ee56a0de9 | ||
|
|
143b4d3f64 | ||
|
|
7b7e69690d | ||
|
|
6be10ac6ab | ||
|
|
54c854abb7 | ||
|
|
380eb835e4 | ||
|
|
eb1bf89d6d | ||
|
|
22de779228 | ||
|
|
9f37826461 | ||
|
|
97c162903b | ||
|
|
2d6f1782ba | ||
|
|
0903f85798 | ||
|
|
0a1d69d64c | ||
|
|
2fe6db2d39 | ||
|
|
98ead006b9 | ||
|
|
3efab3e9ee | ||
|
|
a7f05deb55 | ||
|
|
3e03508e04 | ||
|
|
b7afba5651 | ||
|
|
81bfa7551f | ||
|
|
aad7ff1cc6 | ||
|
|
d9fac5f2b8 | ||
|
|
e1f62b077d | ||
|
|
b9f60b5bc8 | ||
|
|
bae3568e45 | ||
|
|
446a4d67f3 | ||
|
|
dbf24f23b8 | ||
|
|
31c6914941 | ||
|
|
50b0855177 | ||
|
|
f2682ab8c9 | ||
|
|
50cef4d3d3 | ||
|
|
1968d714a7 | ||
|
|
b6fc41cd7c | ||
|
|
3eb56dbe0f | ||
|
|
4e6b366e07 | ||
|
|
540dd05de7 | ||
|
|
ef1fddae25 | ||
|
|
ea33e8bcbb | ||
|
|
a1b1e1ea32 | ||
|
|
17485da881 | ||
|
|
5c192b091f | ||
|
|
722f22dc58 | ||
|
|
275cbbaca0 | ||
|
|
5411bd3001 | ||
|
|
4e36fd85b9 | ||
|
|
8ee389a6f4 | ||
|
|
b87b591068 | ||
|
|
292d6f0455 | ||
|
|
d742d57a6b | ||
|
|
25aba111b1 | ||
|
|
19abe066ec | ||
|
|
6ad53395a0 | ||
|
|
095d8971ad | ||
|
|
d52e3b9d36 | ||
|
|
ea61acb9fd | ||
|
|
431099b1d5 | ||
|
|
6b77f5fa53 | ||
|
|
d35a698b35 | ||
|
|
b9b576795c | ||
|
|
7796cb7e5c | ||
|
|
5b68352062 | ||
|
|
ab7de4874d | ||
|
|
1232bee4b2 | ||
|
|
aea86ed356 | ||
|
|
13b82cd0b0 | ||
|
|
fa62d68b95 | ||
|
|
22db968545 | ||
|
|
0f67d9f179 | ||
|
|
07e12e921f | ||
|
|
7cfe5ec293 | ||
|
|
2ae1a3cef6 | ||
|
|
323ec08a2e | ||
|
|
90311ce6d5 | ||
|
|
e69a69bbb6 | ||
|
|
44d16a9f68 | ||
|
|
f3f7097c32 | ||
|
|
0f88afe10a | ||
|
|
a3c114a507 | ||
|
|
e37ad143d7 | ||
|
|
b745ee0a10 | ||
|
|
ffd4674e4c | ||
|
|
e9b399fc91 | ||
|
|
c1a7098667 | ||
|
|
3e8a1984e9 | ||
|
|
9c5741d252 | ||
|
|
8574765a7f | ||
|
|
983d18a01f | ||
|
|
21abf2f132 | ||
|
|
b3322a80bd | ||
|
|
5613d33bd0 | ||
|
|
48529dbb5c | ||
|
|
0a2eed78d2 | ||
|
|
95bfd9b436 | ||
|
|
ca8c43f556 | ||
|
|
b357bf6b9d | ||
|
|
6160304480 | ||
|
|
5a8009e4df | ||
|
|
f8af17699e | ||
|
|
abf44ad415 | ||
|
|
347fdaa1e6 | ||
|
|
152f34f98d | ||
|
|
524a335e0b | ||
|
|
de44aa7a16 | ||
|
|
fea2d9b00f | ||
|
|
c480b1adc5 | ||
|
|
ba71ff265c | ||
|
|
c48e7215cd | ||
|
|
4cd3d007d7 | ||
|
|
bfa57264f6 | ||
|
|
bbb13e808b | ||
|
|
1b3c79bad5 | ||
|
|
559e8f1227 | ||
|
|
4eca7f1af7 | ||
|
|
6fbfa8eead | ||
|
|
a3c592894d | ||
|
|
9b82aef002 | ||
|
|
2905176697 | ||
|
|
f773897a30 | ||
|
|
fb92dea72c | ||
|
|
e692e1567f | ||
|
|
39598acec9 | ||
|
|
a989cbd7f5 |
@@ -1,16 +1,21 @@
|
||||
*~
|
||||
*.bak
|
||||
*.pyc
|
||||
build.local.bat
|
||||
build.local.sh
|
||||
Makefile
|
||||
Makefile.in
|
||||
CMakeFiles
|
||||
CMakeCache.txt
|
||||
CMakeSettings.json
|
||||
CTestTestfile.cmake
|
||||
cmake_install.cmake
|
||||
install_manifest.txt
|
||||
cmake/project-config*.cmake
|
||||
README
|
||||
test-driver
|
||||
|
||||
/.idea
|
||||
/.vs*
|
||||
/*.manifest
|
||||
/*.swp
|
||||
|
||||
+8
-5
@@ -10,8 +10,9 @@ matrix:
|
||||
include:
|
||||
|
||||
- os: linux
|
||||
dist: trusty
|
||||
compiler: gcc
|
||||
language: c
|
||||
language: cpp
|
||||
sudo: required
|
||||
services:
|
||||
- docker
|
||||
@@ -19,8 +20,9 @@ matrix:
|
||||
- BUILD_NAME=linux_gcc
|
||||
- DETAILS="linux, gcc"
|
||||
- os: linux
|
||||
dist: trusty
|
||||
compiler: clang
|
||||
language: c
|
||||
language: cpp
|
||||
sudo: required
|
||||
services:
|
||||
- docker
|
||||
@@ -28,13 +30,14 @@ matrix:
|
||||
- BUILD_NAME=linux_clang
|
||||
- DETAILS="linux, clang"
|
||||
- os: osx
|
||||
language: c
|
||||
language: cpp
|
||||
env:
|
||||
- BUILD_NAME=osx
|
||||
- DETAILS="osx"
|
||||
- os: linux
|
||||
dist: trusty
|
||||
compiler: gcc
|
||||
language: c
|
||||
language: cpp
|
||||
sudo: required
|
||||
env:
|
||||
- BUILD_NAME=mingw32
|
||||
@@ -42,7 +45,7 @@ matrix:
|
||||
|
||||
- os: linux
|
||||
compiler: gcc
|
||||
language: c
|
||||
language: cpp
|
||||
dist: trusty
|
||||
env:
|
||||
- BUILD_NAME=csa
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
To cite PROJ in publications use:
|
||||
|
||||
PROJ contributors (2018). PROJ coordinate transformation software
|
||||
library. Open Source Geospatial Foundation. URL http://proj4.org/.
|
||||
library. Open Source Geospatial Foundation. URL https://proj4.org/.
|
||||
|
||||
A BibTeX entry for LaTeX users is
|
||||
|
||||
@@ -10,5 +10,5 @@ A BibTeX entry for LaTeX users is
|
||||
author = {{PROJ contributors}},
|
||||
organization = {Open Source Geospatial Foundation},
|
||||
year = {2018},
|
||||
url = {http://proj4.org/},
|
||||
url = {https://proj4.org/},
|
||||
}
|
||||
|
||||
+6
-3
@@ -12,7 +12,7 @@
|
||||
cmake_minimum_required(VERSION 2.6.0 FATAL_ERROR)
|
||||
|
||||
# For historic reasons, the CMake PROJECT-NAME is PROJ4
|
||||
project(PROJ4 C)
|
||||
project(PROJ4 LANGUAGES C CXX)
|
||||
set(PROJECT_INTERN_NAME PROJ)
|
||||
|
||||
if (NOT CMAKE_VERSION VERSION_LESS 3.1)
|
||||
@@ -23,11 +23,15 @@ endif ()
|
||||
if("${CMAKE_C_COMPILER_ID}" STREQUAL "MSVC")
|
||||
# Suppress warning 4706 about assignment within conditional expression
|
||||
# Suppress warning 4996 about sprintf, etc., being unsafe
|
||||
# Suppress warning 4589 about Constructor of abstract class...ignores initializer for virtual base class (see https://github.com/weidai11/cryptopp/issues/214#issuecomment-230283061)
|
||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /W4 /wd4706 /wd4996 /D_CRT_SECURE_NO_WARNINGS")
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /EHsc /W4 /wd4706 /wd4996 /wd4589 /D_CRT_SECURE_NO_WARNINGS")
|
||||
elseif("${CMAKE_C_COMPILER_ID}" STREQUAL "GNU")
|
||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -Wextra -Wswitch -Wshadow -Wunused-parameter -Wmissing-prototypes -Wmissing-declarations -Wformat -Wformat-security")
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -Wall -Wextra -Wswitch -Wshadow -Wunused-parameter -Wmissing-declarations -Wformat -Wformat-security")
|
||||
elseif("${CMAKE_C_COMPILER_ID}" MATCHES "Clang")
|
||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -Wextra -Wswitch -Wshadow -Wunused-parameter -Wmissing-prototypes -Wmissing-declarations -Wformat -Wformat-security -Wfloat-conversion -Wc99-extensions -Wc11-extensions")
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -Wall -Wextra -Wswitch -Wshadow -Wunused-parameter -Wmissing-declarations -Wformat -Wformat-security -Wfloat-conversion")
|
||||
endif()
|
||||
|
||||
# Tell Intel compiler to do arithmetic accurately. This is needed to
|
||||
@@ -57,7 +61,7 @@ colormsg(_HIBLUE_ "Configuring PROJ:")
|
||||
#PROJ version information
|
||||
#################################################################################
|
||||
include(ProjVersion)
|
||||
proj_version(MAJOR 5 MINOR 0 PATCH 0)
|
||||
proj_version(MAJOR 5 MINOR 2 PATCH 0)
|
||||
set(PROJ_API_VERSION "14")
|
||||
set(PROJ_BUILD_VERSION "14.0.1")
|
||||
|
||||
@@ -124,7 +128,6 @@ endif ()
|
||||
option(PROJ_TESTS "Enable build of collection of PROJ tests" ON)
|
||||
boost_report_value(PROJ_TESTS)
|
||||
if(PROJ_TESTS)
|
||||
include(CTest)
|
||||
enable_testing()
|
||||
endif(PROJ_TESTS)
|
||||
include(ProjTest)
|
||||
|
||||
+4
-4
@@ -68,18 +68,18 @@ Note that not all feature requests are accepted.
|
||||
## Write documentation
|
||||
|
||||
PROJ.4 is in dire need of better documentation. Any contributions of documentation
|
||||
are greatly appreciated. The PROJ.4 documentation is available on [proj4.org](ttp://proj4.org).
|
||||
are greatly appreciated. The PROJ.4 documentation is available on [proj4.org](https://proj4.org).
|
||||
The website is generated with [Sphinx](http://www.sphinx-doc.org/en/stable/). Contributions
|
||||
to the documentation should be made as [Pull Requests](https://github.com/OSGeo/proj.4/pulls)
|
||||
on GitHub.
|
||||
|
||||
If you intend to document one of PROJ.4's supported projections please use the
|
||||
[Mercator projection](http://proj4.org/projections/merc.html) as a template.
|
||||
[Mercator projection](https://proj4.org/projections/merc.html) as a template.
|
||||
|
||||
|
||||
## Code contributions
|
||||
|
||||
See [Code Contributions](http://proj4.org/development/for_proj_contributors.html)
|
||||
See [Code Contributions](https://proj4.org/development/for_proj_contributors.html)
|
||||
|
||||
#### Legalese
|
||||
Committers are the front line gatekeepers to keep the code base clear of improperly contributed code.
|
||||
@@ -125,7 +125,7 @@ improperly contributing code to the source repository:
|
||||
|
||||
## Additional Resources
|
||||
|
||||
* [General GitHub documentation](http://help.github.com/)
|
||||
* [General GitHub documentation](https://help.github.com/)
|
||||
* [GitHub pull request documentation](https://help.github.com/articles/about-pull-requests/)
|
||||
|
||||
## Acknowledgements
|
||||
|
||||
+4
-15
@@ -1,24 +1,18 @@
|
||||
##
|
||||
# osgeo/proj.4
|
||||
|
||||
FROM ubuntu:xenial
|
||||
FROM ubuntu:18.04
|
||||
|
||||
MAINTAINER Howard Butler <howard@hobu.co>
|
||||
|
||||
|
||||
# Setup build env
|
||||
RUN mkdir /build
|
||||
RUN apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 16126D3A3E5C1192 \
|
||||
&& apt-get update \
|
||||
RUN apt-get update -y \
|
||||
&& apt-get install -y --fix-missing --no-install-recommends \
|
||||
software-properties-common build-essential ca-certificates \
|
||||
git make cmake wget unzip libtool automake python-pip \
|
||||
libpython-dev libjpeg-dev zlib1g-dev \
|
||||
python-dev python-pip g++ doxygen dvipng \
|
||||
cmake libjpeg8-dev zlib1g-dev texlive-latex-base \
|
||||
texlive-latex-extra git \
|
||||
graphviz python-matplotlib \
|
||||
python-setuptools imagemagick \
|
||||
git make cmake wget unzip libtool automake \
|
||||
zlib1g-dev \
|
||||
&& apt-get remove --purge -y $BUILD_PACKAGES && rm -rf /var/lib/apt/lists/*
|
||||
|
||||
|
||||
@@ -35,9 +29,6 @@ RUN mkdir /vdatum \
|
||||
&& wget http://download.osgeo.org/proj/vdatum/egm08_25/egm08_25.gtx && mv egm08_25.gtx /usr/share/proj \
|
||||
&& rm -rf /vdatum
|
||||
|
||||
RUN pip install Sphinx breathe \
|
||||
sphinx_bootstrap_theme awscli sphinxcontrib-bibtex \
|
||||
sphinx_rtd_theme
|
||||
|
||||
RUN git clone https://github.com/OSGeo/proj.4.git \
|
||||
&& cd proj.4 \
|
||||
@@ -45,7 +36,5 @@ RUN git clone https://github.com/OSGeo/proj.4.git \
|
||||
&& ./configure --prefix=/usr \
|
||||
&& make \
|
||||
&& make install \
|
||||
&& cd /proj.4/docs \
|
||||
&& make html \
|
||||
&& rm -rf /proj.4
|
||||
|
||||
|
||||
+198
-40
@@ -1,24 +1,37 @@
|
||||
Preparing a PROJ.4 Release
|
||||
==========================
|
||||
Preparing a PROJ Release
|
||||
===============================================================================
|
||||
|
||||
1) Update the version number in configure.ac (in AC_INIT()).
|
||||
Preparing a PROJ release is a three-step process. Before the actual release is
|
||||
published we want to issue one or more release candidates to ensure that the
|
||||
code is in fact ready to be released. That is step one. Step two starts when a
|
||||
release candidate has been selected for promotion to final release. Step three
|
||||
updates version numbers in the master branch to avoid confusion between
|
||||
released code and code still in development.
|
||||
|
||||
1a) Update the version number in PROJ_BUILD_VERSION in CMakeLists.txt
|
||||
1b) Update the version number in doc/source/conf.py
|
||||
1c) Update version numbers in man pages in man/man1/ and man/man3/
|
||||
The three phases are described below.
|
||||
|
||||
2) Update the version number in proj_api.h (#define PJ_VERSION).
|
||||
1 Release candidate
|
||||
===============================================================================
|
||||
|
||||
2a) Update PROJ_VERSION_MAJOR, PROJ_VERSION_MINOR and PROJ_VERSION_PATCH
|
||||
in src/proj.h
|
||||
At least one release candidate is necessary before the final release is
|
||||
published. In case more than one release candidate is needed most steps below
|
||||
can be skipped depending on what prompted the release candidate 1+n. Steps 1.6
|
||||
and 1.7 are mandatory for all release candidates, otherwise it will in most
|
||||
cases only be necessary to update the NEWS section (1.3).
|
||||
|
||||
3) Update the version number, and date in src/pj_release.c.
|
||||
Release candidates should be released about a week before the final release is
|
||||
scheduled. When preparing major version releases it may be wise to issue the
|
||||
release candidate earlier than that.
|
||||
|
||||
4) Update the version number in the -version-info definition in
|
||||
src/Makefile.am. It consists of "current:revision:age".
|
||||
When a release candidate has not prompted any request for changes in 48 hours,
|
||||
a motion for promotion to final release should be issued on the PROJ mailing
|
||||
list. The PROJ PSC guidelines describes the rules for passing a motion.
|
||||
|
||||
4a) Increment PROJ_BUILD_VERSION in CMakeLists.txt to follow
|
||||
libtool versioning
|
||||
1.1 Update ABI version numbers:
|
||||
-------------------------------------------------------------------------------
|
||||
|
||||
Determine the ABI version number. It consists of "current:revision:age". Follow
|
||||
the steps below to determine the next ABI version number:
|
||||
|
||||
- If the library source code has changed at all since the last update,
|
||||
then increment revision (c:r:a becomes c:r+1:a).
|
||||
@@ -32,47 +45,192 @@
|
||||
- If any interfaces have been removed since the last public release, then
|
||||
set age to 0.
|
||||
|
||||
4.5) Run "autogen.sh" (hopefully on the same machine it was last run on)
|
||||
Update the following files with the new ABI version number:
|
||||
|
||||
5) Update man pages:
|
||||
- `src/Makefile.am` Update -version-info
|
||||
- `CMakelists.txt`: Update PROJ_BUILD_VERSION (cur:rev:age) and
|
||||
PROJ_API_VERSION (current)
|
||||
|
||||
./scripts/update_man.sh
|
||||
*Commit the changes to master.*
|
||||
|
||||
The script builds man pages from Sphinx docs, copies them to man/ and commits
|
||||
them to git.
|
||||
|
||||
6) Add a note to the ChangeLog that a new release is being issued, and what
|
||||
the release number is.
|
||||
1.2 Update man pages
|
||||
-------------------------------------------------------------------------------
|
||||
|
||||
7) Update NEWS file with summary of release changes.
|
||||
Man pages are (mostly) automatically generated from the Sphinx docs. The pages
|
||||
in man/man3/ was manually updated in 1.1. Here we update the pages in
|
||||
man/man1/. Follow these steps:
|
||||
|
||||
8) Update the year in CITATION
|
||||
- Update version number and date in `man/man3/pj_init.3` and
|
||||
`man/man3/geodesic.3`
|
||||
- Temporarily update version in `docs/source/conf.py`
|
||||
- run `script/update_man.sh`
|
||||
- Revert version number in `docs/source/conf.py`
|
||||
|
||||
9) If this is a major release, prepare a branch.
|
||||
The `update_man.sh` script builds the man pages and commits the update man pages
|
||||
to master.
|
||||
|
||||
git checkout -b 5.0
|
||||
|
||||
10) Tag the release
|
||||
1.3 Write release notes
|
||||
-------------------------------------------------------------------------------
|
||||
|
||||
git tag 5.0.0
|
||||
Update `NEWS` with descriptions of the changes since the last release.
|
||||
Hopefully issues and pull requests that go into the new release have been
|
||||
properly tagged with the milestone for the current release.
|
||||
|
||||
11) Do a "make dist-all" in the proj root directory. After some grinding
|
||||
this should result in files like proj-4.4.3.tar.gz and proj-4.4.3.zip
|
||||
being created. These are full source distributions.
|
||||
End the section by thanking the authors that contributed to the release. Get a
|
||||
sorted list of contributors in descending order of activity:
|
||||
|
||||
12) Put these in the proj ftp area on /osgeo/download/proj on
|
||||
download.osgeo.org. This can be done via scp using a command like the
|
||||
following.
|
||||
```
|
||||
git shortlog -sn x.y.z..HEAD | tac | awk '{print $2 " " $3}'
|
||||
```
|
||||
|
||||
scp proj-4.4.3.{tar.gz,zip} warmerdam@download.osgeo.org:/osgeo/download/proj
|
||||
where `x.y.z` is the tag of the previous release. You may need to edit the list
|
||||
slightly since not all authors has properly configured their names in git.
|
||||
|
||||
13) Announce the new release on the PROJ.4 and MetaCRS mailing lists.
|
||||
*Commit the changes to master.*
|
||||
|
||||
14) Issue a new release report on GitHub:
|
||||
|
||||
https://github.com/OSGeo/proj.4/releases/new
|
||||
1.4 Update `CITATION`
|
||||
-------------------------------------------------------------------------------
|
||||
|
||||
NOTES:
|
||||
If needed, update the year in `CITATION` and `docs/source/about.rst`.
|
||||
|
||||
o Information about preparing binary releases, and RPMs should be formalized.
|
||||
o A "beta" release step should likely be incorporated.
|
||||
*Commit the changes to master.*
|
||||
|
||||
|
||||
1.5 Create maintenance branch
|
||||
-------------------------------------------------------------------------------
|
||||
|
||||
*Skip this step if you are preparing a patch release or RC2 and later.*
|
||||
|
||||
Create the branch:
|
||||
|
||||
```
|
||||
git branch x.y
|
||||
```
|
||||
|
||||
where `x` is the major version number and `y` is the minor version number. Bug
|
||||
fixes found in the release candidates should be pushed to master and
|
||||
subsequently cherry-picked to the maintenance branch.
|
||||
|
||||
*Push branch upstream.*
|
||||
|
||||
|
||||
1.6 Prepare and upload archives
|
||||
-------------------------------------------------------------------------------
|
||||
|
||||
Run autoconf and configure the build:
|
||||
|
||||
```
|
||||
./autogen.sh
|
||||
mkdir build
|
||||
cd build
|
||||
../configure
|
||||
make dist
|
||||
```
|
||||
|
||||
Rename the archives and generate MD5 sum files:
|
||||
|
||||
```
|
||||
mv proj-x.y.z.tar.gz proj-x.y.zRCn.tar.gz
|
||||
mv proj-x.y.z.zip proj-x.y.zRCn.zip
|
||||
md5 proj-x.y.zRCn.tar.gz > proj-x.y.zRCn.tar.gz.md5
|
||||
md5 proj-x.y.zRCn.zip > proj-x.y.zRCn.zip.md5
|
||||
```
|
||||
|
||||
Upload to the OSGeo download server:
|
||||
|
||||
```
|
||||
scp proj-x.y.zRCn.* warmerdam@download.osgeo.org:/osgeo/download/proj
|
||||
```
|
||||
|
||||
Adjust version numbers and usernames accordingly.
|
||||
|
||||
|
||||
1.7 Announce the release candidate
|
||||
-------------------------------------------------------------------------------
|
||||
|
||||
Announce the release candidate on the PROJ mailing list.
|
||||
|
||||
|
||||
1.8 Promotion to final release
|
||||
-------------------------------------------------------------------------------
|
||||
|
||||
When you are confident that the latest release candidate is ready for promotion
|
||||
to final release a motion for promotion should be issued on the PROJ mailing
|
||||
list. Allow for a minimum of 48 hours for voting time.
|
||||
|
||||
|
||||
2 Final release
|
||||
===============================================================================
|
||||
|
||||
Barring a successful promotion process we can proceed with the final release.
|
||||
|
||||
2.1 Prepare and upload archives
|
||||
-------------------------------------------------------------------------------
|
||||
|
||||
See step 1.6 above. Do not rename the archives with RC postfixes.
|
||||
|
||||
2.2 Update website
|
||||
------------------------------------------------------------------------------
|
||||
|
||||
- Update the version number in `doc/source/conf.py`
|
||||
- Add the release notes from `NEWS` to `docs/source/news.rst`
|
||||
- Update download links in `docs/source/download.rst`
|
||||
|
||||
*Commit the changes to master and cherry-pick into maintenance branch.*
|
||||
|
||||
When pushed upstream the website will be update to the current version.
|
||||
|
||||
2.3 Tag the release
|
||||
-------------------------------------------------------------------------------
|
||||
|
||||
Tag the release with:
|
||||
|
||||
```
|
||||
git tag -a -m "Create tag x.y.z" x.y.z
|
||||
git push --tags
|
||||
```
|
||||
|
||||
2.4 Prepare the release on GitHub
|
||||
-------------------------------------------------------------------------------
|
||||
|
||||
When the new tag is pushed upstream GitHub picks up that a new release has been
|
||||
issued. Update the new release on https://github.com/OSGeo/proj.4/releases with
|
||||
the release notes from `NEWS` and add the prepared source distribution archives
|
||||
to the release (otherwise GitHub will just package the entire repository - we
|
||||
don't want that).
|
||||
|
||||
|
||||
2.5 Announce the new release
|
||||
-------------------------------------------------------------------------------
|
||||
|
||||
The release should be announced on PROJ and MetaCRS mailing lists. Additionally
|
||||
the release announcement should be sent to news_item@osgeo.org which will add
|
||||
the announcement to osgeo.org and other OSGeo communication channels.
|
||||
|
||||
Make some noise on Twitter and other relevant social media.
|
||||
|
||||
|
||||
3 Post final release
|
||||
===============================================================================
|
||||
|
||||
3.1 Update version numbers
|
||||
-------------------------------------------------------------------------------
|
||||
|
||||
*Skip this step if you are preparing a patch release.*
|
||||
|
||||
PROJ uses [semantic versioning](http://semver.org/). Depending on the changes
|
||||
in the release will be either a major, minor or patch release. Update the
|
||||
version numbers in the files.
|
||||
|
||||
- configure.ac: Update the version number in AC_INIT().
|
||||
- src/proj.h: Update PROJ_VERSION_MAJOR, PROJ_VERSION_MINOR and
|
||||
PROJ_VERSION_PATCH.
|
||||
- src/proj_api.h: Update PJ_VERSION.
|
||||
- src/pj_release.c: Update date to the scheduled release date.
|
||||
- CMakelists.txt: Update proj_version()
|
||||
|
||||
|
||||
*Commit changes to master branch.*
|
||||
|
||||
@@ -1,8 +1,10 @@
|
||||
# PROJ
|
||||
|
||||
[](https://travis-ci.org/OSGeo/proj.4)
|
||||
[](https://travis-ci.com/OSGeo/proj.4)
|
||||
[](https://ci.appveyor.com/project/OSGeo/proj-4)
|
||||
[](https://coveralls.io/github/OSGeo/proj.4?branch=master)
|
||||
[](https://gitter.im/OSGeo/proj.4)
|
||||
[](http://lists.maptools.org/mailman/listinfo/proj)
|
||||
|
||||
PROJ is a generic coordinate transformation software, that transforms
|
||||
coordinates from one coordinate reference system (CRS) to another.
|
||||
@@ -10,7 +12,7 @@ This includes cartographic projections as well as geodetic transformations.
|
||||
|
||||
For more information on the PROJ.4 project please see the web page at:
|
||||
|
||||
http://proj4.org/
|
||||
https://proj4.org/
|
||||
|
||||
The PROJ.4 mailing list can be found at:
|
||||
|
||||
|
||||
+31
-28
@@ -5,23 +5,6 @@ platform:
|
||||
environment:
|
||||
matrix:
|
||||
|
||||
# Does not work
|
||||
# VS 2008
|
||||
# - BUILD_TYPE: cmake
|
||||
# VS_VERSION: Visual Studio 9 2008
|
||||
|
||||
# VS 2010
|
||||
- BUILD_TYPE: cmake
|
||||
VS_VERSION: Visual Studio 10
|
||||
|
||||
# VS 2012
|
||||
- BUILD_TYPE: cmake
|
||||
VS_VERSION: Visual Studio 11
|
||||
|
||||
# VS 2013
|
||||
- BUILD_TYPE: cmake
|
||||
VS_VERSION: Visual Studio 12
|
||||
|
||||
# VS 2015
|
||||
- BUILD_TYPE: cmake
|
||||
VS_VERSION: Visual Studio 14
|
||||
@@ -51,8 +34,18 @@ build_script:
|
||||
- if "%BUILD_TYPE%" == "cmake" if "%platform%" == "x64" SET VS_FULL=%VS_VERSION% Win64
|
||||
- if "%BUILD_TYPE%" == "cmake" if "%platform%" == "x86" SET VS_FULL=%VS_VERSION%
|
||||
- if "%BUILD_TYPE%" == "cmake" echo "%VS_FULL%"
|
||||
- if "%BUILD_TYPE%" == "cmake" cmake -G "%VS_FULL%" . -DCMAKE_BUILD_TYPE=Release -DCMAKE_RUNTIME_OUTPUT_DIRECTORY_RELEASE=../bin -DBUILD_LIBPROJ_SHARED=ON -DCMAKE_C_FLAGS="/WX"
|
||||
- if "%BUILD_TYPE%" == "cmake" cmake --build . --config Release
|
||||
#
|
||||
- if "%BUILD_TYPE%" == "cmake" if "%platform%" == "x64" mkdir build_dll
|
||||
- if "%BUILD_TYPE%" == "cmake" if "%platform%" == "x64" cd build_dll
|
||||
- if "%BUILD_TYPE%" == "cmake" if "%platform%" == "x64" cmake -G "%VS_FULL%" .. -DCMAKE_BUILD_TYPE=Release -DBUILD_LIBPROJ_SHARED=ON -DCMAKE_C_FLAGS="/WX"
|
||||
- if "%BUILD_TYPE%" == "cmake" if "%platform%" == "x64" cmake --build . --config Release
|
||||
- if "%BUILD_TYPE%" == "cmake" if "%platform%" == "x64" cd ..
|
||||
#
|
||||
- if "%BUILD_TYPE%" == "cmake" if "%platform%" == "x86" mkdir build_static
|
||||
- if "%BUILD_TYPE%" == "cmake" if "%platform%" == "x86" cd build_static
|
||||
- if "%BUILD_TYPE%" == "cmake" if "%platform%" == "x86" cmake -G "%VS_FULL%" .. -DCMAKE_BUILD_TYPE=Release -DBUILD_LIBPROJ_SHARED=OFF -DCMAKE_C_FLAGS="/WX"
|
||||
- if "%BUILD_TYPE%" == "cmake" if "%platform%" == "x86" cmake --build . --config Release
|
||||
- if "%BUILD_TYPE%" == "cmake" if "%platform%" == "x86" cd ..
|
||||
|
||||
test_script:
|
||||
- echo test_script
|
||||
@@ -60,19 +53,29 @@ test_script:
|
||||
- if "%BUILD_TYPE%" == "nmake" set PROJ_LIB=C:\PROJ\SHARE
|
||||
- if "%BUILD_TYPE%" == "nmake" mkdir %PROJ_LIB%\tests
|
||||
- if "%BUILD_TYPE%" == "nmake" copy nad\tests\*.* %PROJ_LIB%\tests
|
||||
- set CURDIR=%CD%
|
||||
- cd %PROJ_LIB%
|
||||
- curl -O http://download.osgeo.org/proj/proj-datumgrid-1.7.zip
|
||||
- 7z e -aoa -y proj-datumgrid-1.7.zip
|
||||
- dir
|
||||
- cd ..
|
||||
- dir
|
||||
- cd bin
|
||||
- echo "Contents of current directory:"
|
||||
- dir
|
||||
- echo "Contents of ..\test\gie:"
|
||||
- dir ..\test\gie
|
||||
- echo "Contents of PROJ_LIB " %PROJ_LIB%
|
||||
- dir %PROJ_LIB%
|
||||
- gie.exe ..\test\gie\*.gie ..\test\gigs\*.gie
|
||||
- if "%BUILD_TYPE%" == "nmake" dir
|
||||
- if "%BUILD_TYPE%" == "nmake" cd bin
|
||||
- if "%BUILD_TYPE%" == "nmake" echo "Contents of current directory:"
|
||||
- if "%BUILD_TYPE%" == "nmake" dir
|
||||
- if "%BUILD_TYPE%" == "nmake" echo "Contents of ..\test\gie:"
|
||||
- if "%BUILD_TYPE%" == "nmake" dir ..\test\gie
|
||||
- if "%BUILD_TYPE%" == "nmake" echo "Contents of PROJ_LIB " %PROJ_LIB%
|
||||
- if "%BUILD_TYPE%" == "nmake" dir %PROJ_LIB%
|
||||
- if "%BUILD_TYPE%" == "nmake" gie.exe ..\test\gie\*.gie ..\test\gigs\*.gie
|
||||
- cd %CURDIR%
|
||||
#
|
||||
- if "%BUILD_TYPE%" == "cmake" if "%platform%" == "x64" cd build_dll
|
||||
- if "%BUILD_TYPE%" == "cmake" if "%platform%" == "x64" ctest -C Release
|
||||
- if "%BUILD_TYPE%" == "cmake" if "%platform%" == "x64" cd ..
|
||||
#
|
||||
- if "%BUILD_TYPE%" == "cmake" if "%platform%" == "x86" cd build_static
|
||||
- if "%BUILD_TYPE%" == "cmake" if "%platform%" == "x86" ctest -C Release
|
||||
- if "%BUILD_TYPE%" == "cmake" if "%platform%" == "x86" cd ..
|
||||
|
||||
deploy: off
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
#
|
||||
# Distributed under the Boost Software License, Version 1.0.
|
||||
# (See accompanying file LICENSE_1_0.txt or copy at
|
||||
# http://www.boost.org/LICENSE_1_0.txt)
|
||||
# https://www.boost.org/LICENSE_1_0.txt)
|
||||
################################################################################
|
||||
include (CheckIncludeFiles)
|
||||
include (CheckLibraryExists)
|
||||
@@ -34,7 +34,7 @@ set(PACKAGE_BUGREPORT "https://github.com/OSGeo/proj.4/issues")
|
||||
set(PACKAGE_NAME "PROJ")
|
||||
set(PACKAGE_STRING "PROJ ${${PROJECT_INTERN_NAME}_VERSION}")
|
||||
set(PACKAGE_TARNAME "proj")
|
||||
set(PACKAGE_URL "http://proj4.org")
|
||||
set(PACKAGE_URL "https://proj4.org")
|
||||
set(PACKAGE_VERSION "${${PROJECT_INTERN_NAME}_VERSION}")
|
||||
|
||||
configure_file(cmake/proj_config.cmake.in src/proj_config.h)
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
#
|
||||
# Distributed under the Boost Software License, Version 1.0.
|
||||
# (See accompanying file LICENSE_1_0.txt or copy at
|
||||
# http://www.boost.org/LICENSE_1_0.txt)
|
||||
# https://www.boost.org/LICENSE_1_0.txt)
|
||||
################################################################################
|
||||
# The following variables are defined:
|
||||
# PROJ_COMPILER_NAME - name of compiler toolset, follows Boost toolset naming.
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
#
|
||||
# Distributed under the Boost Software License, Version 1.0.
|
||||
# See accompanying file LICENSE_1_0.txt or copy at
|
||||
# http://www.boost.org/LICENSE_1_0.txt
|
||||
# https://www.boost.org/LICENSE_1_0.txt
|
||||
################################################################################
|
||||
# Macros in this module:
|
||||
#
|
||||
@@ -355,7 +355,7 @@ endmacro()
|
||||
#
|
||||
# Scans the current directory and returns a list of subdirectories.
|
||||
# Author: Robert Fleming
|
||||
# Source: http://www.cmake.org/pipermail/cmake/2008-February/020114.html
|
||||
# Source: https://www.cmake.org/pipermail/cmake/2008-February/020114.html
|
||||
#
|
||||
# Third parameter is 1 if you want relative paths returned.
|
||||
# Usage: list_subdirectories(the_list_is_returned_here /path/to/project TRUE)
|
||||
|
||||
+134
-7
@@ -1,8 +1,8 @@
|
||||
dnl Process this file with autoconf to produce a configure script.
|
||||
|
||||
AC_PREREQ(2.59)
|
||||
AC_INIT([PROJ], [5.1.0],
|
||||
[https://github.com/OSGeo/proj.4/issues], proj, [http://proj4.org])
|
||||
AC_INIT([PROJ], [5.2.0],
|
||||
[https://github.com/OSGeo/proj.4/issues], proj, [https://proj4.org])
|
||||
AC_CONFIG_MACRO_DIR([m4])
|
||||
AC_LANG(C)
|
||||
|
||||
@@ -10,17 +10,139 @@ AC_CONFIG_AUX_DIR([.])
|
||||
AM_INIT_AUTOMAKE
|
||||
AM_CONFIG_HEADER(src/proj_config.h)
|
||||
|
||||
dnl Enable as much warnings as possible
|
||||
AX_CFLAGS_WARN_ALL(C_WFLAGS)
|
||||
AC_SUBST(C_WFLAGS,$C_WFLAGS)
|
||||
|
||||
dnl Checks for programs.
|
||||
AC_PROG_CC
|
||||
AC_PROG_CXX
|
||||
AX_CXX_COMPILE_STDCXX_11([noext],[mandatory])
|
||||
AC_PROG_INSTALL
|
||||
AC_PROG_LN_S
|
||||
AC_PROG_MAKE_SET
|
||||
AM_PROG_LIBTOOL
|
||||
|
||||
dnl Enable as much warnings as possible
|
||||
AX_CFLAGS_WARN_ALL(C_WFLAGS)
|
||||
AX_CXXFLAGS_WARN_ALL(CXX_WFLAGS)
|
||||
|
||||
dnl For ICC: it needs -we10006 instead of -Werror to turn unknown options to errors
|
||||
dnl Some gcc/clang versions might succeed on this test, so also include -Werror in ERROR_ON_UNKNOWN_OPTIONS
|
||||
AX_CHECK_COMPILE_FLAG([-Werror -we10006],[ERROR_ON_UNKNOWN_OPTIONS="-Werror -we10006"],[ERROR_ON_UNKNOWN_OPTIONS="-Werror"])
|
||||
|
||||
dnl A few ICC warnings to turn off
|
||||
dnl warning #188: enumerated type mixed with another type (needed on libcsf)
|
||||
dnl warning #1684: conversion from pointer to same-sized integral type (potential portability problem) (needed on frmts/mrf)
|
||||
dnl warning #2259: non-pointer conversion from "size_t={unsigned long}" to "int" may lose significant bits
|
||||
dnl warning #2304: non-explicit constructor with single argument may cause implicit type conversion
|
||||
dnl warning #3280: declaration hides member
|
||||
dnl remark #11074: Inlining inhibited by limit max-size
|
||||
dnl remark #11076: To get full report use -qopt-report=4 -qopt-report-phase ipo
|
||||
AX_CHECK_COMPILE_FLAG([-diag-disable 188,1684,2259,2304,3280,11074,11076],[C_WFLAGS="$C_WFLAGS -diag-disable 188,1684,2259,2304,3280,11074,11076" CXX_WFLAGS="$CXX_WFLAGS -diag-disable 188,1684,2259,2304,3280,11074,11076"],,[$ERROR_ON_UNKNOWN_OPTIONS])
|
||||
|
||||
AX_CHECK_COMPILE_FLAG([-Wextra],[C_WFLAGS="$C_WFLAGS -Wextra" CXX_WFLAGS="$CXX_WFLAGS -Wextra"],,[$ERROR_ON_UNKNOWN_OPTIONS])
|
||||
AX_CHECK_COMPILE_FLAG([-Winit-self],[C_WFLAGS="$C_WFLAGS -Winit-self" CXX_WFLAGS="$CXX_WFLAGS -Winit-self"],,[$ERROR_ON_UNKNOWN_OPTIONS])
|
||||
AX_CHECK_COMPILE_FLAG([-Wunused-parameter], [C_WFLAGS="$C_WFLAGS -Wunused-parameter" CXX_WFLAGS="$CXX_WFLAGS -Wunused-parameter" NO_UNUSED_PARAMETER_FLAG="-Wno-unused-parameter"],,[$ERROR_ON_UNKNOWN_OPTIONS])
|
||||
AX_CHECK_COMPILE_FLAG([-Wmissing-prototypes], [C_WFLAGS="$C_WFLAGS -Wmissing-prototypes"],,[$ERROR_ON_UNKNOWN_OPTIONS])
|
||||
AX_CHECK_COMPILE_FLAG([-Wmissing-declarations], [C_WFLAGS="$C_WFLAGS -Wmissing-declarations"],,[$ERROR_ON_UNKNOWN_OPTIONS])
|
||||
AX_CHECK_COMPILE_FLAG([-Wformat], [C_WFLAGS="$C_WFLAGS -Wformat" CXX_WFLAGS="$CXX_WFLAGS -Wformat"],,[$ERROR_ON_UNKNOWN_OPTIONS])
|
||||
AX_CHECK_COMPILE_FLAG([-Wformat -Werror=format-security -Wno-format-nonliteral], [C_WFLAGS="$C_WFLAGS -Werror=format-security -Wno-format-nonliteral" CXX_WFLAGS="$CXX_WFLAGS -Werror=format-security -Wno-format-nonliteral"],,[$ERROR_ON_UNKNOWN_OPTIONS])
|
||||
AX_CHECK_COMPILE_FLAG([-Wshorten-64-to-32], [C_WFLAGS="$C_WFLAGS -Wshorten-64-to-32" CXX_WFLAGS="$CXX_WFLAGS -Wshorten-64-to-32"],,[$ERROR_ON_UNKNOWN_OPTIONS])
|
||||
AX_CHECK_COMPILE_FLAG([-Wlogical-op], [C_WFLAGS="$C_WFLAGS -Wlogical-op" CXX_WFLAGS="$CXX_WFLAGS -Wlogical-op" NO_LOGICAL_OP_FLAG="-Wno-logical-op"],,[$ERROR_ON_UNKNOWN_OPTIONS])
|
||||
AX_CHECK_COMPILE_FLAG([-Wshadow], [C_WFLAGS="$C_WFLAGS -Wshadow" CXX_WFLAGS="$CXX_WFLAGS -Wshadow"],,[$ERROR_ON_UNKNOWN_OPTIONS])
|
||||
|
||||
dnl Error out on things that will fail with MSVC
|
||||
AX_CHECK_COMPILE_FLAG([-Werror=vla], [C_WFLAGS="$C_WFLAGS -Werror=vla" CXX_WFLAGS="$CXX_WFLAGS -Werror=vla"],,[$ERROR_ON_UNKNOWN_OPTIONS])
|
||||
AX_CHECK_COMPILE_FLAG([-Werror=declaration-after-statement], [C_WFLAGS="$C_WFLAGS -Wdeclaration-after-statement"],,[$ERROR_ON_UNKNOWN_OPTIONS])
|
||||
|
||||
dnl -Wclobbered is not reliable on most gcc versions
|
||||
dnl AX_CHECK_COMPILE_FLAG([-Wno-clobbered], [C_WFLAGS="$C_WFLAGS -Wno-clobbered" CXX_WFLAGS="$CXX_WFLAGS -Wno-clobbered"],,[$ERROR_ON_UNKNOWN_OPTIONS])
|
||||
|
||||
dnl Warn when macros __TIME__, __DATE__ or __TIMESTAMP__ are encountered as they might prevent bit-wise-identical reproducible compilations.
|
||||
AX_CHECK_COMPILE_FLAG([-Wdate-time], [C_WFLAGS="$C_WFLAGS -Wdate-time" CXX_WFLAGS="$CXX_WFLAGS -Wdate-time"],,[$ERROR_ON_UNKNOWN_OPTIONS])
|
||||
|
||||
dnl GCC 6 warnings
|
||||
AX_CHECK_COMPILE_FLAG([-Wnull-dereference], [C_WFLAGS="$C_WFLAGS -Wnull-dereference" CXX_WFLAGS="$CXX_WFLAGS -Wnull-dereference"],,[$ERROR_ON_UNKNOWN_OPTIONS])
|
||||
AX_CHECK_COMPILE_FLAG([-Wduplicated-cond], [C_WFLAGS="$C_WFLAGS -Wduplicated-cond" CXX_WFLAGS="$CXX_WFLAGS -Wduplicated-cond"],,[$ERROR_ON_UNKNOWN_OPTIONS])
|
||||
|
||||
dnl GCC 7 warnings
|
||||
dnl Do not enable yet. Causes warning in alg/gdalthinplate.cpp due to armadillo templates
|
||||
dnl AX_CHECK_COMPILE_FLAG([-Wduplicated-branches], [C_WFLAGS="$C_WFLAGS -Wduplicated-branches" CXX_WFLAGS="$CXX_WFLAGS -Wduplicated-branches"],,[$ERROR_ON_UNKNOWN_OPTIONS])
|
||||
|
||||
dnl GCC 8 warnings
|
||||
AC_LANG_PUSH([C++])
|
||||
AX_CHECK_COMPILE_FLAG([-Wextra-semi], [CXX_WFLAGS="$CXX_WFLAGS -Wextra-semi"],,[$ERROR_ON_UNKNOWN_OPTIONS])
|
||||
AC_LANG_POP([C++])
|
||||
|
||||
AX_CHECK_COMPILE_FLAG([-Wno-sign-compare], [NO_SIGN_COMPARE="-Wno-sign-compare"],,[$ERROR_ON_UNKNOWN_OPTIONS])
|
||||
|
||||
dnl clang >= 3.9
|
||||
AX_CHECK_COMPILE_FLAG([-Wcomma], [C_WFLAGS="$C_WFLAGS -Wcomma" CXX_WFLAGS="$CXX_WFLAGS -Wcomma"],,[$ERROR_ON_UNKNOWN_OPTIONS])
|
||||
|
||||
dnl clang and gcc 5
|
||||
AX_CHECK_COMPILE_FLAG([-Wfloat-conversion], [C_WFLAGS="$C_WFLAGS -Wfloat-conversion" CXX_WFLAGS="$CXX_WFLAGS -Wfloat-conversion"],,[$ERROR_ON_UNKNOWN_OPTIONS])
|
||||
|
||||
dnl clang >= 3.2
|
||||
AX_CHECK_COMPILE_FLAG([-Wdocumentation -Wno-documentation-deprecated-sync], [C_WFLAGS="$C_WFLAGS -Wdocumentation -Wno-documentation-deprecated-sync" CXX_WFLAGS="$CXX_WFLAGS -Wdocumentation -Wno-documentation-deprecated-sync"],,[$ERROR_ON_UNKNOWN_OPTIONS])
|
||||
|
||||
dnl gnu89 is a reasonable target to get MSVC compatibility.
|
||||
dnl but only apply it with gcc, since clang will throw a lot of warnings
|
||||
SAVED_CFLAGS=$CFLAGS
|
||||
CFLAGS="$CFLAGS $ERROR_ON_UNKNOWN_OPTIONS -std=gnu89"
|
||||
AC_MSG_CHECKING([if -std=gnu89 can be enabled])
|
||||
AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
|
||||
[[#if defined(__clang__) || !defined(__GNUC__)
|
||||
#error "not gcc"
|
||||
#endif]])],
|
||||
[C_WFLAGS="$C_WFLAGS -std=gnu89"]
|
||||
[AC_MSG_RESULT([yes])],
|
||||
[AC_MSG_RESULT([no])])
|
||||
CFLAGS=$SAVED_CFLAGS
|
||||
|
||||
dnl C++ specific stuff
|
||||
|
||||
AC_LANG_PUSH([C++])
|
||||
AX_CHECK_COMPILE_FLAG([-Wunused-private-field], [CXX_WFLAGS="$CXX_WFLAGS -Wunused-private-field"],,[$ERROR_ON_UNKNOWN_OPTIONS])
|
||||
AX_CHECK_COMPILE_FLAG([-Wmissing-prototypes], [CXX_WFLAGS="$CXX_WFLAGS -Wmissing-prototypes"],,[$ERROR_ON_UNKNOWN_OPTIONS])
|
||||
AX_CHECK_COMPILE_FLAG([-Wmissing-declarations], [CXX_WFLAGS="$CXX_WFLAGS -Wmissing-declarations"],,[$ERROR_ON_UNKNOWN_OPTIONS])
|
||||
AX_CHECK_COMPILE_FLAG([-Wnon-virtual-dtor], [CXX_WFLAGS="$CXX_WFLAGS -Wnon-virtual-dtor" NO_NON_VIRTUAL_DTOR_FLAG="-Wno-non-virtual-dtor"],,[$ERROR_ON_UNKNOWN_OPTIONS])
|
||||
AX_CHECK_COMPILE_FLAG([-Wold-style-cast], [WARN_OLD_STYLE_CAST="-Wold-style-cast"],,[$ERROR_ON_UNKNOWN_OPTIONS])
|
||||
AX_CHECK_COMPILE_FLAG([-Weffc++], [WARN_EFFCPLUSPLUS="-Weffc++"],,[$ERROR_ON_UNKNOWN_OPTIONS])
|
||||
|
||||
dnl g++-4.8 complain a bit too much with -Weffc++
|
||||
if test "$WARN_EFFCPLUSPLUS" != ""; then
|
||||
SAVED_CXXFLAGS=$CXXFLAGS
|
||||
CXXFLAGS="$CXXFLAGS $WARN_EFFCPLUSPLUS -Werror"
|
||||
AC_MSG_CHECKING([if -Weffc++ should be enabled])
|
||||
AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
|
||||
[[
|
||||
class Base {};
|
||||
class A: public Base {};
|
||||
]])],
|
||||
[AC_MSG_RESULT([yes])],
|
||||
[WARN_EFFCPLUSPLUS=""]
|
||||
[AC_MSG_RESULT([no])])
|
||||
CXXFLAGS="$SAVED_CXXFLAGS"
|
||||
CXX_WFLAGS="$CXX_WFLAGS $WARN_EFFCPLUSPLUS"
|
||||
fi
|
||||
|
||||
dnl Clang enables -Woverloaded-virtual if -Wall is defined, but not GCC
|
||||
AX_CHECK_COMPILE_FLAG([-Woverloaded-virtual], [CXX_WFLAGS="$CXX_WFLAGS -Woverloaded-virtual"],,[$ERROR_ON_UNKNOWN_OPTIONS])
|
||||
|
||||
dnl Forbid use of 'or', 'and', ... alias operators
|
||||
AX_CHECK_COMPILE_FLAG([-fno-operator-names], [CXX_WFLAGS="$CXX_WFLAGS -fno-operator-names"],,[$ERROR_ON_UNKNOWN_OPTIONS])
|
||||
|
||||
HAVE_GCC_WARNING_ZERO_AS_NULL_POINTER_CONSTANT=no
|
||||
AX_CHECK_COMPILE_FLAG([-Wzero-as-null-pointer-constant], [CXX_WFLAGS="$CXX_WFLAGS -Wzero-as-null-pointer-constant" HAVE_GCC_WARNING_ZERO_AS_NULL_POINTER_CONSTANT=yes NO_ZERO_AS_NULL_POINTER_CONSTANT_FLAG="-Wno-zero-as-null-pointer-constant"],,[$ERROR_ON_UNKNOWN_OPTIONS])
|
||||
if test "$HAVE_GCC_WARNING_ZERO_AS_NULL_POINTER_CONSTANT" = "yes"; then
|
||||
AC_DEFINE_UNQUOTED(HAVE_GCC_WARNING_ZERO_AS_NULL_POINTER_CONSTANT, 1,
|
||||
[Define to 1 if the compiler supports -Wzero-as-null-pointer-constant])
|
||||
fi
|
||||
|
||||
AC_LANG_POP([C++])
|
||||
|
||||
AC_SUBST(C_WFLAGS,$C_WFLAGS)
|
||||
AC_SUBST(CXX_WFLAGS,$CXX_WFLAGS)
|
||||
AC_SUBST(NO_ZERO_AS_NULL_POINTER_CONSTANT_FLAG,$NO_ZERO_AS_NULL_POINTER_CONSTANT_FLAG)
|
||||
|
||||
|
||||
dnl Checks for libraries.
|
||||
save_CFLAGS="$CFLAGS"
|
||||
CFLAGS=`echo "$CFLAGS" | sed "s/-Werror/ /"`
|
||||
@@ -142,7 +264,12 @@ AC_SUBST(MUTEX_SETTING,$MUTEX_SETTING)
|
||||
AC_SUBST(THREAD_LIB,$THREAD_LIB)
|
||||
|
||||
AC_CONFIG_FILES([Makefile cmake/Makefile src/Makefile
|
||||
test/Makefile test/gie/Makefile test/gigs/Makefile
|
||||
test/Makefile test/gie/Makefile test/gigs/Makefile test/unit/Makefile
|
||||
test/googletest/Makefile test/googletest/include/Makefile
|
||||
test/googletest/include/gtest/Makefile
|
||||
test/googletest/include/gtest/internal/Makefile
|
||||
test/googletest/include/gtest/internal/custom/Makefile
|
||||
test/googletest/src/Makefile
|
||||
man/Makefile man/man1/Makefile man/man3/Makefile nad/Makefile
|
||||
jniwrap/Makefile jniwrap/org.osgeo.proj/Makefile jniwrap/org.osgeo.proj/org/Makefile jniwrap/org.osgeo.proj/org/proj4/Makefile])
|
||||
AC_CONFIG_FILES([nad/install], [chmod +x nad/install])
|
||||
|
||||
@@ -0,0 +1,13 @@
|
||||
FROM ubuntu:18.04
|
||||
|
||||
RUN apt-get -y update && DEBIAN_FRONTEND=noninteractive apt-get install -y \
|
||||
python-dev python-pip g++ doxygen dvipng latexmk \
|
||||
cmake libjpeg8-dev zlib1g-dev texlive-latex-base \
|
||||
texlive-latex-extra git \
|
||||
graphviz python-matplotlib
|
||||
|
||||
RUN pip install Sphinx breathe \
|
||||
sphinx_bootstrap_theme awscli sphinxcontrib-bibtex \
|
||||
sphinx_rtd_theme
|
||||
|
||||
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 261 KiB |
@@ -307,6 +307,17 @@
|
||||
"res": "low",
|
||||
"type": "poly"
|
||||
},
|
||||
{
|
||||
"filename": "eqearth.png",
|
||||
"latmax": 90,
|
||||
"latmin": -90,
|
||||
"lonmax": 180,
|
||||
"lonmin": -180,
|
||||
"name": "eqearth",
|
||||
"projstring": "+proj=eqearth",
|
||||
"res": "low",
|
||||
"type": "poly"
|
||||
},
|
||||
{
|
||||
"filename": "euler.png",
|
||||
"latmax": 90,
|
||||
|
||||
@@ -26,7 +26,7 @@ Citation
|
||||
To cite PROJ in publications use:
|
||||
|
||||
PROJ contributors (2018). PROJ coordinate transformation software
|
||||
library. Open Source Geospatial Foundation. URL http://proj4.org/.
|
||||
library. Open Source Geospatial Foundation. URL https://proj4.org/.
|
||||
|
||||
A BibTeX entry for LaTeX users is
|
||||
|
||||
@@ -37,7 +37,7 @@ A BibTeX entry for LaTeX users is
|
||||
author = {{PROJ contributors}},
|
||||
organization = {Open Source Geospatial Foundation},
|
||||
year = {2018},
|
||||
url = {http://proj4.org/},
|
||||
url = {https://proj4.org/},
|
||||
}
|
||||
|
||||
License
|
||||
|
||||
@@ -171,10 +171,10 @@ Hence, in honour of *cct* (the geodesist) this is :program:`cct` (the program).
|
||||
Bugs
|
||||
****
|
||||
|
||||
A list of know bugs can be found at http://github.com/OSGeo/proj.4/issues
|
||||
A list of know bugs can be found at https://github.com/OSGeo/proj.4/issues
|
||||
where new bug reports can be submitted to.
|
||||
|
||||
Home page
|
||||
*********
|
||||
|
||||
http://proj4.org/
|
||||
https://proj4.org/
|
||||
|
||||
@@ -171,7 +171,7 @@ The x-y output data will appear as three lines of:
|
||||
|
||||
::
|
||||
|
||||
1402285.99 5076292.42 0.000
|
||||
1402285.98 5076292.42 -0.00
|
||||
|
||||
.. only:: man
|
||||
|
||||
@@ -183,10 +183,10 @@ The x-y output data will appear as three lines of:
|
||||
Bugs
|
||||
****
|
||||
|
||||
A list of know bugs can be found at http://github.com/OSGeo/proj.4/issues
|
||||
A list of know bugs can be found at https://github.com/OSGeo/proj.4/issues
|
||||
where new bug reports can be submitted to.
|
||||
|
||||
Home page
|
||||
*********
|
||||
|
||||
http://proj4.org/
|
||||
https://proj4.org/
|
||||
|
||||
@@ -205,10 +205,10 @@ Further reading
|
||||
Bugs
|
||||
****
|
||||
|
||||
A list of know bugs can be found at http://github.com/OSGeo/proj.4/issues
|
||||
A list of know bugs can be found at https://github.com/OSGeo/proj.4/issues
|
||||
where new bug reports can be submitted to.
|
||||
|
||||
Home page
|
||||
*********
|
||||
|
||||
http://proj4.org/
|
||||
https://proj4.org/
|
||||
|
||||
@@ -275,6 +275,14 @@ gie command language
|
||||
|
||||
See ``gie -l`` for a list of error codes that can be ignored.
|
||||
|
||||
.. option:: require_grid <grid_name>
|
||||
|
||||
Checks the availability of the grid <grid_name>. If it is not found, then
|
||||
all :option:`accept`/:option:`expect` pairs until the next
|
||||
:option:`operation` will be skipped.
|
||||
:option:`require_grid` can be repeated several times to specify several grids whose
|
||||
presence is required.
|
||||
|
||||
.. option:: echo <text>
|
||||
|
||||
Add user defined text to the output stream. See the example below.
|
||||
@@ -363,10 +371,10 @@ So in honour, and hopefully also in the spirit, of Gerald Ian Evenden
|
||||
Bugs
|
||||
****
|
||||
|
||||
A list of know bugs can be found at http://github.com/OSGeo/proj.4/issues
|
||||
A list of know bugs can be found at https://github.com/OSGeo/proj.4/issues
|
||||
where new bug reports can be submitted to.
|
||||
|
||||
Home page
|
||||
*********
|
||||
|
||||
http://proj4.org/
|
||||
https://proj4.org/
|
||||
|
||||
@@ -230,10 +230,10 @@ data will appear as three lines of::
|
||||
Bugs
|
||||
****
|
||||
|
||||
A list of know bugs can be found at http://github.com/OSGeo/proj.4/issues
|
||||
A list of know bugs can be found at https://github.com/OSGeo/proj.4/issues
|
||||
where new bug reports can be submitted to.
|
||||
|
||||
Home page
|
||||
*********
|
||||
|
||||
http://proj4.org/
|
||||
https://proj4.org/
|
||||
|
||||
@@ -0,0 +1,64 @@
|
||||
###############################################################################
|
||||
#
|
||||
# Purpose: Configure custom bibliography style for sphinxcontrib-bibtex
|
||||
# Author: Mike Toews <mwtoews at gmail.com>
|
||||
#
|
||||
###############################################################################
|
||||
# Copyright (c) 2018, Mike Toews <mwtoews at gmail.com>
|
||||
#
|
||||
# Permission is hereby granted, free of charge, to any person obtaining a
|
||||
# copy of this software and associated documentation files (the "Software"),
|
||||
# to deal in the Software without restriction, including without limitation
|
||||
# the rights to use, copy, modify, merge, publish, distribute, sublicense,
|
||||
# and/or sell copies of the Software, and to permit persons to whom the
|
||||
# Software is furnished to do so, subject to the following conditions:
|
||||
#
|
||||
# The above copyright notice and this permission notice shall be included
|
||||
# in all copies or substantial portions of the Software.
|
||||
#
|
||||
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
|
||||
# OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
# 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.
|
||||
###############################################################################
|
||||
|
||||
import re
|
||||
from pybtex.style.formatting.unsrt import Style as UnsrtStyle
|
||||
from pybtex.style.labels.alpha import LabelStyle
|
||||
from pybtex.plugin import register_plugin
|
||||
|
||||
|
||||
class LinkLabelStyle(LabelStyle):
|
||||
"""Citation label used in text, and before each item in the
|
||||
References section"""
|
||||
|
||||
re_char_nums = re.compile(r'^[\d\w]+$')
|
||||
|
||||
def format_label(self, entry):
|
||||
"""Returns BibTeX key for label
|
||||
|
||||
Raises KeyError if BibTeX key has other characters other than letters
|
||||
and numbers.
|
||||
"""
|
||||
label = entry.key
|
||||
if not self.re_char_nums.match(label):
|
||||
raise KeyError(
|
||||
'BibTeX key must contain only letters and numbers '
|
||||
'(found {0!r})'.format(label))
|
||||
return label
|
||||
|
||||
|
||||
class CustomStyle(UnsrtStyle):
|
||||
"""Citation style in the References section"""
|
||||
|
||||
default_label_style = 'linklabel'
|
||||
default_name_style = 'lastfirst'
|
||||
default_sorting_style = 'author_year_title'
|
||||
# TODO: Make more Harvard-like, i.e. year after name(s)
|
||||
|
||||
|
||||
register_plugin('pybtex.style.labels', 'linklabel', LinkLabelStyle)
|
||||
register_plugin('pybtex.style.formatting', 'customstyle', CustomStyle)
|
||||
@@ -35,3 +35,12 @@ The PROJ GitHub page can be found at https://github.com/OSGeo/proj.4
|
||||
your questions about the use of PROJ on the mailing list instead.
|
||||
|
||||
|
||||
Gitter
|
||||
-------------------------------------------------------------------------------
|
||||
|
||||
Gitter is the instant messaging alternative to the mailing list. PROJ has a
|
||||
room under the OSGeo organization. Most of the core developers stop by from
|
||||
time to time for an informal chat. You are more than welcome to join the
|
||||
discussion.
|
||||
|
||||
The Gitter room can be found at https://gitter.im/OSGeo/proj.4
|
||||
|
||||
@@ -86,7 +86,7 @@ Write documentation
|
||||
|
||||
PROJ is in dire need of better documentation. Any contributions of
|
||||
documentation are greatly appreciated. The PROJ documentation is
|
||||
available on `proj4.org <http://proj4.org>`__. The website is generated
|
||||
available on `proj4.org <https://proj4.org>`__. The website is generated
|
||||
with `Sphinx <http://www.sphinx-doc.org/en/stable/>`__. Contributions to
|
||||
the documentation should be made as `Pull
|
||||
Requests <https://github.com/OSGeo/proj.4/pulls>`__ on GitHub.
|
||||
@@ -159,7 +159,7 @@ repository:
|
||||
Additional Resources
|
||||
--------------------
|
||||
|
||||
- `General GitHub documentation <http://help.github.com/>`__
|
||||
- `General GitHub documentation <https://help.github.com/>`__
|
||||
- `GitHub pull request
|
||||
documentation <https://help.github.com/articles/about-pull-requests/>`__
|
||||
|
||||
|
||||
@@ -14,3 +14,4 @@ contributor the community is always very welcoming.
|
||||
channels
|
||||
contributing
|
||||
code_contributions
|
||||
rfc/index
|
||||
|
||||
@@ -0,0 +1,14 @@
|
||||
.. _rfcs:
|
||||
|
||||
*****************************************************************************
|
||||
Request for Comments
|
||||
*****************************************************************************
|
||||
|
||||
A PROJ RFC describes a major change in the technological underpinnings of
|
||||
PROJ, major additions to functionality, or changes in the direction of
|
||||
the project.
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 1
|
||||
|
||||
rfc-1
|
||||
@@ -0,0 +1,172 @@
|
||||
.. _rfc1:
|
||||
|
||||
====================================================================
|
||||
PROJ RFC 1: Project Committee Guidelines
|
||||
====================================================================
|
||||
|
||||
:Author: Frank Warmerdam, Howard Butler
|
||||
:Contact: howard@hobu.co
|
||||
:Status: Passed
|
||||
:Last Updated: 2018-06-08
|
||||
|
||||
Summary
|
||||
-----------
|
||||
|
||||
This document describes how the PROJ Project Steering Committee (PSC)
|
||||
determines membership, and makes decisions on all aspects of the
|
||||
PROJ project - both technical and non-technical.
|
||||
|
||||
Examples of PSC management responsibilities:
|
||||
|
||||
* setting the overall development road map
|
||||
* developing technical standards and policies (e.g. coding standards,
|
||||
file naming conventions, etc...)
|
||||
* ensuring regular releases (major and maintenance) of PROJ software
|
||||
* reviewing RFC for technical enhancements to the software
|
||||
* project infrastructure (e.g. GitHub, continuous integration hosting options, etc...)
|
||||
* formalization of affiliation with external entities such as OSGeo
|
||||
* setting project priorities, especially with respect to project sponsorship
|
||||
* creation and oversight of specialized sub-committees (e.g. project
|
||||
infrastructure, training)
|
||||
|
||||
In brief the project team votes on proposals on the `proj mailing list`_. Proposals are available for review for at least two days, and a single
|
||||
veto is sufficient delay progress though ultimately a majority of members can
|
||||
pass a proposal.
|
||||
|
||||
.. _`proj mailing list`: http://lists.maptools.org/mailman/listinfo/proj
|
||||
|
||||
List of PSC Members
|
||||
-------------------
|
||||
(up-to-date as of 2018-06)
|
||||
|
||||
* Kristian Evers `@kbevers <https://github.com/kbevers>`_ (DK) **Chair**
|
||||
* Howard Butler `@hobu <https://github.com/hobu>`_ (USA)
|
||||
* Charles Karney `@cffk <https://github.com/cffk>`_ (USA)
|
||||
* Thomas Knudsen `@busstoptaktik <https://github.com/busstoptaktik>`_ (DK)
|
||||
* Even Rouault `@rouault <https://github.com/rouault>`_ (FR)
|
||||
* Kurt Schwehr `@schwehr <https://github.com/schwehr>`_ (USA)
|
||||
* Frank Warmerdam `@warmerdam <https://github.com/warmerdam>`_ (USA) **Emeritus**
|
||||
|
||||
Detailed Process
|
||||
-----------------------
|
||||
|
||||
* Proposals are written up and submitted on the `proj mailing list`_
|
||||
for discussion and voting, by any interested party, not just
|
||||
committee members.
|
||||
* Proposals need to be available for review for at least two business
|
||||
days before a final decision can be made.
|
||||
* Respondents may vote "+1" to indicate support for the proposal and a
|
||||
willingness to support implementation.
|
||||
* Respondents may vote "-1" to veto a proposal, but must provide clear
|
||||
reasoning and alternate approaches to resolving the problem within
|
||||
the two days.
|
||||
* A vote of -0 indicates mild disagreement, but has no effect. A 0
|
||||
indicates no opinion. A +0 indicate mild support, but has no
|
||||
effect.
|
||||
* Anyone may comment on proposals on the list, but only members of the
|
||||
Project Steering Committee's votes will be counted.
|
||||
* A proposal will be accepted if it receives +2 (including the
|
||||
author) and no vetoes (-1).
|
||||
* If a proposal is vetoed, and it cannot be revised to satisfy all
|
||||
parties, then it can be resubmitted for an override vote in which a
|
||||
majority of all eligible voters indicating +1 is sufficient to pass it.
|
||||
Note that this is a majority of all committee members, not just those who
|
||||
actively vote.
|
||||
* Upon completion of discussion and voting the author should announce
|
||||
whether they are proceeding (proposal accepted) or are withdrawing
|
||||
their proposal (vetoed).
|
||||
* The Chair gets a vote.
|
||||
* The Chair is responsible for keeping track of who is a member of the
|
||||
Project Steering Committee (perhaps as part of a PSC file in CVS).
|
||||
* Addition and removal of members from the committee, as well as selection
|
||||
of a Chair should be handled as a proposal to the committee.
|
||||
* The Chair adjudicates in cases of disputes about voting.
|
||||
|
||||
RFC Origin
|
||||
.............
|
||||
|
||||
PROJ RFC and Project Steering Committee is derived from similar governance
|
||||
bodies in both the `GDAL <https://trac.osgeo.org/gdal/wiki/rfc1_pmc>`__ and
|
||||
`MapServer <http://mapserver.org/development/rfc/ms-rfc-23.html>`__ software
|
||||
projects.
|
||||
|
||||
When is Vote Required?
|
||||
-----------------------
|
||||
|
||||
* Any change to committee membership (new members, removing inactive members)
|
||||
* Changes to project infrastructure (e.g. tool, location or substantive
|
||||
configuration)
|
||||
* Anything that could cause backward compatibility issues.
|
||||
* Adding substantial amounts of new code.
|
||||
* Changing inter-subsystem APIs, or objects.
|
||||
* Issues of procedure.
|
||||
* When releases should take place.
|
||||
* Anything dealing with relationships with external entities such as OSGeo
|
||||
* Anything that might be controversial.
|
||||
|
||||
Observations
|
||||
----------------
|
||||
|
||||
* The Chair is the ultimate adjudicator if things break down.
|
||||
* The absolute majority rule can be used to override an obstructionist
|
||||
veto, but it is intended that in normal circumstances vetoers need to be
|
||||
convinced to withdraw their veto. We are trying to reach consensus.
|
||||
|
||||
Committee Membership
|
||||
---------------------
|
||||
|
||||
The PSC is made up of individuals consisting of technical contributors
|
||||
(e.g. developers) and prominent members of the PROJ user community.
|
||||
There is no set number of members for the PSC although the initial desire
|
||||
is to set the membership at 6.
|
||||
|
||||
Adding Members
|
||||
..............
|
||||
|
||||
Any member of the `proj mailing list`_ may nominate someone for
|
||||
committee membership at any time. Only existing PSC committee members may
|
||||
vote on new members. Nominees must receive a majority vote from existing
|
||||
members to be added to the PSC.
|
||||
|
||||
Stepping Down
|
||||
.............
|
||||
|
||||
If for any reason a PSC member is not able to fully participate then they
|
||||
certainly are free to step down. If a member is not active (e.g. no
|
||||
voting, no IRC or email participation) for a period of two months then
|
||||
the committee reserves the right to seek nominations to fill that position.
|
||||
Should that person become active again (hey, it happens) then they would
|
||||
certainly be welcome, but would require a nomination.
|
||||
|
||||
Membership Responsibilities
|
||||
-----------------------------
|
||||
|
||||
Guiding Development
|
||||
...............................
|
||||
|
||||
Members should take an active role guiding the development of new features
|
||||
they feel passionate about. Once a change request has been accepted
|
||||
and given a green light to proceed does not mean the members are free of
|
||||
their obligation. PSC members voting "+1" for a change request are
|
||||
expected to stay engaged and ensure the change is implemented and
|
||||
documented in a way that is most beneficial to users. Note that this
|
||||
applies not only to change requests that affect code, but also those
|
||||
that affect the web site, technical infrastructure, policies and standards.
|
||||
|
||||
Mailing List Participation
|
||||
...............................
|
||||
|
||||
PSC members are expected to be active on the
|
||||
`proj mailing list`_, subject to Open Source mailing list
|
||||
etiquette. Non-developer members of the PSC are not expected to respond
|
||||
to coding level questions on the developer mailing list, however they
|
||||
are expected to provide their thoughts and opinions on user level
|
||||
requirements and compatibility issues when RFC discussions take place.
|
||||
|
||||
|
||||
Updates
|
||||
---------
|
||||
|
||||
**June 2018**
|
||||
|
||||
RFC 1 was ratified by the following members
|
||||
+5
-2
@@ -19,7 +19,9 @@ import datetime
|
||||
# If extensions (or modules to document with autodoc) are in another directory,
|
||||
# add these directories to sys.path here. If the directory is relative to the
|
||||
# documentation root, use os.path.abspath to make it absolute, like shown here.
|
||||
#sys.path.insert(0, os.path.abspath('.'))
|
||||
sys.path.insert(0, os.path.abspath('.'))
|
||||
|
||||
import bibstyle
|
||||
|
||||
# -- General configuration ------------------------------------------------
|
||||
|
||||
@@ -31,6 +33,7 @@ import datetime
|
||||
# ones.
|
||||
extensions = [
|
||||
'sphinx.ext.mathjax',
|
||||
'sphinxcontrib.bibtex',
|
||||
]
|
||||
|
||||
# Add any paths that contain templates here, relative to this directory.
|
||||
@@ -62,7 +65,7 @@ copyright = u'1983-{0}'.format(now.year)
|
||||
# The version info for the project you're documenting, acts as replacement for
|
||||
# |version| and |release|, also used in various other places throughout the
|
||||
# built documents.
|
||||
version = '5.0.1'
|
||||
version = '5.1.0'
|
||||
|
||||
# use same |release| as |version|
|
||||
release = version
|
||||
|
||||
@@ -8,14 +8,14 @@ PROJ bindings are available for a number of different development platforms.
|
||||
|
||||
Python
|
||||
======
|
||||
`pyproj <http://pypi.python.org/pypi/pyproj>`_:
|
||||
`pyproj <https://pypi.python.org/pypi/pyproj>`_:
|
||||
Python interface (wrapper for PROJ)
|
||||
|
||||
|
||||
Ruby
|
||||
=======
|
||||
|
||||
`proj4rb <http://proj4rb.rubyforge.org>`_:
|
||||
`proj4rb <https://github.com/cfis/proj4rb>`_:
|
||||
Bindings for PROJ in ruby
|
||||
|
||||
TCL
|
||||
@@ -26,7 +26,7 @@ Bindings for PROJ in tcl (critcl source)
|
||||
MySQL
|
||||
=====
|
||||
|
||||
`fProj4 <http://sourceforge.net/projects/mysqlscientific/files/fPROJ4/>`_:
|
||||
`fProj4 <https://sourceforge.net/projects/mysqlscientific/files/fPROJ4/>`_:
|
||||
Bindings for PROJ in MySQL
|
||||
|
||||
|
||||
|
||||
@@ -19,3 +19,27 @@ PROJ project or using the library in their own software.
|
||||
cmake
|
||||
bindings
|
||||
migration
|
||||
|
||||
|
||||
.. attention::
|
||||
|
||||
The ``projects.h`` header and the functions related to it is considered
|
||||
deprecated from version 5.0.0 and onwards. The header will be removed
|
||||
from PROJ in version 6.0.0 scheduled for release February 1st 2019.
|
||||
|
||||
.. attention::
|
||||
|
||||
The nmake build system on Windows will not be supported from
|
||||
version 6.0.0 on onwards. Use CMake instead.
|
||||
|
||||
.. attention::
|
||||
|
||||
The ``proj_api.h`` header and the functions related to it is
|
||||
considered deprecated from version 5.0.0 and onwards. The header will be
|
||||
removed from PROJ in version 7.0.0 scheduled for release February 1st
|
||||
2020.
|
||||
|
||||
.. attention::
|
||||
|
||||
With the introduction of PROJ 5, behavioural changes has been made to
|
||||
existing functionality. Consult :ref:`differences` for the details.
|
||||
|
||||
@@ -109,8 +109,8 @@ The same program implemented using PROJ v. 5:
|
||||
return 1;
|
||||
|
||||
while (scanf("%lf %lf", &c.lp.lam, &c.lp.phi) == 2) {
|
||||
c.lp.lam = proj_todeg(c.lp.lam);
|
||||
c.lp.phi = proj_todeg(c.lp.phi);
|
||||
c.lp.lam = proj_torad(c.lp.lam);
|
||||
c.lp.phi = proj_torad(c.lp.phi);
|
||||
c = proj_trans(P, PJ_FWD, c);
|
||||
printf("%.2f\t%.2f\n", c.xy.x, c.xy.y);
|
||||
}
|
||||
|
||||
@@ -32,6 +32,10 @@ Transformation setup
|
||||
|
||||
PJ *P = proj_create(0, "+proj=etmerc +lat_0=38 +lon_0=125 +ellps=bessel");
|
||||
|
||||
If creation of the transformation object fails, the function returns `0` and
|
||||
the PROJ error number is updated. The error number can be read with
|
||||
:c:func:`proj_errno` or :c:func:`proj_context_errno`.
|
||||
|
||||
The returned :c:type:`PJ`-pointer should be deallocated with :c:func:`proj_destroy`.
|
||||
|
||||
:param PJ_CONTEXT* ctx: Threading context.
|
||||
@@ -51,6 +55,10 @@ Transformation setup
|
||||
char *args[3] = {"proj=utm", "zone=32", "ellps=GRS80"};
|
||||
PJ* P = proj_create_argv(0, 3, args);
|
||||
|
||||
If creation of the transformation object fails, the function returns `0` and
|
||||
the PROJ error number is updated. The error number can be read with
|
||||
:c:func:`proj_errno` or :c:func:`proj_context_errno`.
|
||||
|
||||
The returned :c:type:`PJ`-pointer should be deallocated with :c:func:`proj_destroy`.
|
||||
|
||||
:param PJ_CONTEXT* ctx: Threading context
|
||||
@@ -81,6 +89,11 @@ Transformation setup
|
||||
|
||||
PJ *P = proj_create_crs_to_crs(0, "epsg:25832", "epsg:25833", 0);
|
||||
|
||||
If creation of the transformation object fails, the function returns `0` and
|
||||
the PROJ error number is updated. The error number can be read with
|
||||
:c:func:`proj_errno` or :c:func:`proj_context_errno`.
|
||||
|
||||
|
||||
The returned :c:type:`PJ`-pointer should be deallocated with :c:func:`proj_destroy`.
|
||||
|
||||
:param PJ_CONTEXT* ctx: Threading context.
|
||||
@@ -212,12 +225,25 @@ Error reporting
|
||||
|
||||
Get a reading of the current error-state of :c:data:`P`. An non-zero error
|
||||
codes indicates an error either with the transformation setup or during a
|
||||
transformation.
|
||||
transformation. In cases :c:data:`P` is `0` the error number of the default
|
||||
context is read. A text representation of the error number can be retrieved
|
||||
with :c:func:`proj_errno_string`.
|
||||
|
||||
:param: PJ* P: Transformation object.
|
||||
|
||||
:returns: :c:type:`int`
|
||||
|
||||
.. c:function:: int proj_context_errno(PJ_CONTEXT *ctx)
|
||||
|
||||
Get a reading of the current error-state of :c:data:`ctx`. An non-zero error
|
||||
codes indicates an error either with the transformation setup or during a
|
||||
transformation. A text representation of the error number can be retrieved
|
||||
with :c:func:`proj_errno_string`.
|
||||
|
||||
:param: PJ_CONTEXT* ctx: threading context.
|
||||
|
||||
:returns: :c:type:`int`
|
||||
|
||||
.. c:function:: void proj_errno_set(PJ *P, int err)
|
||||
|
||||
Change the error-state of :c:data:`P` to `err`.
|
||||
|
||||
@@ -13,7 +13,7 @@ distribution of the source code and various resource files archives. See
|
||||
Current Release
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
* **2018-04-01** `proj-5.0.1.tar.gz`_ (`md5`_)
|
||||
* **2018-06-01** `proj-5.1.0.tar.gz`_ (`md5`_)
|
||||
* **2018-03-01** `proj-datumgrid-1.7.zip`_
|
||||
* **2018-03-01** `proj-datumgrid-europe-1.0.zip`_
|
||||
* **2018-03-01** `proj-datumgrid-north-america-1.0.zip`_
|
||||
@@ -23,6 +23,7 @@ Current Release
|
||||
Past Releases
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
* **2018-04-01** `proj-5.0.1.tar.gz`_ (`md5`_)
|
||||
* **2018-03-01** `proj-5.0.0.tar.gz`_
|
||||
* **2016-09-02** `proj-4.9.3.tar.gz`_
|
||||
* **2015-09-13** `proj-4.9.2.tar.gz`_
|
||||
@@ -30,6 +31,7 @@ Past Releases
|
||||
|
||||
* **2016-09-11** `proj-datumgrid-1.6.zip`_
|
||||
|
||||
.. _`proj-5.1.0.tar.gz`: http://download.osgeo.org/proj/proj-5.1.0.tar.gz
|
||||
.. _`proj-5.0.1.tar.gz`: http://download.osgeo.org/proj/proj-5.0.1.tar.gz
|
||||
.. _`proj-5.0.0.tar.gz`: http://download.osgeo.org/proj/proj-5.0.0.tar.gz
|
||||
.. _`proj-4.9.1.tar.gz`: http://download.osgeo.org/proj/proj-4.9.1.tar.gz
|
||||
@@ -40,5 +42,5 @@ Past Releases
|
||||
.. _`proj-datumgrid-europe-1.0.zip`: http://download.osgeo.org/proj/proj-datumgrid-europe-1.0.zip
|
||||
.. _`proj-datumgrid-north-america-1.0.zip`: http://download.osgeo.org/proj/proj-datumgrid-north-america-1.0.zip
|
||||
.. _`proj-datumgrid-oceania-1.0.zip`: http://download.osgeo.org/proj/proj-datumgrid-oceania-1.0.zip
|
||||
.. _`md5`: http://download.osgeo.org/proj/proj-5.0.1.tar.gz.md5
|
||||
.. _`md5`: http://download.osgeo.org/proj/proj-5.1.0.tar.gz.md5
|
||||
.. _`proj.pdf`: https://raw.githubusercontent.com/OSGeo/proj.4/gh-pages/proj.pdf
|
||||
|
||||
+1
-1
@@ -26,7 +26,7 @@ The '''proj''' command itself can report the list of projections using the
|
||||
units with the '''-lu''' option, and the list of built-in datums with the
|
||||
'''-ld''' option.
|
||||
|
||||
The [http://www.remotesensing.org/geotiff/proj_list/ GeoTIFF Projections Pages]
|
||||
The [http://geotiff.maptools.org/proj_list/ GeoTIFF Projections Pages]
|
||||
include most of the common PROJ projections, and a definition of the
|
||||
projection specific options for each.
|
||||
|
||||
|
||||
@@ -152,10 +152,11 @@ catalog of those cases:
|
||||
Background
|
||||
----------
|
||||
|
||||
The algorithms implemented by this package are given in [Karney2013]_
|
||||
and are based on [Bessel1825]_ and [Helmert1880]_; the algorithm for
|
||||
areas is based on [Danielsen1989]_. These improve on the work of
|
||||
[Vincenty1975]_ in the following respects:
|
||||
The algorithms implemented by this package are given in :cite:`Karney2013`
|
||||
(`addenda <https://geographiclib.sourceforge.io/geod-addenda.html>`_)
|
||||
and are based on :cite:`Bessel1825` and :cite:`Helmert1880`; the algorithm for
|
||||
areas is based on :cite:`Danielsen1989`. These improve on the work of
|
||||
:cite:`Vincenty1975` in the following respects:
|
||||
|
||||
* The results are accurate to round-off for terrestrial ellipsoids (the
|
||||
error in the distance is less then 15 nanometers, compared to 0.1 mm
|
||||
@@ -166,5 +167,8 @@ areas is based on [Danielsen1989]_. These improve on the work of
|
||||
geodesic. This allows, for example, the area of a geodesic polygon to
|
||||
be computed.
|
||||
|
||||
Additional background material is provided in [GeodesicBib]_,
|
||||
[GeodesicWiki]_, and [Karney2011]_.
|
||||
Additional background material is provided in GeographicLib's `geodesic
|
||||
bibliography <https://geographiclib.sourceforge.io/geodesic-papers/biblio.html>`_,
|
||||
Wikipedia's article "`Geodesics on an ellipsoid
|
||||
<https://en.wikipedia.org/wiki/Geodesics_on_an_ellipsoid>`_", and :cite:`Karney2011`
|
||||
(`errata <https://geographiclib.sourceforge.io/geod-addenda.html#geod-errata>`_).
|
||||
|
||||
+27
-302
@@ -8,6 +8,7 @@ PROJ
|
||||
:hidden:
|
||||
|
||||
about
|
||||
news
|
||||
download
|
||||
install
|
||||
usage/index
|
||||
@@ -23,305 +24,29 @@ PROJ
|
||||
|
||||
.. only:: html
|
||||
|
||||
PROJ is a standard UNIX filter function which converts geographic longitude
|
||||
and latitude coordinates into cartesian coordinates (and vice versa), and it is
|
||||
a C API for software developers to include coordinate transformation in their
|
||||
own software. PROJ is maintained on `GitHub <http://github.com/OSGeo/proj.4/>`_.
|
||||
|
||||
|
||||
NEWS
|
||||
---------------------------------------------------------------------------
|
||||
|
||||
.. attention::
|
||||
|
||||
The ``projects.h`` header and the functions related to it is considered
|
||||
deprecated from version 5.0.0 and onwards. The header will be removed
|
||||
from PROJ in version 6.0.0 scheduled for release February 1st 2019.
|
||||
|
||||
.. attention::
|
||||
|
||||
The nmake build system on Windows will not be supported from
|
||||
version 6.0.0 on onwards. Use CMake instead.
|
||||
|
||||
.. attention::
|
||||
|
||||
The ``proj_api.h`` header and the functions related to it is
|
||||
considered deprecated from version 5.0.0 and onwards. The header will be
|
||||
removed from PROJ in version 7.0.0 scheduled for release February 1st
|
||||
2020.
|
||||
|
||||
.. attention::
|
||||
|
||||
With the introduction of PROJ 5, behavioural changes has been made to
|
||||
existing functionality. Consult :ref:`differences` for the details.
|
||||
|
||||
|
||||
|
||||
PROJ 5.0.1
|
||||
++++++++++++++++++++++++++++++++++++++++
|
||||
*March 1st 2018*
|
||||
|
||||
Bug fixes
|
||||
***********
|
||||
|
||||
* Handle ellipsoid change correctly in pipelines when ``+towgs84=0,0,0`` is set (`#881 <https://github.com/OSGeo/proj.4/issues/881>`_)
|
||||
|
||||
|
||||
* Handle the case where nad_ctable2_init returns NULL (`#883 <https://github.com/OSGeo/proj.4/issues/883>`_)
|
||||
|
||||
|
||||
* Avoid shadowed declaration errors with old gcc (`#880 <https://github.com/OSGeo/proj.4/issues/880>`_)
|
||||
|
||||
|
||||
* Expand ``+datum`` properly in pipelines (`#872 <https://github.com/OSGeo/proj.4/issues/872>`_)
|
||||
|
||||
|
||||
* Fail gracefully when incorrect headers are encountered in grid files (`#875 <https://github.com/OSGeo/proj.4/issues/875>`_)
|
||||
|
||||
|
||||
* Improve roundtrip stability in pipelines using ``+towgs84`` (`#871 <https://github.com/OSGeo/proj.4/issues/871>`_)
|
||||
|
||||
|
||||
* Fixed typo in gie error codes (`#861 <https://github.com/OSGeo/proj.4/issues/861>`_)
|
||||
|
||||
|
||||
* Numerical stability fixes to the geodesic package (`#826 <https://github.com/OSGeo/proj.4/issues/826>`_ & `#843 <https://github.com/OSGeo/proj.4/issues/843>`_)
|
||||
|
||||
|
||||
* Make sure that transient errors are returned correctly (`#857 <https://github.com/OSGeo/proj.4/issues/857>`_)
|
||||
|
||||
|
||||
* Make sure that locally installed header files are not used when building PROJ (`#849 <https://github.com/OSGeo/proj.4/issues/849>`_)
|
||||
|
||||
|
||||
* Fix inconsistent parameter names in ``proj.h``/``proj_4D_api.c`` (`#842 <https://github.com/OSGeo/proj.4/issues/842>`_)
|
||||
|
||||
|
||||
* Make sure ``+vunits`` is applied (`#833 <https://github.com/OSGeo/proj.4/issues/833>`_)
|
||||
|
||||
|
||||
* Fix incorrect Web Mercator transformations (`#834 <https://github.com/OSGeo/proj.4/issues/834>`_)
|
||||
|
||||
|
||||
|
||||
PROJ 5.0.0
|
||||
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
*February 1st 2018*
|
||||
|
||||
This version of PROJ introduces some significant extensions and
|
||||
improvements to (primarily) the geodetic functionality of the system.
|
||||
|
||||
The main driver for introducing the new features is the emergence of
|
||||
dynamic reference frames, the increasing use of high accuracy GNSS,
|
||||
and the related growing demand for accurate coordinate
|
||||
transformations. While older versions of PROJ included some geodetic
|
||||
functionality, the new framework lays the foundation for turning PROJ
|
||||
into a generic geospatial coordinate transformation engine.
|
||||
|
||||
The core of the library is still the well established projection code.
|
||||
The new functionality is primarily exposed in a new programming
|
||||
interface and a new command line utility, :ref:`cct<cct>`
|
||||
(for "Coordinate Conversion and Transformation"). The old programming interface is
|
||||
still available and can - to some extent - use the new geodetic
|
||||
transformation features.
|
||||
|
||||
The internal architecture has also seen many changes and much
|
||||
improvement. So far, these improvements respect the existing
|
||||
programming interface. But the process has revealed a need to simplify
|
||||
and reduce the code base, in order to support sustained active
|
||||
development.
|
||||
|
||||
|
||||
**Therefore we have scheduled regular releases over the coming years**
|
||||
**which will gradually remove the old programming interface.**
|
||||
|
||||
**This will cause breaking changes with the next two major version**
|
||||
**releases, which will affect all projects that depend on PROJ**
|
||||
**(cf. section "deprecations" below).**
|
||||
|
||||
The decision to break the existing API has not been easy, but has
|
||||
ultimately been deemed necessary to ensure the long term survival of
|
||||
the project. Not only by improving the maintainability immensely, but
|
||||
also by extending the potential user (and hence developer) community.
|
||||
|
||||
The end goal is to deliver a generic coordinate transformation
|
||||
software package with a clean and concise code base appealing to
|
||||
both users and developers.
|
||||
|
||||
|
||||
Versioning and naming
|
||||
***************************************************************************
|
||||
|
||||
For the first time in more than 25 years the major version number of
|
||||
the software is changed. The decision to do this is based on the many
|
||||
new features and new API. While backwards compatibility remains -
|
||||
except in a few rare corner cases - the addition of a new and improved
|
||||
programming interface warrants a new major release.
|
||||
|
||||
The new major version number unfortunately leaves the project in a bit
|
||||
of a conundrum regarding the name. For the majority of the life-time
|
||||
of the product it has been known as PROJ.4, but since we have now
|
||||
reached version 5 the name is no longer aligned with the version
|
||||
number.
|
||||
|
||||
Hence we have decided to decouple the name from the version number and
|
||||
from this version and onwards the product will simply be called PROJ.
|
||||
|
||||
In recognition of the history of the software we are keeping PROJ.4 as
|
||||
the *name of the organizing project*. The same project team also
|
||||
produces the datum-grid package.
|
||||
|
||||
In summary:
|
||||
|
||||
* The PROJ.4 project provides the product PROJ, which is now at
|
||||
version 5.0.0.
|
||||
|
||||
* The foundational component of PROJ is the library libproj.
|
||||
|
||||
* Other PROJ components include the application proj, which provides
|
||||
a command line interface to libproj.
|
||||
|
||||
* The PROJ.4 project also distributes the datum-grid package,
|
||||
which at the time of writing is at version 1.6.0.
|
||||
|
||||
Updates
|
||||
***************************************************************************
|
||||
|
||||
* Introduced new API in ``proj.h``.
|
||||
|
||||
- The new API is orthogonal to the existing ``proj_api.h`` API and the internally used ``projects.h`` API.
|
||||
|
||||
- The new API adds the ability to transform spatiotemporal (4D) coordinates.
|
||||
|
||||
- Functions in the new API use the ``proj_`` namespace.
|
||||
|
||||
- Data types in the new API use the ``PJ_`` namespace.
|
||||
|
||||
* Introduced the concept of "transformation pipelines" that makes possible to do complex geodetic transformations of coordinates by daisy chaining simple coordinate operations.
|
||||
|
||||
* Introduced :ref:`cct`, the Coordinate Conversion and Transformation application.
|
||||
|
||||
* Introduced :ref:`gie`, the Geospatial Integrity Investigation Environment.
|
||||
|
||||
- Selftest invoked by ``-C`` flag in :ref:`proj` has been removed
|
||||
- Ported approx. 1300 built-in selftests to :ref:`gie` format
|
||||
- Ported approx. 1000 tests from the gigs test framework
|
||||
- Added approx. 200 new tests
|
||||
|
||||
* Adopted terminology from the OGC/ISO-19100 geospatial standards series. Key definitions are:
|
||||
|
||||
- At the most generic level, a *coordinate operation* is a change of coordinates, based on a one-to-one relationship, from one coordinate reference system to another.
|
||||
|
||||
- A *transformation* is a coordinate operation in which the two coordinate reference systems are based on different datums, e.g. a change from a global reference frame to a regional frame.
|
||||
|
||||
- A *conversion* is a coordinate operation in which both coordinate reference systems are based on the same datum, e.g. change of units of coordinates.
|
||||
|
||||
- A *projection* is a coordinate conversion from an ellipsoidal coordinate system to a plane. Although projections are simply conversions according to the standard, they are treated as separate entities in PROJ as they make up the vast majority of operations in the library.
|
||||
|
||||
* New operations
|
||||
|
||||
- :ref:`The pipeline operator<pipeline>` (``pipeline``)
|
||||
|
||||
- Transformations
|
||||
+ :ref:`Helmert transform<helmert>` (``helmert``)
|
||||
+ Horner real and complex polynomial evaluation (``horner``)
|
||||
+ :ref:`Horizontal gridshift<hgridshift>` (``hgridshift``)
|
||||
+ :ref:`Vertical gridshift<vgridshift>` (``vgridshift``)
|
||||
+ :ref:`Molodensky transform<molodensky>` (``molodensky``)
|
||||
+ :ref:`Kinematic gridshift with deformation model<deformation>` (``deformation``)
|
||||
|
||||
- Conversions
|
||||
+ :ref:`Unit conversion<unitconvert>` (``unitconvert``)
|
||||
+ :ref:`Axis swap<axisswap>` (``axisswap``)
|
||||
|
||||
- Projections
|
||||
+ :ref:`Central Conic projection<ccon>` (``ccon``)
|
||||
|
||||
* Significant documentation updates, including
|
||||
|
||||
- Overhaul of the structure of the documentation
|
||||
- A better introduction to the use of PROJ
|
||||
- :ref:`A complete reference to the new API<reference>`
|
||||
- a complete rewrite of the section on geodesic calculations
|
||||
- Figures for all projections
|
||||
|
||||
* New "free format" option for operation definitions, which permits separating tokens by whitespace when specifying key/value- pairs, e.g. ``proj = merc lat_0 = 45``.
|
||||
|
||||
* Added metadata to init-files that can be read with the :c:func:`proj_init_info` function in the new ``proj.h`` API.
|
||||
|
||||
* Added ITRF2000, ITRF2008 and ITRF2014 init-files with ITRF transformation parameters, including plate motion model parameters.
|
||||
|
||||
* Added ellipsoid parameters for GSK2011, PZ90 and "danish". The latter is similar to the already supported andrae ellipsoid, but has a slightly different semimajor axis.
|
||||
|
||||
* Added Copenhagen prime meridian.
|
||||
|
||||
* Updated EPSG database to version 9.2.0.
|
||||
|
||||
* Geodesic library updated to version 1.49.2-c.
|
||||
|
||||
* Support for analytical partial derivatives has been removed.
|
||||
|
||||
* Improved performance in Winkel Tripel and Aitoff.
|
||||
|
||||
* Introduced ``pj_has_inverse()`` function to ``proj_api.h``. Checks if an operation has an inverse. Use this instead of checking whether ``P->inv`` exists, since that can no longer be relied on.
|
||||
|
||||
* ABI version number updated to 13:0:0.
|
||||
|
||||
* Removed support for Windows CE.
|
||||
|
||||
* Removed the VB6 COM interface.
|
||||
|
||||
Bug fixes
|
||||
***************************************************************************
|
||||
|
||||
* Fixed incorrect convergence calculation in Lambert Conformal Conic. (`#16 <https://github.com/OSGeo/proj.4/issues/16>`_)
|
||||
|
||||
|
||||
* Handle ellipsoid parameters correctly when using ``+nadgrids=@null``. (`#22 <https://github.com/OSGeo/proj.4/issues/22>`_)
|
||||
|
||||
|
||||
* Return correct latitude when using negative northings in Transverse Mercator. (`#138 <https://github.com/OSGeo/proj.4/issues/138>`_)
|
||||
|
||||
|
||||
* Return correct result at origin in inverse Mod. Stereographic of Alaska. (`#161 <https://github.com/OSGeo/proj.4/issues/161>`_)
|
||||
|
||||
|
||||
* Return correct result at origin in inverse Mod. Stereographic of 48 U.S. (`#162 <https://github.com/OSGeo/proj.4/issues/162>`_)
|
||||
|
||||
|
||||
* Return correct result at origin in inverse Mod. Stereographic of 50 U.S. (`#163 <https://github.com/OSGeo/proj.4/issues/163>`_)
|
||||
|
||||
|
||||
* Return correct result at origin in inverse Lee Oblated Stereographic. (`#164 <https://github.com/OSGeo/proj.4/issues/164>`_)
|
||||
|
||||
|
||||
* Return correct result at origin in inverse Miller Oblated Stereographic. (`#165 <https://github.com/OSGeo/proj.4/issues/165>`_)
|
||||
|
||||
|
||||
* Fixed scaling and wrap-around issues in Oblique Cylindrical Equal Area. (`#166 <https://github.com/OSGeo/proj.4/issues/166>`_)
|
||||
|
||||
|
||||
* Corrected a coefficient error in inverse Transverse Mercator. (`#174 <https://github.com/OSGeo/proj.4/issues/174>`_)
|
||||
|
||||
* Respect ``-r`` flag when calling :program:`proj` with ``-V``. (`#184 <https://github.com/OSGeo/proj.4/issues/184>`_)
|
||||
|
||||
* Remove multiplication by 2 at the equator error in Stereographic projection. (`#194 <https://github.com/OSGeo/proj.4/issues/194>`_)
|
||||
|
||||
* Allow +alpha=0 and +gamma=0 when using Oblique Mercator. (`#195 <https://github.com/OSGeo/proj.4/issues/195>`_)
|
||||
|
||||
* Return correct result of inverse Oblique Mercator when alpha is between 90 and 270. (`#331 <https://github.com/OSGeo/proj.4/issues/331>`_)
|
||||
|
||||
* Avoid segmentation fault when accessing point outside grid. (`#396 <https://github.com/OSGeo/proj.4/issues/396>`_)
|
||||
|
||||
* Avoid segmentation fault on NaN input in Robin inverse. (`#463 <https://github.com/OSGeo/proj.4/issues/463>`_)
|
||||
|
||||
* Very verbose use of :program:`proj` (``-V``) on Windows is fixed. (`#484 <https://github.com/OSGeo/proj.4/issues/484>`_)
|
||||
|
||||
* Fixed memory leak in General Oblique Transformation. (`#497 <https://github.com/OSGeo/proj.4/issues/497>`_)
|
||||
|
||||
* Equations for meridian convergence and partial derivatives have
|
||||
been corrected for non-conformal projections. (`#526 <https://github.com/OSGeo/proj.4/issues/526>`_)
|
||||
|
||||
* Fixed scaling of cartesian coordinates in ``pj_transform()``. (`#726 <https://github.com/OSGeo/proj.4/issues/726>`_)
|
||||
|
||||
* Additional bug fixes courtesy of `Google's OSS-Fuzz program <https://bugs.chromium.org/p/oss-fuzz/issues/list?can=1&q=proj4>`_
|
||||
PROJ is a generic coordinate transformation software, that transforms geospatial
|
||||
coordinates from one coordinate reference system (CRS) to another. This
|
||||
includes cartographic projections as well as geodetic transformations.
|
||||
|
||||
PROJ includes :ref:`command line applications<apps>` for easy conversion of
|
||||
coordinates from text files or directly from user input. In addition to the
|
||||
command line utilities PROJ also exposes an
|
||||
:ref:`application programming interface<reference>`, or API in short. The API
|
||||
let developers use the functionality of PROJ in their own software without having
|
||||
to implement similar functionality themselves.
|
||||
|
||||
PROJ started purely as a cartography application letting users convert geodetic
|
||||
coordinates into projected coordinates using a number of different cartographic
|
||||
projections. Over the years, as the need has become apparent, support for datum
|
||||
shifts has slowly worked it's way into PROJ as well. Today PROJ support more
|
||||
than a hundred different map projections and can transform coordinates between
|
||||
datums using all but the most obscure geodetic techniques.
|
||||
|
||||
You can download the source code for PROJ on the :ref:`download section<download>`
|
||||
and find links to prepackaged executables in the
|
||||
:ref:`installation section<install>`.
|
||||
|
||||
In addition to this website the PROJ documentation is also available in `PDF`_
|
||||
form.
|
||||
|
||||
.. _`PDF`: https://raw.githubusercontent.com/OSGeo/proj.4/gh-pages/proj.pdf
|
||||
|
||||
@@ -0,0 +1,344 @@
|
||||
.. _news:
|
||||
|
||||
News
|
||||
###############################################################################
|
||||
|
||||
PROJ 5.1.0
|
||||
++++++++++++++++++++++++++++++++++++++++
|
||||
*June 1st 2018*
|
||||
|
||||
|
||||
UPDATES
|
||||
-------
|
||||
|
||||
* Function :c:func:`proj_errno_string()` added to ``proj.h`` API (`#847 <https://github.com/OSGeo/proj.4/issues/847>`_)
|
||||
|
||||
* Validate units between pipeline steps and ensure transformation
|
||||
sanity (`#906 <https://github.com/OSGeo/proj.4/issues/906>`_)
|
||||
|
||||
* Print help when calling :program:`cct` and :program:`gie` without arguments (`#907 <https://github.com/OSGeo/proj.4/issues/907>`_)
|
||||
|
||||
* `CITATION` file added to source distribution (`#914 <https://github.com/OSGeo/proj.4/issues/914>`_)
|
||||
|
||||
* Webmercator operation added (`#925 <https://github.com/OSGeo/proj.4/issues/925>`_)
|
||||
|
||||
* Enhanced numerical precision of forward spherical Mercator near
|
||||
the Equator (`#928 <https://github.com/OSGeo/proj.4/issues/928>`_)
|
||||
|
||||
* Added ``--skip-lines`` option to :program:`cct` (`#923 <https://github.com/OSGeo/proj.4/issues/923>`_)
|
||||
|
||||
* Consistently return ``NaN`` values on ``NaN`` input (`#949 <https://github.com/OSGeo/proj.4/issues/949>`_)
|
||||
|
||||
* Removed unused ``src/org_proj4_Projections.h`` file (`#956 <https://github.com/OSGeo/proj.4/issues/956>`_)
|
||||
|
||||
* Java Native Interface bindings updated (`#957 <https://github.com/OSGeo/proj.4/issues/957>`_, `#969 <https://github.com/OSGeo/proj.4/issues/969>`_)
|
||||
|
||||
* Horizontal and vertical gridshift operations extended to
|
||||
the temporal domain (`#1015 <https://github.com/OSGeo/proj.4/issues/1015>`_)
|
||||
|
||||
|
||||
BUG FIXES
|
||||
------------
|
||||
|
||||
* Handle ``NaN`` float cast overflow in ``PJ_robin.c`` and ``nad_intr.c`` (`#887 <https://github.com/OSGeo/proj.4/issues/887>`_)
|
||||
|
||||
* Avoid overflow when Horner order is unreasonably large (`#893 <https://github.com/OSGeo/proj.4/issues/893>`_)
|
||||
|
||||
* Avoid unwanted NaN conversions in etmerc (`#899 <https://github.com/OSGeo/proj.4/issues/899>`_)
|
||||
|
||||
* Avoid memory failure in :program:`gie` when not specifying x,y,z in gie files (`#902 <https://github.com/OSGeo/proj.4/issues/902>`_)
|
||||
|
||||
* Avoid memory failure when :option:`+sweep` is initialized incorrectly in geos (`#908 <https://github.com/OSGeo/proj.4/issues/908>`_)
|
||||
|
||||
* Return ``HUGE_VAL`` on erroneous input in ortho (`#912 <https://github.com/OSGeo/proj.4/issues/912>`_)
|
||||
|
||||
* Handle commented lines correctly in cct (`#933 <https://github.com/OSGeo/proj.4/issues/933>`_)
|
||||
|
||||
* Avoid segmentation fault when transformation coordinates outside grid
|
||||
area in deformation (`#934 <https://github.com/OSGeo/proj.4/issues/934>`_)
|
||||
|
||||
* Avoid doing false easting/northing adjustments on cartesian
|
||||
coordinates (`#936 <https://github.com/OSGeo/proj.4/issues/936>`_)
|
||||
|
||||
* Thread-safe creation of proj mutex (`#954 <https://github.com/OSGeo/proj.4/issues/954>`_)
|
||||
|
||||
* Avoid errors when setting up geos with +lat_0!=0 (`#986 <https://github.com/OSGeo/proj.4/issues/986>`_)
|
||||
|
||||
* Reset errno when running :program:`proj` in verbose mode (`#988 <https://github.com/OSGeo/proj.4/issues/988>`_)
|
||||
|
||||
* Do not interpolate node values at nodata value in vertical
|
||||
grid shifts (`#1004 <https://github.com/OSGeo/proj.4/issues/1004>`_)
|
||||
|
||||
* Restrict Horner degrees to positive integer values to avoid
|
||||
memory allocation issues (`#1005 <https://github.com/OSGeo/proj.4/issues/1005>`_)
|
||||
|
||||
|
||||
|
||||
PROJ 5.0.1
|
||||
++++++++++++++++++++++++++++++++++++++++
|
||||
*March 1st 2018*
|
||||
|
||||
Bug fixes
|
||||
---------
|
||||
|
||||
* Handle ellipsoid change correctly in pipelines when ``+towgs84=0,0,0`` is set (`#881 <https://github.com/OSGeo/proj.4/issues/881>`_)
|
||||
|
||||
|
||||
* Handle the case where nad_ctable2_init returns NULL (`#883 <https://github.com/OSGeo/proj.4/issues/883>`_)
|
||||
|
||||
|
||||
* Avoid shadowed declaration errors with old gcc (`#880 <https://github.com/OSGeo/proj.4/issues/880>`_)
|
||||
|
||||
|
||||
* Expand ``+datum`` properly in pipelines (`#872 <https://github.com/OSGeo/proj.4/issues/872>`_)
|
||||
|
||||
|
||||
* Fail gracefully when incorrect headers are encountered in grid files (`#875 <https://github.com/OSGeo/proj.4/issues/875>`_)
|
||||
|
||||
|
||||
* Improve roundtrip stability in pipelines using ``+towgs84`` (`#871 <https://github.com/OSGeo/proj.4/issues/871>`_)
|
||||
|
||||
|
||||
* Fixed typo in gie error codes (`#861 <https://github.com/OSGeo/proj.4/issues/861>`_)
|
||||
|
||||
|
||||
* Numerical stability fixes to the geodesic package (`#826 <https://github.com/OSGeo/proj.4/issues/826>`_ & `#843 <https://github.com/OSGeo/proj.4/issues/843>`_)
|
||||
|
||||
|
||||
* Make sure that transient errors are returned correctly (`#857 <https://github.com/OSGeo/proj.4/issues/857>`_)
|
||||
|
||||
|
||||
* Make sure that locally installed header files are not used when building PROJ (`#849 <https://github.com/OSGeo/proj.4/issues/849>`_)
|
||||
|
||||
|
||||
* Fix inconsistent parameter names in ``proj.h``/``proj_4D_api.c`` (`#842 <https://github.com/OSGeo/proj.4/issues/842>`_)
|
||||
|
||||
|
||||
* Make sure ``+vunits`` is applied (`#833 <https://github.com/OSGeo/proj.4/issues/833>`_)
|
||||
|
||||
|
||||
* Fix incorrect Web Mercator transformations (`#834 <https://github.com/OSGeo/proj.4/issues/834>`_)
|
||||
|
||||
|
||||
|
||||
PROJ 5.0.0
|
||||
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
*February 1st 2018*
|
||||
|
||||
This version of PROJ introduces some significant extensions and
|
||||
improvements to (primarily) the geodetic functionality of the system.
|
||||
|
||||
The main driver for introducing the new features is the emergence of
|
||||
dynamic reference frames, the increasing use of high accuracy GNSS,
|
||||
and the related growing demand for accurate coordinate
|
||||
transformations. While older versions of PROJ included some geodetic
|
||||
functionality, the new framework lays the foundation for turning PROJ
|
||||
into a generic geospatial coordinate transformation engine.
|
||||
|
||||
The core of the library is still the well established projection code.
|
||||
The new functionality is primarily exposed in a new programming
|
||||
interface and a new command line utility, :ref:`cct<cct>`
|
||||
(for "Coordinate Conversion and Transformation"). The old programming interface is
|
||||
still available and can - to some extent - use the new geodetic
|
||||
transformation features.
|
||||
|
||||
The internal architecture has also seen many changes and much
|
||||
improvement. So far, these improvements respect the existing
|
||||
programming interface. But the process has revealed a need to simplify
|
||||
and reduce the code base, in order to support sustained active
|
||||
development.
|
||||
|
||||
|
||||
**Therefore we have scheduled regular releases over the coming years**
|
||||
**which will gradually remove the old programming interface.**
|
||||
|
||||
**This will cause breaking changes with the next two major version**
|
||||
**releases, which will affect all projects that depend on PROJ**
|
||||
**(cf. section "deprecations" below).**
|
||||
|
||||
The decision to break the existing API has not been easy, but has
|
||||
ultimately been deemed necessary to ensure the long term survival of
|
||||
the project. Not only by improving the maintainability immensely, but
|
||||
also by extending the potential user (and hence developer) community.
|
||||
|
||||
The end goal is to deliver a generic coordinate transformation
|
||||
software package with a clean and concise code base appealing to
|
||||
both users and developers.
|
||||
|
||||
|
||||
Versioning and naming
|
||||
---------------------
|
||||
|
||||
For the first time in more than 25 years the major version number of
|
||||
the software is changed. The decision to do this is based on the many
|
||||
new features and new API. While backwards compatibility remains -
|
||||
except in a few rare corner cases - the addition of a new and improved
|
||||
programming interface warrants a new major release.
|
||||
|
||||
The new major version number unfortunately leaves the project in a bit
|
||||
of a conundrum regarding the name. For the majority of the life-time
|
||||
of the product it has been known as PROJ.4, but since we have now
|
||||
reached version 5 the name is no longer aligned with the version
|
||||
number.
|
||||
|
||||
Hence we have decided to decouple the name from the version number and
|
||||
from this version and onwards the product will simply be called PROJ.
|
||||
|
||||
In recognition of the history of the software we are keeping PROJ.4 as
|
||||
the *name of the organizing project*. The same project team also
|
||||
produces the datum-grid package.
|
||||
|
||||
In summary:
|
||||
|
||||
* The PROJ.4 project provides the product PROJ, which is now at
|
||||
version 5.0.0.
|
||||
|
||||
* The foundational component of PROJ is the library libproj.
|
||||
|
||||
* Other PROJ components include the application proj, which provides
|
||||
a command line interface to libproj.
|
||||
|
||||
* The PROJ.4 project also distributes the datum-grid package,
|
||||
which at the time of writing is at version 1.6.0.
|
||||
|
||||
Updates
|
||||
-------
|
||||
|
||||
* Introduced new API in ``proj.h``.
|
||||
|
||||
- The new API is orthogonal to the existing ``proj_api.h`` API and the internally used ``projects.h`` API.
|
||||
|
||||
- The new API adds the ability to transform spatiotemporal (4D) coordinates.
|
||||
|
||||
- Functions in the new API use the ``proj_`` namespace.
|
||||
|
||||
- Data types in the new API use the ``PJ_`` namespace.
|
||||
|
||||
* Introduced the concept of "transformation pipelines" that makes possible to do complex geodetic transformations of coordinates by daisy chaining simple coordinate operations.
|
||||
|
||||
* Introduced :ref:`cct`, the Coordinate Conversion and Transformation application.
|
||||
|
||||
* Introduced :ref:`gie`, the Geospatial Integrity Investigation Environment.
|
||||
|
||||
- Selftest invoked by ``-C`` flag in :ref:`proj` has been removed
|
||||
- Ported approx. 1300 built-in selftests to :ref:`gie` format
|
||||
- Ported approx. 1000 tests from the gigs test framework
|
||||
- Added approx. 200 new tests
|
||||
|
||||
* Adopted terminology from the OGC/ISO-19100 geospatial standards series. Key definitions are:
|
||||
|
||||
- At the most generic level, a *coordinate operation* is a change of coordinates, based on a one-to-one relationship, from one coordinate reference system to another.
|
||||
|
||||
- A *transformation* is a coordinate operation in which the two coordinate reference systems are based on different datums, e.g. a change from a global reference frame to a regional frame.
|
||||
|
||||
- A *conversion* is a coordinate operation in which both coordinate reference systems are based on the same datum, e.g. change of units of coordinates.
|
||||
|
||||
- A *projection* is a coordinate conversion from an ellipsoidal coordinate system to a plane. Although projections are simply conversions according to the standard, they are treated as separate entities in PROJ as they make up the vast majority of operations in the library.
|
||||
|
||||
* New operations
|
||||
|
||||
- :ref:`The pipeline operator<pipeline>` (``pipeline``)
|
||||
|
||||
- Transformations
|
||||
+ :ref:`Helmert transform<helmert>` (``helmert``)
|
||||
+ Horner real and complex polynomial evaluation (``horner``)
|
||||
+ :ref:`Horizontal gridshift<hgridshift>` (``hgridshift``)
|
||||
+ :ref:`Vertical gridshift<vgridshift>` (``vgridshift``)
|
||||
+ :ref:`Molodensky transform<molodensky>` (``molodensky``)
|
||||
+ :ref:`Kinematic gridshift with deformation model<deformation>` (``deformation``)
|
||||
|
||||
- Conversions
|
||||
+ :ref:`Unit conversion<unitconvert>` (``unitconvert``)
|
||||
+ :ref:`Axis swap<axisswap>` (``axisswap``)
|
||||
|
||||
- Projections
|
||||
+ :ref:`Central Conic projection<ccon>` (``ccon``)
|
||||
|
||||
* Significant documentation updates, including
|
||||
|
||||
- Overhaul of the structure of the documentation
|
||||
- A better introduction to the use of PROJ
|
||||
- :ref:`A complete reference to the new API<reference>`
|
||||
- a complete rewrite of the section on geodesic calculations
|
||||
- Figures for all projections
|
||||
|
||||
* New "free format" option for operation definitions, which permits separating tokens by whitespace when specifying key/value- pairs, e.g. ``proj = merc lat_0 = 45``.
|
||||
|
||||
* Added metadata to init-files that can be read with the :c:func:`proj_init_info` function in the new ``proj.h`` API.
|
||||
|
||||
* Added ITRF2000, ITRF2008 and ITRF2014 init-files with ITRF transformation parameters, including plate motion model parameters.
|
||||
|
||||
* Added ellipsoid parameters for GSK2011, PZ90 and "danish". The latter is similar to the already supported andrae ellipsoid, but has a slightly different semimajor axis.
|
||||
|
||||
* Added Copenhagen prime meridian.
|
||||
|
||||
* Updated EPSG database to version 9.2.0.
|
||||
|
||||
* Geodesic library updated to version 1.49.2-c.
|
||||
|
||||
* Support for analytical partial derivatives has been removed.
|
||||
|
||||
* Improved performance in Winkel Tripel and Aitoff.
|
||||
|
||||
* Introduced ``pj_has_inverse()`` function to ``proj_api.h``. Checks if an operation has an inverse. Use this instead of checking whether ``P->inv`` exists, since that can no longer be relied on.
|
||||
|
||||
* ABI version number updated to 13:0:0.
|
||||
|
||||
* Removed support for Windows CE.
|
||||
|
||||
* Removed the VB6 COM interface.
|
||||
|
||||
Bug fixes
|
||||
---------
|
||||
|
||||
* Fixed incorrect convergence calculation in Lambert Conformal Conic. (`#16 <https://github.com/OSGeo/proj.4/issues/16>`_)
|
||||
|
||||
|
||||
* Handle ellipsoid parameters correctly when using ``+nadgrids=@null``. (`#22 <https://github.com/OSGeo/proj.4/issues/22>`_)
|
||||
|
||||
|
||||
* Return correct latitude when using negative northings in Transverse Mercator. (`#138 <https://github.com/OSGeo/proj.4/issues/138>`_)
|
||||
|
||||
|
||||
* Return correct result at origin in inverse Mod. Stereographic of Alaska. (`#161 <https://github.com/OSGeo/proj.4/issues/161>`_)
|
||||
|
||||
|
||||
* Return correct result at origin in inverse Mod. Stereographic of 48 U.S. (`#162 <https://github.com/OSGeo/proj.4/issues/162>`_)
|
||||
|
||||
|
||||
* Return correct result at origin in inverse Mod. Stereographic of 50 U.S. (`#163 <https://github.com/OSGeo/proj.4/issues/163>`_)
|
||||
|
||||
|
||||
* Return correct result at origin in inverse Lee Oblated Stereographic. (`#164 <https://github.com/OSGeo/proj.4/issues/164>`_)
|
||||
|
||||
|
||||
* Return correct result at origin in inverse Miller Oblated Stereographic. (`#165 <https://github.com/OSGeo/proj.4/issues/165>`_)
|
||||
|
||||
|
||||
* Fixed scaling and wrap-around issues in Oblique Cylindrical Equal Area. (`#166 <https://github.com/OSGeo/proj.4/issues/166>`_)
|
||||
|
||||
|
||||
* Corrected a coefficient error in inverse Transverse Mercator. (`#174 <https://github.com/OSGeo/proj.4/issues/174>`_)
|
||||
|
||||
* Respect ``-r`` flag when calling :program:`proj` with ``-V``. (`#184 <https://github.com/OSGeo/proj.4/issues/184>`_)
|
||||
|
||||
* Remove multiplication by 2 at the equator error in Stereographic projection. (`#194 <https://github.com/OSGeo/proj.4/issues/194>`_)
|
||||
|
||||
* Allow +alpha=0 and +gamma=0 when using Oblique Mercator. (`#195 <https://github.com/OSGeo/proj.4/issues/195>`_)
|
||||
|
||||
* Return correct result of inverse Oblique Mercator when alpha is between 90 and 270. (`#331 <https://github.com/OSGeo/proj.4/issues/331>`_)
|
||||
|
||||
* Avoid segmentation fault when accessing point outside grid. (`#396 <https://github.com/OSGeo/proj.4/issues/396>`_)
|
||||
|
||||
* Avoid segmentation fault on NaN input in Robin inverse. (`#463 <https://github.com/OSGeo/proj.4/issues/463>`_)
|
||||
|
||||
* Very verbose use of :program:`proj` (``-V``) on Windows is fixed. (`#484 <https://github.com/OSGeo/proj.4/issues/484>`_)
|
||||
|
||||
* Fixed memory leak in General Oblique Transformation. (`#497 <https://github.com/OSGeo/proj.4/issues/497>`_)
|
||||
|
||||
* Equations for meridian convergence and partial derivatives have
|
||||
been corrected for non-conformal projections. (`#526 <https://github.com/OSGeo/proj.4/issues/526>`_)
|
||||
|
||||
* Fixed scaling of cartesian coordinates in ``pj_transform()``. (`#726 <https://github.com/OSGeo/proj.4/issues/726>`_)
|
||||
|
||||
* Additional bug fixes courtesy of `Google's OSS-Fuzz program <https://bugs.chromium.org/p/oss-fuzz/issues/list?can=1&q=proj4>`_
|
||||
@@ -1,23 +1,36 @@
|
||||
.. _cart:
|
||||
|
||||
================================================================================
|
||||
Cartesian to geodetic conversion
|
||||
Geodetic to cartesian conversion
|
||||
================================================================================
|
||||
|
||||
.. versionadded:: 5.0.0
|
||||
|
||||
Convert geodetic coordinates to cartesian coordinates.
|
||||
Convert geodetic coordinates to cartesian coordinates (in the forward path).
|
||||
|
||||
+---------------------+--------------------------------------------------------+
|
||||
| **Alias** | cart |
|
||||
+---------------------+--------------------------------------------------------+
|
||||
| **Domain** | 3D |
|
||||
+---------------------+--------------------------------------------------------+
|
||||
| **Input type** | Cartesian coordinates |
|
||||
| **Input type** | Geodetic coordinates |
|
||||
+---------------------+--------------------------------------------------------+
|
||||
| **Output type** | Cartesian coordinates |
|
||||
| **Output type** | Geocentric cartesian coordinates |
|
||||
+---------------------+--------------------------------------------------------+
|
||||
|
||||
This conversion converts geodetic coordinate values (longitude, latitude,
|
||||
elevation above ellipsoid) to their geocentric (X, Y, Z) representation, where
|
||||
the first axis (X) points from the Earth centre to the point of longitude=0,
|
||||
latitude=0, the second axis (Y) points from the Earth centrer to the point of
|
||||
longitude=90, latitude=0 and the third axis (Z) points to the North pole.
|
||||
|
||||
Usage
|
||||
################################################################################
|
||||
|
||||
Convert geodetic coordinates to GRS80 cartesian coordinates::
|
||||
|
||||
echo 17.7562015132 45.3935192042 133.12 2017.8 | cct +proj=cart +ellps=GRS80
|
||||
4272922.1553 1368283.0597 4518261.3501 2017.8000
|
||||
|
||||
Parameters
|
||||
################################################################################
|
||||
|
||||
@@ -0,0 +1,75 @@
|
||||
.. _geoc:
|
||||
|
||||
================================================================================
|
||||
Geocentric Latitude
|
||||
================================================================================
|
||||
|
||||
.. versionadded:: 5.0.0
|
||||
|
||||
Convert from Geodetic Latitude to Geocentric Latitude (in the forward path).
|
||||
|
||||
+---------------------+--------------------------------------------------------+
|
||||
| **Alias** | geoc |
|
||||
+---------------------+--------------------------------------------------------+
|
||||
| **Domain** | 2D |
|
||||
+---------------------+--------------------------------------------------------+
|
||||
| **Input type** | Geodetic coordinates |
|
||||
+---------------------+--------------------------------------------------------+
|
||||
| **Output type** | Geocentric angular coordinates |
|
||||
+---------------------+--------------------------------------------------------+
|
||||
|
||||
The geodetic (or geographic) latitude (also called planetographic latitude
|
||||
in the context of non-Earth bodies) is the angle between the equatorial plane
|
||||
and the normal (vertical) to the ellipsoid surface at the considered point.
|
||||
The geodetic latitude is what is normally used everywhere in PROJ when angular
|
||||
coordinates are expected or produced.
|
||||
|
||||
The geocentric latitude (also called planetocentric latitude in the context of
|
||||
non-Earth bodies) is the angle between the equatorial plane and a line joining
|
||||
the body centre to the considered point.
|
||||
|
||||
.. image:: ./images/geocentric_latitude.png
|
||||
:align: center
|
||||
:scale: 100%
|
||||
:alt: Geocentric latitude
|
||||
|
||||
|
||||
.. note::
|
||||
|
||||
This conversion must be distinguished fom the :ref:`cart`
|
||||
which converts geodetic coordinates to geocentric coordinates in the cartesian
|
||||
domain.
|
||||
|
||||
Mathematical definition
|
||||
#######################
|
||||
|
||||
The formulas describing the conversion are taken from :cite:`Snyder1987`
|
||||
(equation 3-28)
|
||||
|
||||
Let :math:`\phi'` to be the geocentric latitude and :math:`\phi` the
|
||||
geodetic latitude, then
|
||||
|
||||
.. math::
|
||||
|
||||
\phi' = \arctan \left[ (1 - e^2) \tan \left( \phi \right) \right]
|
||||
|
||||
The geocentric latitude is consequently lesser (in absolute value) than the geodetic
|
||||
latitude, except at the equator and the poles where they are equal.
|
||||
|
||||
On a sphere, they are always equal.
|
||||
|
||||
Usage
|
||||
################################################################################
|
||||
|
||||
Converting from geodetic latitude to geocentric latitude::
|
||||
|
||||
+proj=geoc +ellps=GRS80
|
||||
|
||||
Converting from geocentric latitude to geodetic latitude::
|
||||
|
||||
+proj=pipeline +step +proj=geoc +inv +ellps=GRS80
|
||||
|
||||
Parameters
|
||||
################################################################################
|
||||
|
||||
.. include:: ../options/ellps.rst
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 13 KiB |
@@ -0,0 +1,222 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
width="140mm"
|
||||
height="80mm"
|
||||
viewBox="0 0 496.06299 283.46457"
|
||||
id="svg2"
|
||||
version="1.1"
|
||||
inkscape:version="0.91 r13725"
|
||||
sodipodi:docname="geocentric_latitude.svg"
|
||||
inkscape:export-filename="/home/even/geocentric_latitude.png"
|
||||
inkscape:export-xdpi="90"
|
||||
inkscape:export-ydpi="90">
|
||||
<defs
|
||||
id="defs4" />
|
||||
<sodipodi:namedview
|
||||
id="base"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:zoom="1.4"
|
||||
inkscape:cx="-24.364532"
|
||||
inkscape:cy="179.59147"
|
||||
inkscape:document-units="px"
|
||||
inkscape:current-layer="layer1"
|
||||
showgrid="false"
|
||||
inkscape:window-width="1920"
|
||||
inkscape:window-height="1004"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="24"
|
||||
inkscape:window-maximized="1"
|
||||
fit-margin-top="0"
|
||||
fit-margin-left="0"
|
||||
fit-margin-right="0"
|
||||
fit-margin-bottom="0" />
|
||||
<metadata
|
||||
id="metadata7">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
<dc:title></dc:title>
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<g
|
||||
inkscape:label="Calque 1"
|
||||
inkscape:groupmode="layer"
|
||||
id="layer1"
|
||||
transform="translate(-147.57144,-187.04048)">
|
||||
<ellipse
|
||||
style="fill:none;fill-opacity:1;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
||||
id="path3336"
|
||||
cx="360"
|
||||
cy="335.21933"
|
||||
rx="210"
|
||||
ry="118.57143" />
|
||||
<path
|
||||
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="m 150.01742,328.40826 419.30163,-0.75019"
|
||||
id="path3338"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="cc" />
|
||||
<path
|
||||
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.96771652px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="m 363.32468,217.04313 0.16174,236.75597"
|
||||
id="path3340"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="cc" />
|
||||
<path
|
||||
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="M 362.28019,328.82684 500.94901,247.46623"
|
||||
id="path3342"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="cc" />
|
||||
<path
|
||||
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="m 444.633,218.67689 110.86424,56.316"
|
||||
id="path3346"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="m 458.01752,327.77337 70.2056,-130.05715"
|
||||
id="path3348"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="cc" />
|
||||
<path
|
||||
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="m 504.232,242.92055 5.05076,2.27284 -2.77792,4.79823"
|
||||
id="path3350"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="m 478.21428,328.07649 c 0,0 3.34873,-9.57295 -10.49045,-17.89492"
|
||||
id="path4172"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="cc" />
|
||||
<path
|
||||
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.71625429px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="m 381.31112,328.6754 c 0,0 1.06694,-7.99101 -5.65105,-7.9116"
|
||||
id="path4172-3"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="cc" />
|
||||
<path
|
||||
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="m 468.62412,315.90407 -0.75761,-5.55584 5.80838,-0.25253"
|
||||
id="path4189"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="m 376.70024,324.23783 0.25254,-3.78807 5.3033,-0.25254"
|
||||
id="path4191"
|
||||
inkscape:connector-curvature="0" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-weight:normal;font-size:12.5px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
x="458.19504"
|
||||
y="341.07974"
|
||||
id="text4193"
|
||||
sodipodi:linespacing="125%"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan4195"
|
||||
x="458.19504"
|
||||
y="341.07974">Geodetic</tspan><tspan
|
||||
sodipodi:role="line"
|
||||
x="458.19504"
|
||||
y="356.70474"
|
||||
id="tspan4197">latitude</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-weight:normal;font-size:15px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
x="366.77863"
|
||||
y="341.95016"
|
||||
id="text4193-6"
|
||||
sodipodi:linespacing="125%"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan4195-7"
|
||||
x="366.77863"
|
||||
y="341.95016"
|
||||
style="font-size:12.5px">Geocentric</tspan><tspan
|
||||
sodipodi:role="line"
|
||||
x="366.77863"
|
||||
y="357.57516"
|
||||
id="tspan4197-5"
|
||||
style="font-size:12.5px">latitude</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-weight:normal;font-size:15px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
x="478.72565"
|
||||
y="317.92438"
|
||||
id="text4220"
|
||||
sodipodi:linespacing="125%"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan4222"
|
||||
x="478.72565"
|
||||
y="317.92438">φ</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-weight:normal;font-size:15px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
x="394.50311"
|
||||
y="322.51547"
|
||||
id="text4220-3"
|
||||
sodipodi:linespacing="125%"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan4222-5"
|
||||
x="394.50311"
|
||||
y="322.51547">φ'</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-weight:normal;font-size:12.5px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
x="159.38527"
|
||||
y="340.53079"
|
||||
id="text4193-62"
|
||||
sodipodi:linespacing="125%"><tspan
|
||||
sodipodi:role="line"
|
||||
x="159.38527"
|
||||
y="340.53079"
|
||||
id="tspan4197-1">Equatorial plane</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-weight:normal;font-size:12.5px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
x="331.11118"
|
||||
y="209.21098"
|
||||
id="text4193-62-2"
|
||||
sodipodi:linespacing="125%"><tspan
|
||||
sodipodi:role="line"
|
||||
x="331.11118"
|
||||
y="209.21098"
|
||||
id="tspan4197-1-0">North pole</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-weight:normal;font-size:10px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
x="526.23138"
|
||||
y="211.77133"
|
||||
id="text4193-62-9"
|
||||
sodipodi:linespacing="125%"><tspan
|
||||
sodipodi:role="line"
|
||||
x="526.23138"
|
||||
y="211.77133"
|
||||
id="tspan4197-1-3">Normal to</tspan><tspan
|
||||
sodipodi:role="line"
|
||||
x="526.23138"
|
||||
y="224.27133"
|
||||
id="tspan4306">the ellipsoid</tspan><tspan
|
||||
sodipodi:role="line"
|
||||
x="526.23138"
|
||||
y="236.77133"
|
||||
id="tspan4308">surface</tspan></text>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 9.1 KiB |
@@ -13,5 +13,6 @@ conversions.
|
||||
|
||||
axisswap
|
||||
cart
|
||||
geoc
|
||||
latlon
|
||||
unitconvert
|
||||
|
||||
@@ -6,7 +6,7 @@ Unit conversion
|
||||
|
||||
.. versionadded:: 5.0.0
|
||||
|
||||
Convert between various distance and time units.
|
||||
Convert between various distance, angular and time units.
|
||||
|
||||
+---------------------+--------------------------------------------------------+
|
||||
| **Alias** | unitconvert |
|
||||
@@ -27,7 +27,7 @@ Many North American systems are defined with coordinates in feet. For example
|
||||
in Vermont::
|
||||
|
||||
+proj=pipeline
|
||||
+step +proj=tmerc +lat_0=42.5 +lon_0=-72.5 +k=0.999964286 +x_0=500000.00001016 +y_0=0
|
||||
+step +proj=tmerc +lat_0=42.5 +lon_0=-72.5 +k_0=0.999964286 +x_0=500000.00001016 +y_0=0
|
||||
+step +proj=unitconvert +xy_in=m +xy_out=us-ft
|
||||
|
||||
Often when working with GNSS data the timestamps are presented in GPS-weeks,
|
||||
@@ -35,30 +35,38 @@ but when the data transformed with the `helmert` operation timestamps are
|
||||
expected to be in units of decimalyears. This can be fixed with `unitconvert`::
|
||||
|
||||
+proj=pipeline
|
||||
+step +proj=unitconvert +t_in=gpsweek +t_out=decimalyear
|
||||
+step +proj=unitconvert +t_in=gps_week +t_out=decimalyear
|
||||
+step +proj=helmert +epoch=2000.0 +t_obs=2017.5 ...
|
||||
|
||||
Parameters
|
||||
################################################################################
|
||||
|
||||
.. option:: +xy_in=<unit>
|
||||
.. option:: +xy_in=<unit> or <conversion_factor>
|
||||
|
||||
Horizontal input units. See :ref:`distance_units` for a list of available
|
||||
Horizontal input units. See :ref:`distance_units` and :ref:`angular_units`
|
||||
for a list of available units. `<conversion_factor>` is the conversion factor
|
||||
from the input unit to metre for linear units, or to radian for angular
|
||||
units.
|
||||
|
||||
.. option:: +xy_out=<unit>
|
||||
.. option:: +xy_out=<unit> or <conversion_factor>
|
||||
|
||||
Horizontal output units. See :ref:`distance_units` for a list of available
|
||||
Horizontal output units. See :ref:`distance_units` and :ref:`angular_units`
|
||||
for a list of available units. `<conversion_factor>` is the conversion factor
|
||||
from the output unit to metre for linear units, or to radian for angular
|
||||
units.
|
||||
|
||||
.. option:: +z_in=<unit>
|
||||
.. option:: +z_in=<unit> or <conversion_factor>
|
||||
|
||||
Vertical output units. See :ref:`distance_units` for a list of available
|
||||
Vertical output units. See :ref:`distance_units` and :ref:`angular_units`
|
||||
for a list of available units. `<conversion_factor>` is the conversion factor
|
||||
from the input unit to metre for linear units, or to radian for angular
|
||||
units.
|
||||
|
||||
.. option:: +z_out=<unit>
|
||||
.. option:: +z_out=<unit> or <conversion_factor>
|
||||
|
||||
Vertical output units. See :ref:`distance_units` for a list of available
|
||||
Vertical output units. See :ref:`distance_units` and :ref:`angular_units`
|
||||
for a list of available units. `<conversion_factor>` is the conversion factor
|
||||
from the output unit to metre for linear units, or to radian for angular
|
||||
units.
|
||||
|
||||
.. option:: +t_in=<unit>
|
||||
@@ -74,7 +82,7 @@ Parameters
|
||||
Distance units
|
||||
###############################################################################
|
||||
|
||||
In the table below all distance units supported by PROJ is listed.
|
||||
In the table below all distance units supported by PROJ are listed.
|
||||
The same list can also be produced on the command line with :program:`proj` or
|
||||
:program:`cs2cs`, by adding the `-lu` flag when calling the utility.
|
||||
|
||||
@@ -124,12 +132,31 @@ The same list can also be produced on the command line with :program:`proj` or
|
||||
| ind-ch | Indian Chain |
|
||||
+----------+---------------------------------+
|
||||
|
||||
.. _angular_units:
|
||||
|
||||
Angular units
|
||||
###############################################################################
|
||||
|
||||
.. versionadded:: 5.2.0
|
||||
|
||||
In the table below all angular units supported by PROJ `unitconvert` are listed.
|
||||
|
||||
+----------+---------------------------------+
|
||||
| **Label**| **Name** |
|
||||
+----------+---------------------------------+
|
||||
| deg | Degree |
|
||||
+----------+---------------------------------+
|
||||
| grad | Grad |
|
||||
+----------+---------------------------------+
|
||||
| rad | Radian |
|
||||
+----------+---------------------------------+
|
||||
|
||||
.. _time_units:
|
||||
|
||||
Time units
|
||||
###############################################################################
|
||||
|
||||
In the table below all time units supported by PROJ is listed.
|
||||
In the table below all time units supported by PROJ are listed.
|
||||
|
||||
+--------------+-----------------------------+
|
||||
| **label** | **Name** |
|
||||
|
||||
@@ -34,5 +34,3 @@ Options
|
||||
.. include:: ../options/y_0.rst
|
||||
|
||||
.. include:: ../options/ellps.rst
|
||||
|
||||
.. include:: ../options/R.rst
|
||||
|
||||
@@ -6,5 +6,17 @@ August Epicycloidal
|
||||
|
||||
.. image:: ./images/august.png
|
||||
:scale: 50%
|
||||
:alt: August Epicycloidal
|
||||
:alt: August Epicycloidal
|
||||
|
||||
Parameters
|
||||
################################################################################
|
||||
|
||||
.. note:: All options are optional for the August Epicycloidal projection.
|
||||
|
||||
.. include:: ../options/lon_0.rst
|
||||
|
||||
.. include:: ../options/R.rst
|
||||
|
||||
.. include:: ../options/x_0.rst
|
||||
|
||||
.. include:: ../options/y_0.rst
|
||||
|
||||
@@ -6,5 +6,17 @@ Bacon Globular
|
||||
|
||||
.. image:: ./images/bacon.png
|
||||
:scale: 50%
|
||||
:alt: Bacon Globular
|
||||
:alt: Bacon Globular
|
||||
|
||||
Parameters
|
||||
################################################################################
|
||||
|
||||
.. note:: All parameters are optional for the Bacon Globular projection.
|
||||
|
||||
.. include:: ../options/lon_0.rst
|
||||
|
||||
.. include:: ../options/R.rst
|
||||
|
||||
.. include:: ../options/x_0.rst
|
||||
|
||||
.. include:: ../options/y_0.rst
|
||||
|
||||
@@ -6,5 +6,21 @@ Bipolar conic of western hemisphere
|
||||
|
||||
.. image:: ./images/bipc.png
|
||||
:scale: 50%
|
||||
:alt: Bipolar conic of western hemisphere
|
||||
:alt: Bipolar conic of western hemisphere
|
||||
|
||||
Parameters
|
||||
################################################################################
|
||||
|
||||
.. note:: All options are optional for the Bipolar Conic projection.
|
||||
|
||||
.. option:: +ns
|
||||
|
||||
Return non-skewed cartesian coordinates.
|
||||
|
||||
.. include:: ../options/lon_0.rst
|
||||
|
||||
.. include:: ../options/R.rst
|
||||
|
||||
.. include:: ../options/x_0.rst
|
||||
|
||||
.. include:: ../options/y_0.rst
|
||||
|
||||
@@ -6,5 +6,17 @@ Boggs Eumorphic
|
||||
|
||||
.. image:: ./images/boggs.png
|
||||
:scale: 50%
|
||||
:alt: Boggs Eumorphic
|
||||
:alt: Boggs Eumorphic
|
||||
|
||||
Parameters
|
||||
################################################################################
|
||||
|
||||
.. note:: All options are optional for the Boggs Eumorphic projection.
|
||||
|
||||
.. include:: ../options/lon_0.rst
|
||||
|
||||
.. include:: ../options/R.rst
|
||||
|
||||
.. include:: ../options/x_0.rst
|
||||
|
||||
.. include:: ../options/y_0.rst
|
||||
|
||||
@@ -6,5 +6,25 @@ Bonne (Werner lat_1=90)
|
||||
|
||||
.. image:: ./images/bonne.png
|
||||
:scale: 50%
|
||||
:alt: Bonne (Werner lat_1=90)
|
||||
:alt: Bonne (Werner lat_1=90)
|
||||
|
||||
Parameters
|
||||
################################################################################
|
||||
|
||||
Required
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
.. include:: ../options/lat_1.rst
|
||||
|
||||
Optional
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
.. include:: ../options/lon_0.rst
|
||||
|
||||
.. include:: ../options/ellps.rst
|
||||
|
||||
.. include:: ../options/R.rst
|
||||
|
||||
.. include:: ../options/x_0.rst
|
||||
|
||||
.. include:: ../options/y_0.rst
|
||||
|
||||
@@ -82,8 +82,8 @@ Options
|
||||
Mathematical definition
|
||||
################################################################################
|
||||
|
||||
The algorithm used to make conversions is described in [EberHewitt1979]_ with
|
||||
a few corrections reported in [WeberMoore2013]_.
|
||||
The algorithm used to make conversions is described in :cite:`EberHewitt1979` with
|
||||
a few corrections reported in :cite:`WeberMoore2013`.
|
||||
|
||||
|
||||
Further reading
|
||||
|
||||
@@ -30,7 +30,7 @@ Although the Cassini projection has been largely replaced by the Transverse Merc
|
||||
Usage
|
||||
#####
|
||||
|
||||
There has been little usage of the spherical version of the Cassini, but the ellipsoidal Cassini-Soldner version was adopted by the Ordnance Survey for the official survey of Great Britain during the second half of the 19th century [Steers1970]_.
|
||||
There has been little usage of the spherical version of the Cassini, but the ellipsoidal Cassini-Soldner version was adopted by the Ordnance Survey for the official survey of Great Britain during the second half of the 19th century :cite:`Steers1970`.
|
||||
Many of these maps were prepared at a scale of 1:2,500.
|
||||
The Cassini-Soldner was also used for the detailed mapping of many German states during the same period.
|
||||
|
||||
@@ -67,7 +67,7 @@ Options
|
||||
Mathematical definition
|
||||
#######################
|
||||
|
||||
The formulas describing the Cassini projection are taken from Snyder's [Snyder1987]_.
|
||||
The formulas describing the Cassini projection are taken from :cite:`Snyder1987`.
|
||||
|
||||
:math:`\phi_0` is the latitude of origin that match the center of the map (default to 0). It can be set with ``+lat_0``.
|
||||
|
||||
@@ -162,5 +162,4 @@ Further reading
|
||||
###############
|
||||
|
||||
#. `Wikipedia <https://en.wikipedia.org/wiki/Equirectangular_projection>`_
|
||||
#. [Snyder1987]_
|
||||
#. `EPSG, POSC literature pertaining to Coordinate Conversions and Transformations including Formulas <http://www.ihsenergy.com/epsg/guid7.pdf>`_
|
||||
|
||||
@@ -6,5 +6,17 @@ Central Cylindrical
|
||||
|
||||
.. image:: ./images/cc.png
|
||||
:scale: 50%
|
||||
:alt: Central Cylindrical
|
||||
:alt: Central Cylindrical
|
||||
|
||||
Parameters
|
||||
################################################################################
|
||||
|
||||
.. note:: All parameters are optional for the Central Cylindricla projection.
|
||||
|
||||
.. include:: ../options/lon_0.rst
|
||||
|
||||
.. include:: ../options/R.rst
|
||||
|
||||
.. include:: ../options/x_0.rst
|
||||
|
||||
.. include:: ../options/y_0.rst
|
||||
|
||||
@@ -39,7 +39,7 @@ conformal.
|
||||
|
||||
An example of usage (and the main reason to implement this projection in proj4)
|
||||
is the ATPOL geobotanical grid of Poland, developed in Institute of Botany,
|
||||
Jagiellonian University, Krakow, Poland in 1970s [Zajac1978]_. The grid was
|
||||
Jagiellonian University, Krakow, Poland in 1970s :cite:`Zajac1978`. The grid was
|
||||
originally handwritten on paper maps and further copied by hand. The projection
|
||||
(together with strange Earth radius) was chosen by its creators as the compromise
|
||||
fit to existing maps during first software development in DOS era. Many years later
|
||||
@@ -51,7 +51,7 @@ The ATPOL coordinates can be achieved with with the following parameters:
|
||||
|
||||
+proj=ccon +lat_1=52 +lon_0=19 +axis=esu +a=6390000 +x_0=330000 +y_0=-350000
|
||||
|
||||
For more information see [Komsta2016]_ and [Verey2017]_.
|
||||
For more information see :cite:`Komsta2016` and :cite:`Verey2017`.
|
||||
|
||||
Parameters
|
||||
################################################################################
|
||||
|
||||
@@ -6,5 +6,23 @@ Equal Area Cylindrical
|
||||
|
||||
.. image:: ./images/cea.png
|
||||
:scale: 50%
|
||||
:alt: Equal Area Cylindrical
|
||||
:alt: Equal Area Cylindrical
|
||||
|
||||
Parameters
|
||||
################################################################################
|
||||
|
||||
.. note:: All parameters are optional for the Equal Area Cylindrical projection.
|
||||
|
||||
.. include:: ../options/lat_ts.rst
|
||||
|
||||
.. include:: ../options/lon_0.rst
|
||||
|
||||
.. include:: ../options/ellps.rst
|
||||
|
||||
.. include:: ../options/R.rst
|
||||
|
||||
.. include:: ../options/k_0.rst
|
||||
|
||||
.. include:: ../options/x_0.rst
|
||||
|
||||
.. include:: ../options/y_0.rst
|
||||
|
||||
@@ -6,5 +6,45 @@ Chamberlin Trimetric
|
||||
|
||||
.. image:: ./images/chamb.png
|
||||
:scale: 50%
|
||||
:alt: Chamberlin Trimetric
|
||||
:alt: Chamberlin Trimetric
|
||||
|
||||
Parameters
|
||||
################################################################################
|
||||
|
||||
Required
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
.. option:: +lat_1=<value>
|
||||
|
||||
Latitude of the first control point.
|
||||
|
||||
.. option:: +lon_1=<value>
|
||||
|
||||
Longitude of the first control point.
|
||||
|
||||
.. option:: +lat_2=<value>
|
||||
|
||||
Latitude of the second control point.
|
||||
|
||||
.. option:: +lon_2=<value>
|
||||
|
||||
Longitude of the second control point.
|
||||
|
||||
.. option:: +lat_3=<value>
|
||||
|
||||
Latitude of the third control point.
|
||||
|
||||
.. option:: +lon_3=<value>
|
||||
|
||||
Longitude of the third control point.
|
||||
|
||||
Optional
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
.. include:: ../options/lon_0.rst
|
||||
|
||||
.. include:: ../options/R.rst
|
||||
|
||||
.. include:: ../options/x_0.rst
|
||||
|
||||
.. include:: ../options/y_0.rst
|
||||
|
||||
@@ -6,5 +6,18 @@ Collignon
|
||||
|
||||
.. image:: ./images/collg.png
|
||||
:scale: 50%
|
||||
:alt: Collignon
|
||||
:alt: Collignon
|
||||
|
||||
Parameters
|
||||
################################################################################
|
||||
|
||||
.. note:: All parameters are optional for the Collignon projection.
|
||||
|
||||
.. include:: ../options/lon_0.rst
|
||||
|
||||
.. include:: ../options/R.rst
|
||||
|
||||
.. include:: ../options/x_0.rst
|
||||
|
||||
.. include:: ../options/y_0.rst
|
||||
|
||||
|
||||
@@ -6,5 +6,18 @@ Craster Parabolic (Putnins P4)
|
||||
|
||||
.. image:: ./images/crast.png
|
||||
:scale: 50%
|
||||
:alt: Craster Parabolic (Putnins P4)
|
||||
:alt: Craster Parabolic (Putnins P4)
|
||||
|
||||
Parameters
|
||||
################################################################################
|
||||
|
||||
.. note:: All parameters are optional for the Craster Parabolic projection.
|
||||
|
||||
.. include:: ../options/lon_0.rst
|
||||
|
||||
.. include:: ../options/R.rst
|
||||
|
||||
.. include:: ../options/x_0.rst
|
||||
|
||||
.. include:: ../options/y_0.rst
|
||||
|
||||
|
||||
@@ -6,5 +6,17 @@ Denoyer Semi-Elliptical
|
||||
|
||||
.. image:: ./images/denoy.png
|
||||
:scale: 50%
|
||||
:alt: Denoyer Semi-Elliptical
|
||||
:alt: Denoyer Semi-Elliptical
|
||||
|
||||
Parameters
|
||||
################################################################################
|
||||
|
||||
.. note:: All parameters are optional for the Denoyer Semi-Elliptical projection.
|
||||
|
||||
.. include:: ../options/lon_0.rst
|
||||
|
||||
.. include:: ../options/R.rst
|
||||
|
||||
.. include:: ../options/x_0.rst
|
||||
|
||||
.. include:: ../options/y_0.rst
|
||||
|
||||
@@ -15,4 +15,15 @@ Eckert I
|
||||
|
||||
y &= 2 \sqrt{2/3\pi}\phi
|
||||
|
||||
Parameters
|
||||
################################################################################
|
||||
|
||||
.. note:: All parameters are optional for the Eckert I projection.
|
||||
|
||||
.. include:: ../options/lon_0.rst
|
||||
|
||||
.. include:: ../options/R.rst
|
||||
|
||||
.. include:: ../options/x_0.rst
|
||||
|
||||
.. include:: ../options/y_0.rst
|
||||
|
||||
@@ -6,5 +6,17 @@ Eckert II
|
||||
|
||||
.. image:: ./images/eck2.png
|
||||
:scale: 50%
|
||||
:alt: Eckert II
|
||||
:alt: Eckert II
|
||||
|
||||
Parameters
|
||||
################################################################################
|
||||
|
||||
.. note:: All parameters are optional for the Eckert II projection.
|
||||
|
||||
.. include:: ../options/lon_0.rst
|
||||
|
||||
.. include:: ../options/R.rst
|
||||
|
||||
.. include:: ../options/x_0.rst
|
||||
|
||||
.. include:: ../options/y_0.rst
|
||||
|
||||
@@ -6,5 +6,17 @@ Eckert III
|
||||
|
||||
.. image:: ./images/eck3.png
|
||||
:scale: 50%
|
||||
:alt: Eckert III
|
||||
:alt: Eckert III
|
||||
|
||||
Parameters
|
||||
################################################################################
|
||||
|
||||
.. note:: All parameters are optional for the Eckert III projection.
|
||||
|
||||
.. include:: ../options/lon_0.rst
|
||||
|
||||
.. include:: ../options/R.rst
|
||||
|
||||
.. include:: ../options/x_0.rst
|
||||
|
||||
.. include:: ../options/y_0.rst
|
||||
|
||||
@@ -16,4 +16,15 @@ Eckert IV
|
||||
.. math::
|
||||
y = 2 \phi / \sqrt { 2 + \pi }
|
||||
|
||||
Parameters
|
||||
################################################################################
|
||||
|
||||
.. note:: All parameters are optional for the Eckert IV projection.
|
||||
|
||||
.. include:: ../options/lon_0.rst
|
||||
|
||||
.. include:: ../options/R.rst
|
||||
|
||||
.. include:: ../options/x_0.rst
|
||||
|
||||
.. include:: ../options/y_0.rst
|
||||
|
||||
@@ -6,5 +6,17 @@ Eckert V
|
||||
|
||||
.. image:: ./images/eck5.png
|
||||
:scale: 50%
|
||||
:alt: Eckert V
|
||||
:alt: Eckert V
|
||||
|
||||
Parameters
|
||||
################################################################################
|
||||
|
||||
.. note:: All parameters are optional for the Eckert V projection.
|
||||
|
||||
.. include:: ../options/lon_0.rst
|
||||
|
||||
.. include:: ../options/R.rst
|
||||
|
||||
.. include:: ../options/x_0.rst
|
||||
|
||||
.. include:: ../options/y_0.rst
|
||||
|
||||
@@ -6,5 +6,17 @@ Eckert VI
|
||||
|
||||
.. image:: ./images/eck6.png
|
||||
:scale: 50%
|
||||
:alt: Eckert VI
|
||||
:alt: Eckert VI
|
||||
|
||||
Parameters
|
||||
################################################################################
|
||||
|
||||
.. note:: All parameters are optional for the Eckert VI projection.
|
||||
|
||||
.. include:: ../options/lon_0.rst
|
||||
|
||||
.. include:: ../options/R.rst
|
||||
|
||||
.. include:: ../options/x_0.rst
|
||||
|
||||
.. include:: ../options/y_0.rst
|
||||
|
||||
@@ -89,7 +89,7 @@ Parameters
|
||||
Mathematical definition
|
||||
#######################
|
||||
|
||||
The formulas describing the Equidistant Cylindrical projection are all taken from Snyder's [Snyder1987]_.
|
||||
The formulas describing the Equidistant Cylindrical projection are all taken from :cite:`Snyder1987`.
|
||||
|
||||
:math:`\phi_{ts}` is the latitude of true scale, that mean the standard parallels where the scale of the projection is true. It can be set with ``+lat_ts``.
|
||||
|
||||
|
||||
@@ -6,5 +6,27 @@ Equidistant Conic
|
||||
|
||||
.. image:: ./images/eqdc.png
|
||||
:scale: 50%
|
||||
:alt: Equidistant Conic
|
||||
:alt: Equidistant Conic
|
||||
|
||||
Parameters
|
||||
################################################################################
|
||||
|
||||
Required
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
.. include:: ../options/lat_1.rst
|
||||
|
||||
.. include:: ../options/lat_2.rst
|
||||
|
||||
Optional
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
.. include:: ../options/lon_0.rst
|
||||
|
||||
.. include:: ../options/ellps.rst
|
||||
|
||||
.. include:: ../options/R.rst
|
||||
|
||||
.. include:: ../options/x_0.rst
|
||||
|
||||
.. include:: ../options/y_0.rst
|
||||
|
||||
@@ -0,0 +1,64 @@
|
||||
.. _eqearth:
|
||||
|
||||
********************************************************************************
|
||||
Equal Earth
|
||||
********************************************************************************
|
||||
|
||||
.. versionadded:: 5.2.0
|
||||
|
||||
+---------------------+-----------------------------------------------------------+
|
||||
| **Classification** | Pseudo cylindrical |
|
||||
+---------------------+-----------------------------------------------------------+
|
||||
| **Available forms** | Forward and inverse, spherical and ellipsoidal projection |
|
||||
+---------------------+-----------------------------------------------------------+
|
||||
| **Defined area** | Global |
|
||||
+---------------------+-----------------------------------------------------------+
|
||||
| **Alias** | eqearth |
|
||||
+---------------------+-----------------------------------------------------------+
|
||||
| **Domain** | 2D |
|
||||
+---------------------+-----------------------------------------------------------+
|
||||
| **Input type** | Geodetic coordinates |
|
||||
+---------------------+-----------------------------------------------------------+
|
||||
| **Output type** | Projected coordinates |
|
||||
+---------------------+-----------------------------------------------------------+
|
||||
|
||||
|
||||
|
||||
.. image:: ./images/eqearth.png
|
||||
:alt: Equal Earth
|
||||
|
||||
|
||||
The Equal Earth projection is intended for making world maps. Equal Earth is a
|
||||
projection inspired by the Robinson projection, but unlike
|
||||
the Robinson projection retains the relative size of areas. The projection
|
||||
was designed in 2018 by Bojan Savric, Tom Patterson and Bernhard Jenny :cite:`Savric2018`.
|
||||
|
||||
|
||||
Usage
|
||||
###############################################################################
|
||||
|
||||
The Equal Earth projection has no special options. Here is
|
||||
an example of an forward projection on a sphere with a radius of 1 m::
|
||||
|
||||
$ echo 122 47 | src/proj +proj=eqearth +R=1
|
||||
1.55 0.89
|
||||
|
||||
Parameters
|
||||
################################################################################
|
||||
|
||||
.. note:: All parameters for the projection are optional.
|
||||
|
||||
.. include:: ../options/lon_0.rst
|
||||
|
||||
.. include:: ../options/ellps.rst
|
||||
|
||||
.. include:: ../options/R.rst
|
||||
|
||||
.. include:: ../options/x_0.rst
|
||||
|
||||
.. include:: ../options/y_0.rst
|
||||
|
||||
Further reading
|
||||
################################################################################
|
||||
|
||||
#. Bojan Savric, Tom Patterson & Bernhard Jenny (2018). `The Equal Earth map projection <https://www.researchgate.net/profile/Bojan_Savric2/publication/326879978_The_Equal_Earth_map_projection/links/5b69d0ae299bf14c6d951b77/The-Equal-Earth-map-projection.pdf>`_, International Journal of Geographical Information Science
|
||||
@@ -6,5 +6,24 @@ Extended Transverse Mercator
|
||||
|
||||
.. image:: ./images/etmerc.png
|
||||
:scale: 50%
|
||||
:alt: Extended Transverse Mercator
|
||||
:alt: Extended Transverse Mercator
|
||||
|
||||
Parameters
|
||||
################################################################################
|
||||
|
||||
.. note:: All parameters for the projection are optional.
|
||||
|
||||
.. include:: ../options/lon_0.rst
|
||||
|
||||
.. include:: ../options/lat_0.rst
|
||||
|
||||
.. include:: ../options/ellps.rst
|
||||
|
||||
.. include:: ../options/R.rst
|
||||
|
||||
.. include:: ../options/k_0.rst
|
||||
|
||||
.. include:: ../options/x_0.rst
|
||||
|
||||
.. include:: ../options/y_0.rst
|
||||
|
||||
|
||||
@@ -6,5 +6,26 @@ Euler
|
||||
|
||||
.. image:: ./images/euler.png
|
||||
:scale: 50%
|
||||
:alt: Euler
|
||||
:alt: Euler
|
||||
|
||||
|
||||
Parameters
|
||||
################################################################################
|
||||
|
||||
Required
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
.. include:: ../options/lat_1.rst
|
||||
|
||||
.. include:: ../options/lat_2.rst
|
||||
|
||||
Optional
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
.. include:: ../options/lon_0.rst
|
||||
|
||||
.. include:: ../options/R.rst
|
||||
|
||||
.. include:: ../options/x_0.rst
|
||||
|
||||
.. include:: ../options/y_0.rst
|
||||
|
||||
@@ -6,5 +6,17 @@ Fahey
|
||||
|
||||
.. image:: ./images/fahey.png
|
||||
:scale: 50%
|
||||
:alt: Fahey
|
||||
:alt: Fahey
|
||||
|
||||
Parameters
|
||||
################################################################################
|
||||
|
||||
.. note:: All parameters are optional for the Fahey projection.
|
||||
|
||||
.. include:: ../options/lon_0.rst
|
||||
|
||||
.. include:: ../options/R.rst
|
||||
|
||||
.. include:: ../options/x_0.rst
|
||||
|
||||
.. include:: ../options/y_0.rst
|
||||
|
||||
@@ -6,5 +6,17 @@ Foucaut
|
||||
|
||||
.. image:: ./images/fouc.png
|
||||
:scale: 50%
|
||||
:alt: Foucaut
|
||||
:alt: Foucaut
|
||||
|
||||
Parameters
|
||||
################################################################################
|
||||
|
||||
.. note:: All parameters are optional for the Foucaut projection.
|
||||
|
||||
.. include:: ../options/lon_0.rst
|
||||
|
||||
.. include:: ../options/R.rst
|
||||
|
||||
.. include:: ../options/x_0.rst
|
||||
|
||||
.. include:: ../options/y_0.rst
|
||||
|
||||
@@ -23,3 +23,21 @@ For the inverse, the Newton-Raphson method can be used to determine
|
||||
:math:`\phi` from the equation for :math:`y` above. As :math:`n \rightarrow 0` and
|
||||
:math:`\phi \rightarrow \pi/2`, convergence is slow but for :math:`n = 0`, :math:`\phi =
|
||||
\sin^1y`
|
||||
|
||||
|
||||
Parameters
|
||||
################################################################################
|
||||
|
||||
.. note:: All parameters are optional for the Foucaut Sinusoidal projection.
|
||||
|
||||
.. option:: +n=<value>
|
||||
|
||||
Weighting factor. Value should be in the interval 0-1.
|
||||
|
||||
.. include:: ../options/lon_0.rst
|
||||
|
||||
.. include:: ../options/R.rst
|
||||
|
||||
.. include:: ../options/x_0.rst
|
||||
|
||||
.. include:: ../options/y_0.rst
|
||||
|
||||
@@ -69,7 +69,7 @@ Parameters
|
||||
Mathematical definition
|
||||
#######################
|
||||
|
||||
The formulas describing the Gall Stereographical are all taken from Snyder's [Snyder1993]_.
|
||||
The formulas describing the Gall Stereographical are all taken from :cite:`Snyder1993`.
|
||||
|
||||
Spherical form
|
||||
**************
|
||||
|
||||
@@ -6,5 +6,17 @@ Ginsburg VIII (TsNIIGAiK)
|
||||
|
||||
.. image:: ./images/gins8.png
|
||||
:scale: 50%
|
||||
:alt: Ginsburg VIII (TsNIIGAiK)
|
||||
:alt: Ginsburg VIII (TsNIIGAiK)
|
||||
|
||||
Parameters
|
||||
################################################################################
|
||||
|
||||
.. note:: All parameters are optional for the Ginsburg VIII projection.
|
||||
|
||||
.. include:: ../options/lon_0.rst
|
||||
|
||||
.. include:: ../options/R.rst
|
||||
|
||||
.. include:: ../options/x_0.rst
|
||||
|
||||
.. include:: ../options/y_0.rst
|
||||
|
||||
@@ -6,5 +6,18 @@ General Sinusoidal Series
|
||||
|
||||
.. image:: ./images/gn_sinu.png
|
||||
:scale: 50%
|
||||
:alt: General Sinusoidal Series
|
||||
:alt: General Sinusoidal Series
|
||||
|
||||
Parameters
|
||||
################################################################################
|
||||
|
||||
.. note:: All parameters are optional for the General Sinusoidal Series
|
||||
projection.
|
||||
|
||||
.. include:: ../options/lon_0.rst
|
||||
|
||||
.. include:: ../options/R.rst
|
||||
|
||||
.. include:: ../options/x_0.rst
|
||||
|
||||
.. include:: ../options/y_0.rst
|
||||
|
||||
@@ -6,5 +6,17 @@ Gnomonic
|
||||
|
||||
.. image:: ./images/gnom.png
|
||||
:scale: 50%
|
||||
:alt: Gnomonic
|
||||
:alt: Gnomonic
|
||||
|
||||
Parameters
|
||||
################################################################################
|
||||
|
||||
.. note:: All parameters are optional for the Gnomomic projection.
|
||||
|
||||
.. include:: ../options/lon_0.rst
|
||||
|
||||
.. include:: ../options/R.rst
|
||||
|
||||
.. include:: ../options/x_0.rst
|
||||
|
||||
.. include:: ../options/y_0.rst
|
||||
|
||||
@@ -6,5 +6,17 @@ Goode Homolosine
|
||||
|
||||
.. image:: ./images/goode.png
|
||||
:scale: 50%
|
||||
:alt: Goode Homolosine
|
||||
:alt: Goode Homolosine
|
||||
|
||||
Parameters
|
||||
################################################################################
|
||||
|
||||
.. note:: All parameters are optional for the Goode Homolosine projection.
|
||||
|
||||
.. include:: ../options/lon_0.rst
|
||||
|
||||
.. include:: ../options/R.rst
|
||||
|
||||
.. include:: ../options/x_0.rst
|
||||
|
||||
.. include:: ../options/y_0.rst
|
||||
|
||||
@@ -8,3 +8,13 @@ Mod. Stererographics of 48 U.S.
|
||||
:scale: 50%
|
||||
:alt: Mod. Stererographics of 48 U.S.
|
||||
|
||||
Parameters
|
||||
################################################################################
|
||||
|
||||
.. note:: All parameters are optional for the projection.
|
||||
|
||||
.. include:: ../options/ellps.rst
|
||||
|
||||
.. include:: ../options/x_0.rst
|
||||
|
||||
.. include:: ../options/y_0.rst
|
||||
|
||||
@@ -6,5 +6,15 @@ Mod. Stererographics of 50 U.S.
|
||||
|
||||
.. image:: ./images/gs50.png
|
||||
:scale: 50%
|
||||
:alt: Mod. Stererographics of 50 U.S.
|
||||
:alt: Mod. Stererographics of 50 U.S.
|
||||
|
||||
Parameters
|
||||
################################################################################
|
||||
|
||||
.. note:: All parameters are optional for the projection.
|
||||
|
||||
.. include:: ../options/ellps.rst
|
||||
|
||||
.. include:: ../options/x_0.rst
|
||||
|
||||
.. include:: ../options/y_0.rst
|
||||
|
||||
@@ -6,5 +6,23 @@ Gauss-Schreiber Transverse Mercator (aka Gauss-Laborde Reunion)
|
||||
|
||||
.. image:: ./images/gstmerc.png
|
||||
:scale: 50%
|
||||
:alt: Gauss-Schreiber Transverse Mercator (aka Gauss-Laborde Reunion)
|
||||
:alt: Gauss-Schreiber Transverse Mercator (aka Gauss-Laborde Reunion)
|
||||
|
||||
Parameters
|
||||
################################################################################
|
||||
|
||||
.. note:: All parameters are optional for the projection.
|
||||
|
||||
.. include:: ../options/k_0.rst
|
||||
|
||||
.. include:: ../options/lon_0.rst
|
||||
|
||||
.. include:: ../options/lat_0.rst
|
||||
|
||||
.. include:: ../options/ellps.rst
|
||||
|
||||
.. include:: ../options/R.rst
|
||||
|
||||
.. include:: ../options/x_0.rst
|
||||
|
||||
.. include:: ../options/y_0.rst
|
||||
|
||||
@@ -6,5 +6,31 @@ Hammer & Eckert-Greifendorff
|
||||
|
||||
.. image:: ./images/hammer.png
|
||||
:scale: 50%
|
||||
:alt: Hammer & Eckert-Greifendorff
|
||||
:alt: Hammer & Eckert-Greifendorff
|
||||
|
||||
|
||||
Parameters
|
||||
################################################################################
|
||||
|
||||
.. note:: All parameters are optional for the projection.
|
||||
|
||||
.. option:: +W=<value>
|
||||
|
||||
Set to 0.5 for the Hammer projection and 0.25 for the Eckert-Greifendorff
|
||||
projection. :option:`+W` has to be larger than zero.
|
||||
|
||||
*Defaults to 0.5.*
|
||||
|
||||
.. option:: +M=<value>
|
||||
|
||||
:option:`+M` has to be larger than zero.
|
||||
|
||||
*Defaults to 1.0.*
|
||||
|
||||
.. include:: ../options/lon_0.rst
|
||||
|
||||
.. include:: ../options/R.rst
|
||||
|
||||
.. include:: ../options/x_0.rst
|
||||
|
||||
.. include:: ../options/y_0.rst
|
||||
|
||||
@@ -6,5 +6,17 @@ Interrupted Goode Homolosine
|
||||
|
||||
.. image:: ./images/igh.png
|
||||
:scale: 50%
|
||||
:alt: Interrupted Goode Homolosine
|
||||
:alt: Interrupted Goode Homolosine
|
||||
|
||||
Parameters
|
||||
################################################################################
|
||||
|
||||
.. note:: All parameters are optional for the projection.
|
||||
|
||||
.. include:: ../options/lon_0.rst
|
||||
|
||||
.. include:: ../options/R.rst
|
||||
|
||||
.. include:: ../options/x_0.rst
|
||||
|
||||
.. include:: ../options/y_0.rst
|
||||
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 385 KiB |
@@ -6,5 +6,25 @@ International Map of the World Polyconic
|
||||
|
||||
.. image:: ./images/imw_p.png
|
||||
:scale: 50%
|
||||
:alt: International Map of the World Polyconic
|
||||
:alt: International Map of the World Polyconic
|
||||
|
||||
Parameters
|
||||
################################################################################
|
||||
|
||||
Required
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
.. include:: ../options/lat_1.rst
|
||||
|
||||
.. include:: ../options/lat_2.rst
|
||||
|
||||
Optional
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
.. include:: ../options/lon_0.rst
|
||||
|
||||
.. include:: ../options/R.rst
|
||||
|
||||
.. include:: ../options/x_0.rst
|
||||
|
||||
.. include:: ../options/y_0.rst
|
||||
|
||||
@@ -40,6 +40,7 @@ Projections map the spherical 3D space to a flat 2D space.
|
||||
eck6
|
||||
eqc
|
||||
eqdc
|
||||
eqearth
|
||||
euler
|
||||
etmerc
|
||||
fahey
|
||||
|
||||
@@ -6,5 +6,41 @@ Icosahedral Snyder Equal Area
|
||||
|
||||
.. image:: ./images/isea.png
|
||||
:scale: 50%
|
||||
:alt: Icosahedral Snyder Equal Area
|
||||
:alt: Icosahedral Snyder Equal Area
|
||||
|
||||
Parameters
|
||||
################################################################################
|
||||
|
||||
.. note:: All parameters are optional for the projection.
|
||||
|
||||
.. option:: +orient=<string>
|
||||
|
||||
Can be set to either ``isea`` or ``pole``.
|
||||
|
||||
.. option:: +azi=<value>
|
||||
|
||||
Azimuth.
|
||||
|
||||
*Defaults to 0.0*
|
||||
|
||||
.. option:: +aperture=<value>
|
||||
|
||||
*Defaults to 3.0*
|
||||
|
||||
.. option:: +resolution=<value>
|
||||
|
||||
*Defaults to 4.0*
|
||||
|
||||
.. option:: +mode=<string>
|
||||
|
||||
Can be either ``plane``, ``di``, ``dd`` or ``hex``.
|
||||
|
||||
.. include:: ../options/lon_0.rst
|
||||
|
||||
.. include:: ../options/lat_0.rst
|
||||
|
||||
.. include:: ../options/R.rst
|
||||
|
||||
.. include:: ../options/x_0.rst
|
||||
|
||||
.. include:: ../options/y_0.rst
|
||||
|
||||
@@ -6,5 +6,17 @@ Kavraisky V
|
||||
|
||||
.. image:: ./images/kav5.png
|
||||
:scale: 50%
|
||||
:alt: Kavraisky V
|
||||
:alt: Kavraisky V
|
||||
|
||||
Parameters
|
||||
################################################################################
|
||||
|
||||
.. note:: All parameters are optional for the Kavraisky V projection.
|
||||
|
||||
.. include:: ../options/lon_0.rst
|
||||
|
||||
.. include:: ../options/R.rst
|
||||
|
||||
.. include:: ../options/x_0.rst
|
||||
|
||||
.. include:: ../options/y_0.rst
|
||||
|
||||
@@ -6,5 +6,17 @@ Kavraisky VII
|
||||
|
||||
.. image:: ./images/kav7.png
|
||||
:scale: 50%
|
||||
:alt: Kavraisky VII
|
||||
:alt: Kavraisky VII
|
||||
|
||||
Parameters
|
||||
################################################################################
|
||||
|
||||
.. note:: All parameters are optional for the Kavraisky VII projection.
|
||||
|
||||
.. include:: ../options/lon_0.rst
|
||||
|
||||
.. include:: ../options/R.rst
|
||||
|
||||
.. include:: ../options/x_0.rst
|
||||
|
||||
.. include:: ../options/y_0.rst
|
||||
|
||||
@@ -6,5 +6,28 @@ Krovak
|
||||
|
||||
.. image:: ./images/krovak.png
|
||||
:scale: 50%
|
||||
:alt: Krovak
|
||||
:alt: Krovak
|
||||
|
||||
Parameters
|
||||
################################################################################
|
||||
|
||||
.. note:: All parameters are optional for the Krovak projection.
|
||||
|
||||
.. option:: +czech
|
||||
|
||||
Reverse the sign of the output coordinates, as is tradition in the
|
||||
Czech Republic.
|
||||
|
||||
.. include:: ../options/lon_0.rst
|
||||
|
||||
.. include:: ../options/lat_0.rst
|
||||
|
||||
.. option:: +k_0=<value>
|
||||
|
||||
Scale factor. Determines scale factor used in the projection.
|
||||
|
||||
*Defaults to 0.9999.*
|
||||
|
||||
.. include:: ../options/x_0.rst
|
||||
|
||||
.. include:: ../options/y_0.rst
|
||||
|
||||
@@ -6,5 +6,29 @@ Laborde
|
||||
|
||||
.. image:: ./images/labrd.png
|
||||
:scale: 50%
|
||||
:alt: Laborde
|
||||
:alt: Laborde
|
||||
|
||||
Parameters
|
||||
################################################################################
|
||||
|
||||
Required
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
.. include:: ../options/lon_0.rst
|
||||
|
||||
.. include:: ../options/lat_0.rst
|
||||
|
||||
Optional
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
.. option:: +azi=<value>
|
||||
|
||||
Azimuth of the central line.
|
||||
|
||||
*Defaults to 0.0*
|
||||
|
||||
.. include:: ../options/R.rst
|
||||
|
||||
.. include:: ../options/x_0.rst
|
||||
|
||||
.. include:: ../options/y_0.rst
|
||||
|
||||
@@ -6,5 +6,21 @@ Lambert Azimuthal Equal Area
|
||||
|
||||
.. image:: ./images/laea.png
|
||||
:scale: 50%
|
||||
:alt: Lambert Azimuthal Equal Area
|
||||
:alt: Lambert Azimuthal Equal Area
|
||||
|
||||
Parameters
|
||||
################################################################################
|
||||
|
||||
.. note:: All parameters are optional.
|
||||
|
||||
.. include:: ../options/lon_0.rst
|
||||
|
||||
.. include:: ../options/lat_0.rst
|
||||
|
||||
.. include:: ../options/ellps.rst
|
||||
|
||||
.. include:: ../options/R.rst
|
||||
|
||||
.. include:: ../options/x_0.rst
|
||||
|
||||
.. include:: ../options/y_0.rst
|
||||
|
||||
@@ -6,5 +6,29 @@ Lagrange
|
||||
|
||||
.. image:: ./images/lagrng.png
|
||||
:scale: 50%
|
||||
:alt: Lagrange
|
||||
:alt: Lagrange
|
||||
|
||||
Parameters
|
||||
################################################################################
|
||||
|
||||
.. note:: All parameters are optional for the projection.
|
||||
|
||||
.. option:: +W=<value>
|
||||
|
||||
The factor :option:`+W` is the ratio of the difference in longitude from the
|
||||
central meridian to the a circular meridian to 90. :option:`+W` must be a
|
||||
positive value.
|
||||
|
||||
*Defaults to 2.0*
|
||||
|
||||
.. include:: ../options/lon_0.rst
|
||||
|
||||
.. include:: ../options/lat_1.rst
|
||||
|
||||
.. include:: ../options/ellps.rst
|
||||
|
||||
.. include:: ../options/R.rst
|
||||
|
||||
.. include:: ../options/x_0.rst
|
||||
|
||||
.. include:: ../options/y_0.rst
|
||||
|
||||
@@ -6,5 +6,17 @@ Larrivee
|
||||
|
||||
.. image:: ./images/larr.png
|
||||
:scale: 50%
|
||||
:alt: Larrivee
|
||||
:alt: Larrivee
|
||||
|
||||
Parameters
|
||||
################################################################################
|
||||
|
||||
.. note:: All parameters are optional for the Larrivee projection.
|
||||
|
||||
.. include:: ../options/lon_0.rst
|
||||
|
||||
.. include:: ../options/R.rst
|
||||
|
||||
.. include:: ../options/x_0.rst
|
||||
|
||||
.. include:: ../options/y_0.rst
|
||||
|
||||
@@ -6,5 +6,17 @@ Laskowski
|
||||
|
||||
.. image:: ./images/lask.png
|
||||
:scale: 50%
|
||||
:alt: Laskowski
|
||||
:alt: Laskowski
|
||||
|
||||
Parameters
|
||||
################################################################################
|
||||
|
||||
.. note:: All parameters are optional for the projection.
|
||||
|
||||
.. include:: ../options/lon_0.rst
|
||||
|
||||
.. include:: ../options/R.rst
|
||||
|
||||
.. include:: ../options/x_0.rst
|
||||
|
||||
.. include:: ../options/y_0.rst
|
||||
|
||||
@@ -6,5 +6,25 @@ Lambert Conformal Conic
|
||||
|
||||
.. image:: ./images/lcc.png
|
||||
:scale: 50%
|
||||
:alt: Lambert Conformal Conic
|
||||
:alt: Lambert Conformal Conic
|
||||
|
||||
Parameters
|
||||
################################################################################
|
||||
|
||||
.. note:: All parameters are optional for the projection.
|
||||
|
||||
.. include:: ../options/lon_0.rst
|
||||
|
||||
.. include:: ../options/lat_0.rst
|
||||
|
||||
.. include:: ../options/lat_1.rst
|
||||
|
||||
.. include:: ../options/lat_2.rst
|
||||
|
||||
.. include:: ../options/ellps.rst
|
||||
|
||||
.. include:: ../options/R.rst
|
||||
|
||||
.. include:: ../options/x_0.rst
|
||||
|
||||
.. include:: ../options/y_0.rst
|
||||
|
||||
@@ -6,5 +6,21 @@ Lambert Conformal Conic Alternative
|
||||
|
||||
.. image:: ./images/lcca.png
|
||||
:scale: 50%
|
||||
:alt: Lambert Conformal Conic Alternative
|
||||
:alt: Lambert Conformal Conic Alternative
|
||||
|
||||
Parameters
|
||||
################################################################################
|
||||
|
||||
.. note:: All parameters are optional for the projection.
|
||||
|
||||
.. include:: ../options/lon_0.rst
|
||||
|
||||
.. include:: ../options/lat_0.rst
|
||||
|
||||
.. include:: ../options/ellps.rst
|
||||
|
||||
.. include:: ../options/R.rst
|
||||
|
||||
.. include:: ../options/x_0.rst
|
||||
|
||||
.. include:: ../options/y_0.rst
|
||||
|
||||
@@ -6,5 +6,28 @@ Lambert Equal Area Conic
|
||||
|
||||
.. image:: ./images/leac.png
|
||||
:scale: 50%
|
||||
:alt: Lambert Equal Area Conic
|
||||
:alt: Lambert Equal Area Conic
|
||||
|
||||
Parameters
|
||||
################################################################################
|
||||
|
||||
.. note:: All parameters are optional for the Lambert Equal Area Conic
|
||||
projection.
|
||||
|
||||
.. include:: ../options/lat_1.rst
|
||||
|
||||
.. option:: +south
|
||||
|
||||
Sets the second standard parallel to 90°S. When the flag is off the second
|
||||
standard parallel is set to 90°N.
|
||||
|
||||
.. include:: ../options/lon_0.rst
|
||||
|
||||
.. include:: ../options/ellps.rst
|
||||
|
||||
.. include:: ../options/R.rst
|
||||
|
||||
.. include:: ../options/x_0.rst
|
||||
|
||||
.. include:: ../options/y_0.rst
|
||||
|
||||
|
||||
@@ -6,5 +6,15 @@ Lee Oblated Stereographic
|
||||
|
||||
.. image:: ./images/lee_os.png
|
||||
:scale: 50%
|
||||
:alt: Lee Oblated Stereographic
|
||||
:alt: Lee Oblated Stereographic
|
||||
|
||||
Parameters
|
||||
################################################################################
|
||||
|
||||
.. note:: All parameters are optional for the projection.
|
||||
|
||||
.. include:: ../options/ellps.rst
|
||||
|
||||
.. include:: ../options/x_0.rst
|
||||
|
||||
.. include:: ../options/y_0.rst
|
||||
|
||||
@@ -6,5 +6,19 @@ Loximuthal
|
||||
|
||||
.. image:: ./images/loxim.png
|
||||
:scale: 50%
|
||||
:alt: Loximuthal
|
||||
:alt: Loximuthal
|
||||
|
||||
Parameters
|
||||
################################################################################
|
||||
|
||||
.. note:: All parameters are optional for the Loximuthal projection.
|
||||
|
||||
.. include:: ../options/lat_1.rst
|
||||
|
||||
.. include:: ../options/lon_0.rst
|
||||
|
||||
.. include:: ../options/R.rst
|
||||
|
||||
.. include:: ../options/x_0.rst
|
||||
|
||||
.. include:: ../options/y_0.rst
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user