Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
08f394ea30 | ||
|
|
847423fe42 | ||
|
|
19cda6a061 |
@@ -1,2 +0,0 @@
|
||||
# Auto-generated file.
|
||||
src/proj_symbol_rename.h
|
||||
@@ -6,37 +6,26 @@ labels: bug
|
||||
|
||||
<!-- Please search existing issues to avoid creating duplicates. -->
|
||||
|
||||
#### AI usage
|
||||
|
||||
- [ ] AI (Copilot or something similar) supported the creation f this ticket. See our [policy about AI tool use](https://proj.org/community/ai_tool_policy.html). Use of AI tools *must* be indicated.
|
||||
- [ ] This ticket has been (mostly) written by myself (human), and is aimed at being read by humans. We *do* not accept AI generated wall-of-text
|
||||
|
||||
#### Example of problem
|
||||
|
||||
Demonstrate the problem you have found, either by using PROJ tools like
|
||||
`cs2cs`, `cct` or `projinfo` **or** add a code snippet that highlights the
|
||||
problem using the PROJ C/C++ API.
|
||||
|
||||
A "Minimal, Complete and Verifiable Example" will make it much easier for
|
||||
maintainers to help you: <http://matthewrocklin.com/blog/work/2018/02/28/minimal-bug-reports>
|
||||
Demonstrate the problem you have found, either by using PROJ tools like `cs2cs`, `cct` or `projinfo` **or** add a code snippet that highlights the problem using the PROJ C/C++ API.
|
||||
A "Minimal, Complete and Verifiable Example" will make it much easier for maintainers to help you:
|
||||
http://matthewrocklin.com/blog/work/2018/02/28/minimal-bug-reports
|
||||
|
||||
```c
|
||||
# Your code here
|
||||
|
||||
```
|
||||
|
||||
#### Problem description
|
||||
|
||||
[this should explain **why** the current behavior is a problem and why the
|
||||
expected output is a better solution.]
|
||||
[this should explain **why** the current behavior is a problem and why the expected output is a better solution.]
|
||||
|
||||
#### Expected Output
|
||||
|
||||
#### Environment Information
|
||||
|
||||
- PROJ version (`proj`)
|
||||
- Operation System Information
|
||||
#### Environment Information
|
||||
- PROJ version (`proj`)
|
||||
- Operation System Information
|
||||
|
||||
#### Installation method
|
||||
|
||||
- conda, apt-get, from source, etc...
|
||||
- conda, apt-get, from source, etc...
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
<!-- Feel free to remove check-list items aren't relevant to your change -->
|
||||
|
||||
- [ ] AI (Copilot or something similar) supported my development of this PR. See our [policy about AI tool use](https://proj.org/community/ai_tool_policy.html). Use of AI tools *must* be indicated.
|
||||
- [ ] Closes #xxxx
|
||||
- [ ] Tests added
|
||||
- [ ] Added clear title that can be used to generate release notes
|
||||
- [ ] Fully documented, including updating `docs/source/*.rst` for new API
|
||||
- [ ] Closes #xxxx
|
||||
- [ ] Tests added
|
||||
- [ ] Added clear title that can be used to generate release notes
|
||||
- [ ] Fully documented, including updating `docs/source/*.rst` for new API
|
||||
@@ -1,12 +0,0 @@
|
||||
version: 2
|
||||
updates:
|
||||
- package-ecosystem: "github-actions"
|
||||
directory: "/"
|
||||
schedule:
|
||||
interval: "monthly"
|
||||
cooldown:
|
||||
default-days: 7
|
||||
groups:
|
||||
all-actions:
|
||||
patterns:
|
||||
- "*"
|
||||
@@ -1,47 +0,0 @@
|
||||
name: Update Stable Tag
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- '**' # Matches all branches, but we later filter on the one matching the STABLE_BRANCH repository variable
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
|
||||
jobs:
|
||||
update-stable-tag:
|
||||
runs-on: ubuntu-latest
|
||||
if: github.repository == 'OSGeo/PROJ'
|
||||
permissions:
|
||||
contents: write
|
||||
steps:
|
||||
- name: Check branch match
|
||||
id: check_branch
|
||||
env:
|
||||
STABLE_BRANCH: ${{ vars.STABLE_BRANCH }} # Repository variable
|
||||
run: |
|
||||
echo "Push detected on branch $GITHUB_REF"
|
||||
if [[ "${GITHUB_REF#refs/heads/}" != "${STABLE_BRANCH}" ]]; then
|
||||
echo "This workflow only runs for branch $STABLE_BRANCH. Skipping further steps."
|
||||
echo "run=false" >> $GITHUB_OUTPUT
|
||||
else
|
||||
echo "run=true" >> $GITHUB_OUTPUT
|
||||
fi
|
||||
|
||||
- name: Checkout code
|
||||
if: steps.check_branch.outputs.run == 'true'
|
||||
uses: actions/checkout@v7.0.1
|
||||
|
||||
- name: Tag
|
||||
if: steps.check_branch.outputs.run == 'true'
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
run: |
|
||||
git config --global user.email "PROJ-bot@example.com"
|
||||
git config --global user.name "PROJ-bot"
|
||||
touch .dummy-file
|
||||
git add .dummy-file
|
||||
# Do that so that stable doesn't have the same git sha as the stable branch, so ReadTheDocs triggers a build
|
||||
git commit -a -m "Add .dummy-file"
|
||||
git checkout -b stable
|
||||
git push -f origin stable
|
||||
@@ -14,6 +14,6 @@ jobs:
|
||||
- name: Backport Bot
|
||||
id: backport
|
||||
if: github.event.pull_request.merged && ( ( github.event.action == 'closed' && contains( join( github.event.pull_request.labels.*.name ), 'backport') ) || contains( github.event.label.name, 'backport' ) )
|
||||
uses: m-kuhn/backport@v1.2.8
|
||||
uses: m-kuhn/backport@v1.2.7
|
||||
with:
|
||||
github_token: ${{ secrets.BACKPORT_TOKEN }}
|
||||
|
||||
@@ -9,9 +9,6 @@ concurrency:
|
||||
group: ${{ github.workflow }}-${{ github.head_ref || github.ref }}
|
||||
cancel-in-progress: true
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
|
||||
jobs:
|
||||
Fuzzing:
|
||||
runs-on: ubuntu-latest
|
||||
@@ -29,7 +26,7 @@ jobs:
|
||||
fuzz-seconds: 600
|
||||
dry-run: false
|
||||
- name: Upload Crash
|
||||
uses: actions/upload-artifact@v7
|
||||
uses: actions/upload-artifact@v3
|
||||
if: failure() && steps.build.outcome == 'success'
|
||||
with:
|
||||
name: artifacts
|
||||
|
||||
@@ -13,45 +13,23 @@ concurrency:
|
||||
group: ${{ github.workflow }}-${{ github.head_ref || github.ref }}
|
||||
cancel-in-progress: true
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
|
||||
jobs:
|
||||
|
||||
clang_linux:
|
||||
runs-on: ubuntu-latest
|
||||
env:
|
||||
PROJ_CMAKE_BUILD_OPTIONS: ${{ matrix.PROJ_CMAKE_BUILD_OPTIONS }}
|
||||
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
include:
|
||||
- name: Regular
|
||||
id: regular
|
||||
PROJ_CMAKE_BUILD_OPTIONS: ""
|
||||
|
||||
- name: EMBED_RESOURCE_FILES
|
||||
id: EMBED_RESOURCE_FILES
|
||||
PROJ_CMAKE_BUILD_OPTIONS: "-DEMBED_RESOURCE_FILES=ON"
|
||||
|
||||
- name: Without TIFF
|
||||
id: without_tiff
|
||||
PROJ_CMAKE_BUILD_OPTIONS: "-DENABLE_TIFF=OFF"
|
||||
|
||||
if: "!contains(github.event.head_commit.message, '[ci skip]') && !contains(github.event.head_commit.message, '[skip ci]')"
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v7.0.1
|
||||
uses: actions/checkout@v3
|
||||
|
||||
- name: Cache
|
||||
uses: actions/cache@v6.1.0
|
||||
uses: actions/cache@v3
|
||||
id: cache
|
||||
with:
|
||||
path: |
|
||||
${{ github.workspace }}/ccache.tar.gz
|
||||
key: ${{ runner.os }}-cache-clang-${{ matrix.id }}-${{ github.run_id }}
|
||||
restore-keys: ${{ runner.os }}-cache-clang-${{ matrix.id }}-
|
||||
key: ${{ runner.os }}-cache-clang-${{ github.run_id }}
|
||||
restore-keys: ${{ runner.os }}-cache-clang-
|
||||
|
||||
- name: Run
|
||||
run: docker run -e PROJ_GITHUB_SHA=${{ github.sha }} -e CI -e TRAVIS_BUILD_DIR="$PWD" -e PROJ_CMAKE_BUILD_OPTIONS="$PROJ_CMAKE_BUILD_OPTIONS" -e WORK_DIR="$PWD" -e TRAVIS_OS_NAME=linux -e BUILD_NAME=linux_clang -v $PWD:$PWD ubuntu:24.04 $PWD/ci/clang_linux/start.sh
|
||||
run: docker run -e CI -e TRAVIS_BUILD_DIR="$PWD" -e WORK_DIR="$PWD" -e TRAVIS_OS_NAME=linux -e BUILD_NAME=linux_clang -v $PWD:$PWD ubuntu:20.04 $PWD/.github/workflows/clang_linux/start.sh
|
||||
|
||||
Executable
+32
@@ -0,0 +1,32 @@
|
||||
#!/bin/sh
|
||||
|
||||
set -e
|
||||
|
||||
apt-get update -y
|
||||
DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
|
||||
autoconf automake libtool make cmake ccache pkg-config python3-pip sqlite3 tar zip \
|
||||
clang++-10 jq python3-clang-10 \
|
||||
libsqlite3-dev \
|
||||
libtiff-dev libwebp-dev libzstd-dev \
|
||||
libcurl4-openssl-dev libnghttp2-dev libidn2-dev librtmp-dev libssh-dev \
|
||||
libpsl-dev libssl-dev libkrb5-dev comerr-dev libldap2-dev libbrotli-dev \
|
||||
nlohmann-json3-dev libgtest-dev
|
||||
|
||||
python3 -m pip install --user jsonschema
|
||||
export PATH=$HOME/.local/bin:$PATH
|
||||
|
||||
cd "$WORK_DIR"
|
||||
|
||||
if test -f "$WORK_DIR/ccache.tar.gz"; then
|
||||
echo "Restoring ccache..."
|
||||
(cd $HOME && tar xzf "$WORK_DIR/ccache.tar.gz")
|
||||
fi
|
||||
|
||||
ccache -M 500M
|
||||
|
||||
# -fno-use-cxa-atexit is needed to build with -coverage
|
||||
CC="clang-10" CXX="clang++-10" CFLAGS="-Werror -fsanitize=address -fno-use-cxa-atexit" CXXFLAGS="-Werror -fsanitize=address -fno-use-cxa-atexit" LDFLAGS="-fsanitize=address" ./travis/install.sh
|
||||
|
||||
echo "Saving ccache..."
|
||||
rm -f "$WORK_DIR/ccache.tar.gz"
|
||||
(cd $HOME && tar czf "$WORK_DIR/ccache.tar.gz" .ccache)
|
||||
@@ -12,17 +12,14 @@ concurrency:
|
||||
group: ${{ github.workflow }}-${{ github.head_ref || github.ref }}
|
||||
cancel-in-progress: true
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
|
||||
jobs:
|
||||
|
||||
clang_static_analyzer:
|
||||
runs-on: ubuntu-24.04
|
||||
runs-on: ubuntu-22.04
|
||||
if: "!contains(github.event.head_commit.message, '[ci skip]') && !contains(github.event.head_commit.message, '[skip ci]')"
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v7.0.1
|
||||
uses: actions/checkout@v3
|
||||
|
||||
- name: Run
|
||||
run: ci/clang_static_analyzer/start.sh
|
||||
run: .github/workflows/clang_static_analyzer/start.sh
|
||||
|
||||
@@ -12,9 +12,6 @@ concurrency:
|
||||
group: ${{ github.workflow }}-${{ github.head_ref || github.ref }}
|
||||
cancel-in-progress: true
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
|
||||
jobs:
|
||||
|
||||
cppcheck_2204:
|
||||
@@ -22,7 +19,7 @@ jobs:
|
||||
if: "!contains(github.event.head_commit.message, '[ci skip]') && !contains(github.event.head_commit.message, '[skip ci]')"
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v7.0.1
|
||||
uses: actions/checkout@v3
|
||||
|
||||
- name: Install Requirements
|
||||
run: |
|
||||
@@ -32,69 +29,19 @@ jobs:
|
||||
- name: Run cppcheck test
|
||||
run: ./scripts/cppcheck.sh
|
||||
|
||||
cppcheck_master:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v7.0.1
|
||||
|
||||
- name: Install Requirements
|
||||
run: |
|
||||
sudo apt update
|
||||
sudo apt install -y --no-install-recommends git cmake g++ make
|
||||
|
||||
- name: Build cppcheck
|
||||
run: |
|
||||
git clone https://github.com/danmar/cppcheck
|
||||
cd cppcheck
|
||||
mkdir build
|
||||
cd build
|
||||
cmake .. -DCMAKE_BUILD_TYPE=Release
|
||||
make -j$(nproc)
|
||||
sudo make install
|
||||
cd ../..
|
||||
|
||||
- name: Run cppcheck test (on push events)
|
||||
if: ${{ github.event_name == 'push' }}
|
||||
run: |
|
||||
./scripts/cppcheck.sh
|
||||
|
||||
- name: Run cppcheck test, but ignore failures (on pull request)
|
||||
if: ${{ github.event_name == 'pull_request' }}
|
||||
run: |
|
||||
# Do not fail the job. This is just used as a tool to monitor how we are regarding recent cppcheck
|
||||
./scripts/cppcheck.sh || /bin/true
|
||||
|
||||
code_quality_checks:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v7.0.1
|
||||
|
||||
- name: Detect missing includes
|
||||
run: ./scripts/detect_missing_include.sh
|
||||
|
||||
other_checks:
|
||||
runs-on: ubuntu-24.04
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v7.0.1
|
||||
uses: actions/checkout@v3
|
||||
|
||||
- name: Install Requirements
|
||||
run: |
|
||||
sudo apt-get install -y --no-install-recommends python3-pip
|
||||
sudo apt-get remove -y python3-jsonschema
|
||||
sudo pip3 install --break-system-packages cffconvert
|
||||
sudo apt-get install python3-pip
|
||||
sudo pip3 install cffconvert
|
||||
|
||||
- name: Validate citation file
|
||||
run: |
|
||||
cffconvert --validate
|
||||
cffconvert -f bibtex
|
||||
cffconvert -f apalike
|
||||
|
||||
linting:
|
||||
runs-on: ubuntu-24.04
|
||||
steps:
|
||||
- uses: actions/checkout@v7.0.1
|
||||
- uses: actions/setup-python@v7
|
||||
- uses: pre-commit/action@v3.0.1
|
||||
|
||||
@@ -1,104 +0,0 @@
|
||||
name: "CodeQL"
|
||||
|
||||
on:
|
||||
push:
|
||||
pull_request:
|
||||
|
||||
concurrency:
|
||||
group: ${{ github.workflow }}-${{ github.head_ref || github.ref }}
|
||||
cancel-in-progress: true
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
|
||||
jobs:
|
||||
analyze:
|
||||
name: Analyze
|
||||
# Runner size impacts CodeQL analysis time. To learn more, please see:
|
||||
# - https://gh.io/recommended-hardware-resources-for-running-codeql
|
||||
# - https://gh.io/supported-runners-and-hardware-resources
|
||||
# - https://gh.io/using-larger-runners
|
||||
# Consider using larger runners for possible analysis time improvements.
|
||||
runs-on: ${{ (matrix.language == 'swift' && 'macos-latest') || 'ubuntu-latest' }}
|
||||
timeout-minutes: ${{ (matrix.language == 'swift' && 120) || 360 }}
|
||||
permissions:
|
||||
actions: read
|
||||
contents: read
|
||||
security-events: write
|
||||
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
language: [ 'c-cpp' ]
|
||||
# CodeQL supports [ 'c-cpp', 'csharp', 'go', 'java-kotlin', 'javascript-typescript', 'python', 'ruby', 'swift' ]
|
||||
# Use only 'java-kotlin' to analyze code written in Java, Kotlin or both
|
||||
# Use only 'javascript-typescript' to analyze code written in JavaScript, TypeScript or both
|
||||
# Learn more about CodeQL language support at https://aka.ms/codeql-docs/language-support
|
||||
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v7.0.1
|
||||
|
||||
# Initializes the CodeQL tools for scanning.
|
||||
- name: Initialize CodeQL
|
||||
uses: github/codeql-action/init@v4.37.8
|
||||
with:
|
||||
languages: ${{ matrix.language }}
|
||||
# If you wish to specify custom queries, you can do so here or in a config file.
|
||||
# By default, queries listed here will override any specified in a config file.
|
||||
# Prefix the list here with "+" to use these queries and those in the config file.
|
||||
|
||||
# For more details on CodeQL's query packs, refer to: https://docs.github.com/en/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-code-scanning#using-queries-in-ql-packs
|
||||
# queries: security-extended,security-and-quality
|
||||
config: |
|
||||
query-filters:
|
||||
- exclude:
|
||||
id: cpp/non-https-url
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
sudo apt-get update
|
||||
sudo apt-get install -y ccache cmake g++ sqlite3 libsqlite3-dev libtiff-dev libcurl4-openssl-dev
|
||||
# cache the .ccache directory
|
||||
# key it on the runner os, build type, deps, and arch
|
||||
# It's especially important to include arch in the key because we
|
||||
# may get runtime errors with -mavx2 from objects built on a
|
||||
# different architecture.
|
||||
- name: Restore build cache
|
||||
if: matrix.language == 'c-cpp'
|
||||
id: restore-cache
|
||||
uses: actions/cache/restore@v6.1.0
|
||||
with:
|
||||
path: ${{ github.workspace }}/.ccache
|
||||
key: ${{ matrix.id }}-${{ steps.get-arch.outputs.arch }}-${{ github.ref_name }}-${{ github.run_id }}
|
||||
restore-keys: |
|
||||
${{ matrix.id }}-${{ steps.get-arch.outputs.arch }}-${{ github.ref_name }}
|
||||
${{ matrix.id }}-${{ steps.get-arch.outputs.arch }}
|
||||
- name: Configure ccache
|
||||
if: matrix.language == 'c-cpp'
|
||||
run: |
|
||||
echo CCACHE_BASEDIR=${{ github.workspace }} >> ${GITHUB_ENV}
|
||||
echo CCACHE_DIR=${{ github.workspace }}/.ccache >> ${GITHUB_ENV}
|
||||
echo CCACHE_MAXSIZE=250M >> ${GITHUB_ENV}
|
||||
ccache -z
|
||||
- name: Build
|
||||
if: matrix.language == 'c-cpp'
|
||||
run: |
|
||||
mkdir build
|
||||
cd build
|
||||
cmake .. -DCMAKE_BUILD_TYPE=RelWithDebInfo -DUSE_CCACHE=YES
|
||||
make -j$(nproc)
|
||||
- name: Summarize ccache
|
||||
if: matrix.language == 'c-cpp'
|
||||
run: |
|
||||
ccache -s
|
||||
- name: Save build cache
|
||||
if: matrix.language == 'c-cpp'
|
||||
uses: actions/cache/save@v6.1.0
|
||||
with:
|
||||
path: ${{ github.workspace }}/.ccache
|
||||
key: ${{ steps.restore-cache.outputs.cache-primary-key }}
|
||||
|
||||
- name: Perform CodeQL Analysis
|
||||
uses: github/codeql-action/analyze@v4.37.8
|
||||
with:
|
||||
category: "/language:${{matrix.language}}"
|
||||
@@ -10,9 +10,6 @@ concurrency:
|
||||
group: ${{ github.workflow }}-${{ github.head_ref || github.ref }}
|
||||
cancel-in-progress: true
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
|
||||
jobs:
|
||||
conda:
|
||||
name: Conda ${{ matrix.platform }}
|
||||
@@ -22,36 +19,32 @@ jobs:
|
||||
strategy:
|
||||
fail-fast: true
|
||||
matrix:
|
||||
# macos-15-intel: Intel
|
||||
# macos-14: arm64
|
||||
platform: ['ubuntu-latest','windows-latest','macos-15-intel','macos-14']
|
||||
platform: ['ubuntu-latest','windows-latest','macos-latest']
|
||||
|
||||
env:
|
||||
GHA_CI_PLATFORM: ${{ matrix.platform }}
|
||||
PLATFORM: ${{ matrix.platform }}
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v7.0.1
|
||||
- uses: actions/checkout@v3
|
||||
|
||||
- uses: conda-incubator/setup-miniconda@v4
|
||||
- uses: conda-incubator/setup-miniconda@v2
|
||||
with:
|
||||
miniforge-variant: Mambaforge
|
||||
miniforge-version: latest
|
||||
use-mamba: true
|
||||
channels: conda-forge
|
||||
auto-update-conda: true
|
||||
|
||||
- name: Setup
|
||||
shell: bash -l {0}
|
||||
run: |
|
||||
source ./ci/conda/setup.sh
|
||||
source ./scripts/ci/conda/setup.sh
|
||||
|
||||
- name: Build
|
||||
shell: bash -l {0}
|
||||
run: |
|
||||
source ../ci/conda/compile.sh
|
||||
source ../scripts/ci/conda/compile.sh
|
||||
working-directory: ./proj.4-feedstock
|
||||
|
||||
|
||||
- uses: actions/upload-artifact@v7
|
||||
- uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: ${{ matrix.platform }}-conda-package
|
||||
path: ./proj.4-feedstock/packages/
|
||||
|
||||
@@ -9,16 +9,13 @@ on:
|
||||
# Allows you to run this workflow manually from the Actions tab
|
||||
workflow_dispatch:
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
|
||||
# A workflow run is made up of one or more jobs that can run sequentially or in parallel
|
||||
jobs:
|
||||
coverity:
|
||||
runs-on: ubuntu-22.04
|
||||
if: github.repository == 'OSGeo/PROJ'
|
||||
steps:
|
||||
- uses: actions/checkout@v7.0.1
|
||||
- uses: actions/checkout@v3
|
||||
|
||||
- name: Install Libraries
|
||||
run: |
|
||||
|
||||
@@ -1,59 +0,0 @@
|
||||
name: Docs
|
||||
|
||||
on:
|
||||
push:
|
||||
branches-ignore:
|
||||
- 'backport**'
|
||||
- 'dependabot**'
|
||||
pull_request:
|
||||
|
||||
concurrency:
|
||||
group: ${{ github.workflow }}-${{ github.head_ref || github.ref }}
|
||||
cancel-in-progress: true
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
|
||||
jobs:
|
||||
docs:
|
||||
name: Documentation checks
|
||||
|
||||
runs-on: ubuntu-latest
|
||||
strategy:
|
||||
fail-fast: true
|
||||
container: ghcr.io/osgeo/proj-docs
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v4.1.7
|
||||
|
||||
- name: Update sphinx-rtd-theme
|
||||
shell: bash -l {0}
|
||||
run: |
|
||||
pip install -U "sphinx-rtd-theme>=3.0.0"
|
||||
|
||||
- name: Print versions
|
||||
shell: bash -l {0}
|
||||
run: |
|
||||
python3 --version
|
||||
sphinx-build --version
|
||||
python3 -m pip list --not-required --format=columns
|
||||
- name: Lint .rst files
|
||||
shell: bash -l {0}
|
||||
run: |
|
||||
set -eu
|
||||
if find . -name '*.rst' | xargs grep -P '\t'; then echo 'Tabs are bad, please use four spaces in .rst files.'; false; fi
|
||||
if find . -name '*.rst' | xargs grep "\.\.versionadded"; then echo 'Wrong annotation. Should be .. versionadded'; false; fi
|
||||
if find . -name '*.rst' | xargs grep "\.\.note"; then echo 'Wrong annotation. Should be .. note'; false; fi
|
||||
if find . -name '*.rst' | xargs grep "\.\.warning"; then echo 'Wrong annotation. Should be .. warning'; false; fi
|
||||
if find . -name '*.rst' | xargs grep "\.\.codeblock"; then echo 'Wrong annotation. Should be .. codeblock'; false; fi
|
||||
working-directory: ./docs
|
||||
- name: Doxygen
|
||||
shell: bash -l {0}
|
||||
run: |
|
||||
make .doxygen_up_to_date
|
||||
working-directory: ./docs
|
||||
- name: Spelling
|
||||
shell: bash -l {0}
|
||||
run: |
|
||||
make spelling SPHINXOPTS=-W
|
||||
working-directory: ./docs
|
||||
+21
-175
@@ -4,9 +4,6 @@ on:
|
||||
push:
|
||||
paths-ignore:
|
||||
- 'docs/**'
|
||||
branches-ignore: ["dependabot/**"]
|
||||
tags:
|
||||
- '*'
|
||||
pull_request:
|
||||
paths-ignore:
|
||||
- 'docs/**'
|
||||
@@ -17,106 +14,61 @@ concurrency:
|
||||
group: ${{ github.workflow }}-${{ github.head_ref || github.ref }}
|
||||
cancel-in-progress: true
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
|
||||
# adapted from https://raw.githubusercontent.com/stefanprodan/podinfo/master/.github/workflows/release.yml
|
||||
#
|
||||
jobs:
|
||||
containers:
|
||||
name: ${{ matrix.container }} Container - ${{ matrix.runner }}
|
||||
name: ${{ matrix.container }} Container
|
||||
runs-on: ubuntu-latest
|
||||
strategy:
|
||||
matrix:
|
||||
container: ["proj"]
|
||||
runner: [ubuntu-24.04, ubuntu-24.04-arm]
|
||||
dockerfile: ["./Dockerfile"]
|
||||
include:
|
||||
- container: "proj-docs"
|
||||
container: ["proj","proj-docs"]
|
||||
dockerfile: ["./Dockerfile", "./docs/docbuild/Dockerfile"]
|
||||
exclude:
|
||||
- container: "proj"
|
||||
dockerfile: "./docs/docbuild/Dockerfile"
|
||||
runner: "ubuntu-24.04"
|
||||
runs-on: ${{ matrix.runner }}
|
||||
permissions:
|
||||
contents: read
|
||||
packages: write
|
||||
attestations: write
|
||||
id-token: write
|
||||
- container: "proj-docs"
|
||||
dockerfile: "./Dockerfile"
|
||||
env:
|
||||
# Only push proj-docs package for master
|
||||
PUSH_PACKAGES: ${{ github.repository_owner == 'OSGeo' && github.event_name != 'pull_request' && (matrix.container == 'proj' || (matrix.container == 'proj-docs' && github.ref_name == 'master')) }}
|
||||
PUSH_PACKAGES: ${{ github.repository_owner == 'OSGeo' && github.event_name != 'pull_request' }}
|
||||
CONTAINER: ${{ matrix.container }}
|
||||
steps:
|
||||
- uses: actions/checkout@v7.0.1
|
||||
- uses: actions/checkout@v3
|
||||
- name: Lint
|
||||
id: lint
|
||||
run: |
|
||||
echo "are we pushing packages" ${{ env.PUSH_PACKAGES }}
|
||||
echo "event_name" ${{ github.event_name }}
|
||||
echo "ref" ${{ github.ref }}
|
||||
- name: Set up Docker
|
||||
uses: docker/setup-docker-action@v5.4.0
|
||||
with:
|
||||
daemon-config: |
|
||||
{
|
||||
"debug": false,
|
||||
"features": {
|
||||
"containerd-snapshotter": true
|
||||
}
|
||||
}
|
||||
- name: Setup Docker Buildx
|
||||
id: buildx
|
||||
uses: docker/setup-buildx-action@v4
|
||||
uses: docker/setup-buildx-action@v2
|
||||
with:
|
||||
version: latest
|
||||
|
||||
- name: Login to GitHub Container Registry
|
||||
if: env.PUSH_PACKAGES == 'true'
|
||||
uses: docker/login-action@v4.6.0
|
||||
- if: ${{ env.PUSH_PACKAGES == 'true' }}
|
||||
name: Login to GitHub Container Registry
|
||||
uses: docker/login-action@v2
|
||||
with:
|
||||
registry: ghcr.io
|
||||
username: ${{ github.repository_owner }}
|
||||
password: ${{ secrets.GHCR_TOKEN }}
|
||||
- name: Login to Docker Hub
|
||||
if: env.PUSH_PACKAGES == 'true'
|
||||
uses: docker/login-action@v4.6.0
|
||||
- if: ${{ env.PUSH_PACKAGES == 'true' }}
|
||||
name: Login to Docker Hub
|
||||
uses: docker/login-action@v2
|
||||
with:
|
||||
username: ${{ secrets.DOCKER_USERNAME }}
|
||||
password: ${{ secrets.DOCKER_PASSWORD }}
|
||||
- name: Extract container metadata
|
||||
id: meta
|
||||
uses: docker/metadata-action@v6
|
||||
with:
|
||||
images: |
|
||||
ghcr.io/osgeo/${{ matrix.container }}
|
||||
docker.io/osgeo/${{ matrix.container }}
|
||||
tags: |
|
||||
type=ref,event=branch
|
||||
type=ref,event=pr
|
||||
type=semver,pattern={{version}}
|
||||
type=semver,pattern={{major}}.{{minor}}
|
||||
env:
|
||||
DOCKER_METADATA_ANNOTATIONS_LEVELS: manifest,index
|
||||
- name: Prepare
|
||||
id: prep
|
||||
run: |
|
||||
VERSION=sha-${GITHUB_SHA::8}
|
||||
if [[ $GITHUB_REF == refs/tags/* ]]; then
|
||||
VERSION=${GITHUB_REF/refs\/tags\//}
|
||||
# 9.8.0-x --> 9.8.0
|
||||
VERSION=$(echo $VERSION | sed "s/-.*//" )
|
||||
fi
|
||||
echo "BUILD_DATE=$(date -u +'%Y-%m-%dT%H:%M:%SZ')" >> $GITHUB_OUTPUT
|
||||
echo "VERSION=${VERSION}" >> $GITHUB_OUTPUT
|
||||
runner=${{ matrix.runner }}
|
||||
if [[ "$runner" == *"-arm" ]]; then
|
||||
ARCH=arm64
|
||||
else
|
||||
ARCH=amd64
|
||||
fi
|
||||
echo "ARCH=$ARCH" >> $GITHUB_OUTPUT
|
||||
|
||||
- name: Build docs image
|
||||
uses: docker/build-push-action@v7.3.0
|
||||
if: matrix.container == 'proj-docs'
|
||||
echo ::set-output name=BUILD_DATE::$(date -u +'%Y-%m-%dT%H:%M:%SZ')
|
||||
echo ::set-output name=VERSION::${VERSION}
|
||||
- name: Build image
|
||||
uses: docker/build-push-action@v4
|
||||
with:
|
||||
push: ${{ env.PUSH_PACKAGES == 'true' }}
|
||||
builder: ${{ steps.buildx.outputs.name }}
|
||||
@@ -136,109 +88,3 @@ jobs:
|
||||
org.opencontainers.image.revision=${{ github.sha }}
|
||||
org.opencontainers.image.version=${{ steps.prep.outputs.VERSION }}
|
||||
org.opencontainers.image.created=${{ steps.prep.outputs.BUILD_DATE }}
|
||||
|
||||
- name: Prepare tags
|
||||
id: prep_tags
|
||||
run: |
|
||||
TAGS="docker.io/osgeo/${{ matrix.container }}:${{ steps.prep.outputs.VERSION }}-${{ steps.prep.outputs.ARCH }}
|
||||
ghcr.io/osgeo/${{ matrix.container }}:${{ steps.prep.outputs.VERSION }}-${{ steps.prep.outputs.ARCH }}"
|
||||
if [ "${GITHUB_REF}" = "refs/heads/master" ]; then
|
||||
TAGS="$TAGS
|
||||
docker.io/osgeo/${{ matrix.container }}:latest-${{ steps.prep.outputs.ARCH }}
|
||||
ghcr.io/osgeo/${{ matrix.container }}:latest-${{ steps.prep.outputs.ARCH }}"
|
||||
fi
|
||||
echo "tags<<EOF" >> $GITHUB_OUTPUT
|
||||
echo "$TAGS" >> $GITHUB_OUTPUT
|
||||
echo "EOF" >> $GITHUB_OUTPUT
|
||||
|
||||
- name: Build image
|
||||
uses: docker/build-push-action@v7.3.0
|
||||
id: push
|
||||
if: matrix.container == 'proj'
|
||||
with:
|
||||
push: ${{ env.PUSH_PACKAGES == 'true' }}
|
||||
builder: ${{ steps.buildx.outputs.name }}
|
||||
context: .
|
||||
file: ${{ matrix.dockerfile }}
|
||||
build-args: |
|
||||
PROJ_GITHUB_SHA=${{ github.sha }}
|
||||
platforms: linux/${{ steps.prep.outputs.ARCH }}
|
||||
tags: ${{ steps.prep_tags.outputs.tags }}
|
||||
labels: |
|
||||
org.opencontainers.image.title=${{ github.event.repository.name }}
|
||||
org.opencontainers.image.description=${{ github.event.repository.description }}
|
||||
org.opencontainers.image.source=${{ github.event.repository.html_url }}
|
||||
org.opencontainers.image.url=${{ github.event.repository.html_url }}
|
||||
org.opencontainers.image.revision=${{ github.sha }}
|
||||
org.opencontainers.image.version=${{ steps.prep.outputs.VERSION }}
|
||||
org.opencontainers.image.created=${{ steps.prep.outputs.BUILD_DATE }}
|
||||
- name: Generate artifact attestation
|
||||
if: ${{ env.PUSH_PACKAGES == 'true' && matrix.container == 'proj' }}
|
||||
uses: actions/attest-build-provenance@v4.2.2
|
||||
with:
|
||||
subject-name: ghcr.io/osgeo/proj
|
||||
subject-digest: ${{ steps.push.outputs.digest }}
|
||||
push-to-registry: ${{ env.PUSH_PACKAGES == 'true' }}
|
||||
|
||||
create-manifest:
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
packages: write
|
||||
attestations: write
|
||||
id-token: write
|
||||
runs-on: ubuntu-latest
|
||||
env:
|
||||
PUSH_PACKAGES: ${{ github.repository_owner == 'OSGeo' && github.event_name != 'pull_request' }}
|
||||
needs: containers
|
||||
steps:
|
||||
- name: Login to GitHub Container Registry
|
||||
uses: docker/login-action@v4.6.0
|
||||
if: env.PUSH_PACKAGES == 'true'
|
||||
with:
|
||||
registry: ghcr.io
|
||||
username: ${{ github.actor }}
|
||||
password: ${{ secrets.GITHUB_TOKEN }}
|
||||
|
||||
- name: Login to Docker Hub
|
||||
uses: docker/login-action@v4.6.0
|
||||
if: env.PUSH_PACKAGES == 'true'
|
||||
with:
|
||||
username: ${{ secrets.DOCKER_USERNAME }}
|
||||
password: ${{ secrets.DOCKER_PASSWORD }}
|
||||
|
||||
- name: Prepare
|
||||
id: prep
|
||||
run: |
|
||||
VERSION=sha-${GITHUB_SHA::8}
|
||||
if [[ $GITHUB_REF == refs/tags/* ]]; then
|
||||
VERSION=${GITHUB_REF/refs\/tags\//}
|
||||
# 9.8.0-x --> 9.8.0
|
||||
VERSION=$(echo $VERSION | sed "s/-.*//" )
|
||||
fi
|
||||
echo "VERSION=${VERSION}" >> $GITHUB_OUTPUT
|
||||
|
||||
- name: Create and push multi-platform manifest
|
||||
if: env.PUSH_PACKAGES == 'true'
|
||||
run: |
|
||||
docker buildx imagetools create \
|
||||
-t ghcr.io/osgeo/proj:${{ steps.prep.outputs.VERSION }} \
|
||||
ghcr.io/osgeo/proj:${{ steps.prep.outputs.VERSION }}-amd64 \
|
||||
ghcr.io/osgeo/proj:${{ steps.prep.outputs.VERSION }}-arm64
|
||||
|
||||
docker buildx imagetools create \
|
||||
-t osgeo/proj:${{ steps.prep.outputs.VERSION }} \
|
||||
osgeo/proj:${{ steps.prep.outputs.VERSION }}-amd64 \
|
||||
osgeo/proj:${{ steps.prep.outputs.VERSION }}-arm64
|
||||
|
||||
if [ "${GITHUB_REF}" = "refs/heads/master" ]; then
|
||||
docker buildx imagetools create \
|
||||
-t ghcr.io/osgeo/proj:latest \
|
||||
ghcr.io/osgeo/proj:latest-amd64 \
|
||||
ghcr.io/osgeo/proj:latest-arm64
|
||||
|
||||
docker buildx imagetools create \
|
||||
-t osgeo/proj:latest \
|
||||
osgeo/proj:latest-amd64 \
|
||||
osgeo/proj:latest-arm64
|
||||
fi
|
||||
|
||||
@@ -1,90 +0,0 @@
|
||||
name: Emscripten
|
||||
|
||||
on:
|
||||
push:
|
||||
paths-ignore:
|
||||
- 'docs/**'
|
||||
pull_request:
|
||||
paths-ignore:
|
||||
- 'docs/**'
|
||||
|
||||
|
||||
concurrency:
|
||||
group: ${{ github.workflow }}-${{ github.head_ref || github.ref }}
|
||||
cancel-in-progress: true
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
|
||||
jobs:
|
||||
|
||||
emscripten:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
if: "!contains(github.event.head_commit.message, '[ci skip]') && !contains(github.event.head_commit.message, '[skip ci]')"
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v7.0.1
|
||||
|
||||
- name: Build docker
|
||||
run: docker build -t proj-emscripten-builder ci/emscripten/
|
||||
|
||||
- name: Artifacts folder
|
||||
run: mkdir -p "$PWD"/wasm_out
|
||||
|
||||
- name: Run docker build
|
||||
run: |
|
||||
docker run --user $(id -u):$(id -g) --rm \
|
||||
-e PROJ_GITHUB_SHA=${{ github.sha }} \
|
||||
-v "$PWD":/build/proj_src \
|
||||
-v "$PWD"/wasm_out:/build/install \
|
||||
proj-emscripten-builder
|
||||
|
||||
- name: Upload artifacts
|
||||
uses: actions/upload-artifact@v7
|
||||
with:
|
||||
name: proj-js-wasm
|
||||
retention-days: 90
|
||||
path: wasm_out/projModule.*
|
||||
|
||||
- name: Copy for tests
|
||||
run: |
|
||||
mkdir -p "$PWD"/out_node
|
||||
cp wasm_out/projModule.* out_node
|
||||
cp ci/emscripten/proj.ems.tests.js out_node
|
||||
|
||||
- name: Run docker tests
|
||||
run: |
|
||||
docker run --user $(id -u):$(id -g) --rm \
|
||||
-v "$PWD"/out_node:/opt/node/tests \
|
||||
node:24-alpine \
|
||||
node /opt/node/tests/proj.ems.tests.js
|
||||
|
||||
- name: Deploy ssh key (wasm_proj)
|
||||
if: ${{ github.event_name == 'push' && github.ref_name == 'master' && github.repository == 'OSGeo/PROJ' }}
|
||||
shell: bash -l {0}
|
||||
env:
|
||||
WASM_PROJ_DEPLOY_SSH_KEY: ${{ secrets.WASM_PROJ_DEPLOY_SSH_KEY }} # zizmor: ignore[secrets-outside-env]
|
||||
run: |
|
||||
mkdir $HOME/.ssh && echo "${WASM_PROJ_DEPLOY_SSH_KEY}" > $HOME/.ssh/id_rsa
|
||||
chmod 700 $HOME/.ssh && chmod 600 $HOME/.ssh/id_rsa
|
||||
ssh-keyscan -t rsa github.com >> $HOME/.ssh/known_hosts
|
||||
eval `ssh-agent -s`
|
||||
ssh-add $HOME/.ssh/id_rsa
|
||||
|
||||
- name: Deploy to wasm-proj/master pages
|
||||
if: ${{ github.event_name == 'push' && github.ref_name == 'master' && github.repository == 'OSGeo/PROJ' }}
|
||||
shell: bash -l {0}
|
||||
run: |
|
||||
set -x
|
||||
set -e
|
||||
git clone -b pages git@github.com:jjimenezshaw/wasm-proj.git wasm_proj_pages
|
||||
cp wasm_out/projModule.* wasm_proj_pages/master/wasm/
|
||||
cd wasm_proj_pages
|
||||
git config user.email "proj-master-updater@example.com"
|
||||
git config user.name "Automatic PROJ updater"
|
||||
git remote -v
|
||||
git rev-parse --abbrev-ref HEAD
|
||||
git add -A
|
||||
git commit -m "Update wasm with OSGeo/PROJ commit $GITHUB_SHA"
|
||||
git push -f origin pages
|
||||
@@ -12,9 +12,6 @@ concurrency:
|
||||
group: ${{ github.workflow }}-${{ github.head_ref || github.ref }}
|
||||
cancel-in-progress: true
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
|
||||
jobs:
|
||||
|
||||
linux_gcc_32bit:
|
||||
@@ -22,10 +19,10 @@ jobs:
|
||||
if: "!contains(github.event.head_commit.message, '[ci skip]') && !contains(github.event.head_commit.message, '[skip ci]')"
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v7.0.1
|
||||
uses: actions/checkout@v3
|
||||
|
||||
- name: Cache
|
||||
uses: actions/cache@v6.1.0
|
||||
uses: actions/cache@v3
|
||||
id: cache
|
||||
with:
|
||||
path: |
|
||||
@@ -34,4 +31,4 @@ jobs:
|
||||
restore-keys: ${{ runner.os }}-cache-gcc32bit-
|
||||
|
||||
- name: Run
|
||||
run: docker run -e PROJ_GITHUB_SHA=${{ github.sha }} -e CI -e WORK_DIR="$PWD" -v $PWD:$PWD ubuntu:24.04 $PWD/ci/linux_gcc_32bit/start.sh
|
||||
run: docker run -e CI -e WORK_DIR="$PWD" -v $PWD:$PWD ubuntu:20.04 $PWD/.github/workflows/linux_gcc_32bit/start.sh
|
||||
|
||||
Executable
+47
@@ -0,0 +1,47 @@
|
||||
#!/bin/bash
|
||||
|
||||
set -e
|
||||
|
||||
export TRAVIS_OS_NAME=linux
|
||||
export BUILD_NAME=linux_gcc_32bit
|
||||
export TRAVIS_BUILD_DIR="$WORK_DIR"
|
||||
|
||||
ARCH=i386
|
||||
|
||||
dpkg --add-architecture i386
|
||||
apt-get update -y
|
||||
|
||||
DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends -o APT::Immediate-Configure=0 \
|
||||
autoconf automake libtool make cmake ccache pkg-config python3-pip sqlite3 tar zip \
|
||||
gcc-multilib g++-multilib g++ jq dpkg-dev \
|
||||
libsqlite3-dev:$ARCH \
|
||||
libtiff-dev:$ARCH libwebp-dev:$ARCH libzstd-dev:$ARCH \
|
||||
libcurl4-openssl-dev:$ARCH libnghttp2-dev:$ARCH libidn2-dev:$ARCH librtmp-dev:$ARCH libssh-dev:$ARCH \
|
||||
libpsl-dev:$ARCH libssl-dev:$ARCH libkrb5-dev:$ARCH comerr-dev:$ARCH libldap2-dev:$ARCH libbrotli-dev:$ARCH
|
||||
|
||||
python3 -m pip install --user jsonschema
|
||||
export PATH=$HOME/.local/bin:$PATH
|
||||
|
||||
export CXXFLAGS='-m32 -D_GLIBCXX_ASSERTIONS'
|
||||
export CFLAGS='-m32'
|
||||
export TIFF_CFLAGS=-I/usr/include/i386-linux-gnu
|
||||
export TIFF_LIBS="-L/usr/lib/i386-linux-gnu -ltiff"
|
||||
export SQLITE3_CFLAGS=-I/usr/include/i386-linux-gnu
|
||||
export SQLITE3_LIBS="-L/usr/lib/i386-linux-gnu -lsqlite3"
|
||||
|
||||
export PKG_CONFIG=i686-linux-gnu-pkg-config
|
||||
|
||||
cd "$WORK_DIR"
|
||||
|
||||
if test -f "$WORK_DIR/ccache.tar.gz"; then
|
||||
echo "Restoring ccache..."
|
||||
(cd $HOME && tar xzf "$WORK_DIR/ccache.tar.gz")
|
||||
fi
|
||||
|
||||
ccache -M 500M
|
||||
|
||||
CFLAGS="-Werror $CFLAGS" CXXFLAGS="-Werror $CXXFLAGS" CMAKE_BUILD_TYPE=RelWithDebInfo ./travis/install.sh
|
||||
|
||||
echo "Saving ccache..."
|
||||
rm -f "$WORK_DIR/ccache.tar.gz"
|
||||
(cd $HOME && tar czf "$WORK_DIR/ccache.tar.gz" .ccache)
|
||||
@@ -1,4 +1,4 @@
|
||||
name: Fedora Rawhide
|
||||
name: Linux GCC 5.4
|
||||
|
||||
on:
|
||||
push:
|
||||
@@ -12,26 +12,28 @@ concurrency:
|
||||
group: ${{ github.workflow }}-${{ github.head_ref || github.ref }}
|
||||
cancel-in-progress: true
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
|
||||
jobs:
|
||||
|
||||
fedora_rawhide:
|
||||
linux_gcc_5_4:
|
||||
runs-on: ubuntu-latest
|
||||
if: "!contains(github.event.head_commit.message, '[ci skip]') && !contains(github.event.head_commit.message, '[skip ci]')"
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v7.0.1
|
||||
uses: actions/checkout@v3
|
||||
|
||||
- name: Cache
|
||||
uses: actions/cache@v6.1.0
|
||||
uses: actions/cache@v3
|
||||
id: cache
|
||||
with:
|
||||
path: |
|
||||
${{ github.workspace }}/ccache.tar.gz
|
||||
key: ${{ runner.os }}-cache-fedora_rawhide-${{ github.run_id }}
|
||||
restore-keys: ${{ runner.os }}-cache-fedora_rawhide-
|
||||
key: ${{ runner.os }}-cache-gcc-5-4-${{ github.run_id }}
|
||||
restore-keys: ${{ runner.os }}-cache-gcc-5-4-
|
||||
|
||||
- name: Run
|
||||
run: docker run -e PROJ_GITHUB_SHA=${{ github.sha }} -e CI -e WORK_DIR="$PWD" -v $PWD:$PWD fedora:rawhide $PWD/ci/fedora_rawhide/start.sh
|
||||
run: docker run -e CI -e WORK_DIR="$PWD" -v $PWD:$PWD ubuntu:16.04 $PWD/.github/workflows/linux_gcc_5_4/start.sh
|
||||
|
||||
- name: Coveralls
|
||||
uses: coverallsapp/github-action@v1.1.2
|
||||
with:
|
||||
github-token: ${{ secrets.GITHUB_TOKEN }}
|
||||
Executable
+42
@@ -0,0 +1,42 @@
|
||||
#!/bin/bash
|
||||
|
||||
set -e
|
||||
|
||||
export TRAVIS_OS_NAME=linux
|
||||
export BUILD_NAME=linux_gcc
|
||||
export TRAVIS_BUILD_DIR="$WORK_DIR"
|
||||
|
||||
apt-get update -y
|
||||
|
||||
DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
|
||||
autoconf automake libtool make cmake ccache pkg-config python3-pip sqlite3 tar zip \
|
||||
g++ jq lcov python3-setuptools \
|
||||
libsqlite3-dev \
|
||||
libtiff-dev \
|
||||
libcurl4-openssl-dev libidn11-dev librtmp-dev libssl-dev libkrb5-dev comerr-dev libldap2-dev
|
||||
|
||||
python3 -m pip install --user --upgrade "pip < 21.0"
|
||||
echo `python3 -m pip --version`
|
||||
python3 -m pip config --user set global.progress_bar off
|
||||
python3 -m pip install --user jsonschema
|
||||
python3 -m pip install --user cmake==3.9.6
|
||||
|
||||
export PATH=$HOME/.local/bin:$PATH
|
||||
|
||||
cd "$WORK_DIR"
|
||||
|
||||
if test -f "$WORK_DIR/ccache.tar.gz"; then
|
||||
echo "Restoring ccache..."
|
||||
(cd $HOME && tar xzf "$WORK_DIR/ccache.tar.gz")
|
||||
fi
|
||||
|
||||
ccache -M 500M
|
||||
|
||||
CFLAGS="-Werror $CFLAGS" CXXFLAGS="-Werror $CXXFLAGS" ./travis/install.sh
|
||||
|
||||
echo "Saving ccache..."
|
||||
rm -f "$WORK_DIR/ccache.tar.gz"
|
||||
(cd $HOME && tar czf "$WORK_DIR/ccache.tar.gz" .ccache)
|
||||
|
||||
mkdir -p coverage
|
||||
lcov --no-external --capture --directory src --output-file coverage/lcov.info
|
||||
+11
-24
@@ -12,52 +12,39 @@ concurrency:
|
||||
group: ${{ github.workflow }}-${{ github.head_ref || github.ref }}
|
||||
cancel-in-progress: true
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
|
||||
jobs:
|
||||
|
||||
macos_build:
|
||||
strategy:
|
||||
fail-fast: true
|
||||
matrix:
|
||||
include:
|
||||
- platform: "macos-15-intel"
|
||||
architecture: "x64"
|
||||
# macOS-14 is a M1 ARM64 MacOS runner: https://github.blog/changelog/2024-01-30-github-actions-introducing-the-new-m1-macos-runner-available-to-open-source/
|
||||
- platform: "macOS-14"
|
||||
architecture: "arm64"
|
||||
|
||||
runs-on: ${{ matrix.platform }}
|
||||
|
||||
runs-on: macos-latest
|
||||
if: "!contains(github.event.head_commit.message, '[ci skip]') && !contains(github.event.head_commit.message, '[skip ci]')"
|
||||
steps:
|
||||
|
||||
- uses: actions/checkout@v7.0.1
|
||||
- uses: actions/checkout@v3
|
||||
|
||||
- uses: mamba-org/setup-micromamba@v3
|
||||
- uses: conda-incubator/setup-miniconda@v2
|
||||
with:
|
||||
init-shell: bash
|
||||
environment-file: ci/mac/environment.yml
|
||||
miniforge-variant: Mambaforge
|
||||
miniforge-version: latest
|
||||
use-mamba: true
|
||||
|
||||
- name: Cache
|
||||
uses: actions/cache@v6.1.0
|
||||
uses: actions/cache@v3
|
||||
id: cache
|
||||
with:
|
||||
path: ${{ github.workspace }}/.ccache
|
||||
key: ${{ runner.os }}-cache-mac-${{ matrix.architecture }}-${{ github.run_id }}
|
||||
restore-keys: ${{ runner.os }}-cache-mac-${{ matrix.architecture }}-
|
||||
key: ${{ runner.os }}-cache-mac-${{ github.run_id }}
|
||||
restore-keys: ${{ runner.os }}-cache-mac-
|
||||
|
||||
- name: Install Requirements
|
||||
shell: bash -l {0}
|
||||
run: |
|
||||
source ci/mac/before_install.sh
|
||||
source .github/workflows/mac/before_install.sh
|
||||
|
||||
- name: Build
|
||||
shell: bash -l {0}
|
||||
run: |
|
||||
export TRAVIS_BUILD_DIR=$PWD
|
||||
source ci/mac/install.sh
|
||||
source .github/workflows/mac/install.sh
|
||||
env:
|
||||
CCACHE_DIR: ${{ github.workspace }}/.ccache
|
||||
TRAVIS_OS_NAME: osx
|
||||
|
||||
Executable
+7
@@ -0,0 +1,7 @@
|
||||
#!/bin/bash
|
||||
|
||||
set -e
|
||||
|
||||
mamba install --yes --quiet compilers
|
||||
mamba install --yes --quiet python=3.8 autoconf automake libtool pkg-config ccache jsonschema
|
||||
mamba install --yes --quiet --only-deps proj=7.1.1=h45baca5_3
|
||||
Executable
+7
@@ -0,0 +1,7 @@
|
||||
#!/bin/bash
|
||||
|
||||
set -e
|
||||
|
||||
ccache -M 200M
|
||||
|
||||
CC="clang" CXX="clang++" CFLAGS="-Werror" CXXFLAGS="-Werror" CMAKE_BUILD_TYPE=RelWithDebInfo ./travis/install.sh
|
||||
@@ -12,9 +12,6 @@ concurrency:
|
||||
group: ${{ github.workflow }}-${{ github.head_ref || github.ref }}
|
||||
cancel-in-progress: true
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
|
||||
jobs:
|
||||
|
||||
mingw_w64_build:
|
||||
@@ -22,10 +19,10 @@ jobs:
|
||||
if: "!contains(github.event.head_commit.message, '[ci skip]') && !contains(github.event.head_commit.message, '[skip ci]')"
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v7.0.1
|
||||
uses: actions/checkout@v3
|
||||
|
||||
- name: Cache
|
||||
uses: actions/cache@v6.1.0
|
||||
uses: actions/cache@v3
|
||||
id: cache
|
||||
with:
|
||||
path: |
|
||||
@@ -34,4 +31,4 @@ jobs:
|
||||
restore-keys: ${{ runner.os }}-cache-mingw_w64-
|
||||
|
||||
- name: Build
|
||||
run: docker run -e PROJ_GITHUB_SHA=${{ github.sha }} -e CI -e TRAVIS_OS_NAME=linux -e BUILD_NAME=mingw_w64 -e WORK_DIR="$PWD" -v $PWD:$PWD ubuntu:22.04 $PWD/ci/mingw_w64/start.sh
|
||||
run: docker run -e CI -e TRAVIS_OS_NAME=linux -e BUILD_NAME=mingw_w64 -e WORK_DIR="$PWD" -v $PWD:$PWD ubuntu:18.04 $PWD/.github/workflows/mingw_w64/start.sh
|
||||
|
||||
@@ -26,8 +26,6 @@ cd "$WORK_DIR"
|
||||
if test -f "$WORK_DIR/ccache.tar.gz"; then
|
||||
echo "Restoring ccache..."
|
||||
(cd $HOME && tar xzf "$WORK_DIR/ccache.tar.gz")
|
||||
else
|
||||
mkdir -p $HOME/.ccache
|
||||
fi
|
||||
|
||||
sudo apt-get install -y --no-install-recommends \
|
||||
@@ -49,7 +47,7 @@ ccache -M 500M
|
||||
ccache -s
|
||||
|
||||
MINGW_ARCH=x86_64-w64-mingw32
|
||||
MINGW_PREFIX=/usr/lib/gcc/$MINGW_ARCH/10-posix
|
||||
MINGW_PREFIX=/usr/lib/gcc/$MINGW_ARCH/7.3-posix
|
||||
|
||||
export CC="$MINGW_ARCH-gcc"
|
||||
export CXX="$MINGW_ARCH-g++"
|
||||
@@ -66,11 +64,11 @@ WINE_SYSDIR=$WINE_PREFIX/drive_c/windows
|
||||
wine64 cmd /c dir
|
||||
ln -s $MINGW_PREFIX/libstdc++-6.dll $WINE_SYSDIR
|
||||
ln -s $MINGW_PREFIX/libgcc_s_seh-1.dll $WINE_SYSDIR
|
||||
# ln -s $MINGW_PREFIX/libgcc_s_sjlj-1.dll $WINE_SYSDIR
|
||||
ln -s $MINGW_PREFIX/libgcc_s_sjlj-1.dll $WINE_SYSDIR
|
||||
ln -s /usr/$MINGW_ARCH/lib/libwinpthread-1.dll $WINE_SYSDIR
|
||||
|
||||
# build zlib
|
||||
wget -q https://github.com/madler/zlib/archive/v1.2.11.tar.gz
|
||||
wget https://github.com/madler/zlib/archive/v1.2.11.tar.gz
|
||||
tar xzf v1.2.11.tar.gz
|
||||
(cd zlib-1.2.11 && \
|
||||
sudo make install -f win32/Makefile.gcc SHARED_MODE=1 \
|
||||
@@ -81,13 +79,13 @@ tar xzf v1.2.11.tar.gz
|
||||
ln -s /usr/$MINGW_ARCH/bin/zlib1.dll $WINE_SYSDIR
|
||||
|
||||
# build libtiff
|
||||
wget -q http://download.osgeo.org/libtiff/tiff-4.1.0.tar.gz
|
||||
wget http://download.osgeo.org/libtiff/tiff-4.1.0.tar.gz
|
||||
tar xzf tiff-4.1.0.tar.gz
|
||||
(cd tiff-4.1.0 && ./configure --host=$MINGW_ARCH --prefix=/usr/$MINGW_ARCH && make && sudo make install)
|
||||
ln -s /usr/$MINGW_ARCH/bin/libtiff-5.dll $WINE_SYSDIR
|
||||
|
||||
# build sqlite3
|
||||
wget -q https://sqlite.org/2020/sqlite-autoconf-3330000.tar.gz
|
||||
wget https://sqlite.org/2020/sqlite-autoconf-3330000.tar.gz
|
||||
tar xzf sqlite-autoconf-3330000.tar.gz
|
||||
# Build with SQLITE_DQS=0 to ensure we properly use single quotes and double quotes (cf issue #2480)
|
||||
(cd sqlite-autoconf-3330000 &&
|
||||
@@ -95,16 +93,15 @@ CFLAGS="-DSQLITE_DQS=0" ./configure --host=$MINGW_ARCH --prefix=/usr/$MINGW_ARCH
|
||||
ln -s /usr/$MINGW_ARCH/bin/libsqlite3-0.dll $WINE_SYSDIR
|
||||
|
||||
# build proj
|
||||
rm -rf build
|
||||
mkdir build
|
||||
cd build
|
||||
cmake \
|
||||
-G "Unix Makefiles" \
|
||||
cmake -G "Unix Makefiles" \
|
||||
-D CMAKE_SYSTEM_NAME=Windows \
|
||||
-D CMAKE_CROSSCOMPILING_EMULATOR=/usr/bin/wine64 \
|
||||
-D CMAKE_C_COMPILER=/usr/bin/${MINGW_ARCH}-gcc \
|
||||
-D CMAKE_CXX_COMPILER=/usr/bin/${MINGW_ARCH}-g++ \
|
||||
-D CMAKE_COMPILE_WARNING_AS_ERROR=ON \
|
||||
-D CMAKE_C_FLAGS="-Werror" \
|
||||
-D CMAKE_CXX_FLAGS="-Werror" \
|
||||
-D CMAKE_BUILD_TYPE=Release \
|
||||
-D CMAKE_FIND_ROOT_PATH=/usr/${MINGW_ARCH} \
|
||||
-D CMAKE_INSTALL_PREFIX=/tmp/proj_install \
|
||||
@@ -125,4 +122,4 @@ ccache -s
|
||||
|
||||
echo "Saving ccache..."
|
||||
rm -f "$WORK_DIR/ccache.tar.gz"
|
||||
(cd $HOME && test ! -e .ccache || tar czf "$WORK_DIR/ccache.tar.gz" .ccache)
|
||||
(cd $HOME && tar czf "$WORK_DIR/ccache.tar.gz" .ccache)
|
||||
@@ -14,7 +14,7 @@ jobs:
|
||||
if: github.repository_owner == 'osgeo'
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/stale@v11.0.0
|
||||
- uses: actions/stale@v8
|
||||
with:
|
||||
repo-token: ${{ secrets.GITHUB_TOKEN }}
|
||||
stale-pr-message: >
|
||||
|
||||
@@ -12,9 +12,6 @@ concurrency:
|
||||
group: ${{ github.workflow }}-${{ github.head_ref || github.ref }}
|
||||
cancel-in-progress: true
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
|
||||
jobs:
|
||||
|
||||
MSVC:
|
||||
@@ -35,19 +32,11 @@ jobs:
|
||||
|
||||
steps:
|
||||
|
||||
- uses: actions/checkout@v7.0.1
|
||||
|
||||
- uses: actions/setup-python@v7
|
||||
with:
|
||||
python-version: "3.x"
|
||||
- run: pip install pyyaml
|
||||
|
||||
- uses: TheMrMilchmann/setup-msvc-dev@v4
|
||||
with:
|
||||
arch: ${{ env.ARCH }}
|
||||
- uses: actions/checkout@v3
|
||||
- uses: ilammy/msvc-dev-cmd@v1
|
||||
|
||||
- name: Cache vcpkg packages
|
||||
uses: actions/cache@v6.1.0
|
||||
uses: actions/cache@v3
|
||||
id: cache
|
||||
with:
|
||||
path: c:\vcpkg\installed
|
||||
@@ -57,7 +46,7 @@ jobs:
|
||||
shell: cmd
|
||||
if: steps.cache.outputs.cache-hit != 'true'
|
||||
run: |
|
||||
vcpkg install sqlite3[core,tool,rtree] tiff curl --triplet=${{ env.ARCH }}-windows
|
||||
vcpkg install sqlite3[core,tool] tiff curl --triplet=${{ env.ARCH }}-windows
|
||||
|
||||
- name: Build
|
||||
shell: cmd
|
||||
@@ -72,36 +61,12 @@ jobs:
|
||||
mkdir %PROJ_BUILD%
|
||||
cd %PROJ_BUILD%
|
||||
set PROJ_DIR=%GITHUB_WORKSPACE%\proj_dir
|
||||
:: Not directly linked to BUILD_SHARED_LIBS, but a way to test different C++ standard versions
|
||||
if "${{ env.BUILD_SHARED_LIBS }}"=="ON" (set CMAKE_CXX_STANDARD="-DCMAKE_CXX_STANDARD=20")
|
||||
if "${{ env.BUILD_TYPE }}"=="Release" (set CMAKE_UNITY_BUILD_OPT="-DCMAKE_UNITY_BUILD=ON")
|
||||
cmake ^
|
||||
-D CMAKE_BUILD_TYPE="${{ env.BUILD_TYPE }}" ^
|
||||
-D BUILD_SHARED_LIBS="${{ env.BUILD_SHARED_LIBS }}" ^
|
||||
-D EXPORT_PDB="ON" ^
|
||||
-D CMAKE_COMPILE_WARNING_AS_ERROR=ON ^
|
||||
%CMAKE_CXX_STANDARD% ^
|
||||
-D CMAKE_TOOLCHAIN_FILE=c:/vcpkg/scripts/buildsystems/vcpkg.cmake ^
|
||||
-D CMAKE_INSTALL_PREFIX="%PROJ_DIR%" ^
|
||||
-D PROJ_DB_CACHE_DIR=%PROJ_DB_CACHE_DIR% ^
|
||||
%CMAKE_UNITY_BUILD_OPT% ..
|
||||
cmake -DCMAKE_BUILD_TYPE="${{ env.BUILD_TYPE }}" -DBUILD_SHARED_LIBS="${{ env.BUILD_SHARED_LIBS }}" -DCMAKE_C_FLAGS="/WX" -DCMAKE_CXX_FLAGS="/WX" -DCMAKE_TOOLCHAIN_FILE=c:/vcpkg/scripts/buildsystems/vcpkg.cmake -DCMAKE_INSTALL_PREFIX="%PROJ_DIR%" -DPROJ_DB_CACHE_DIR=%PROJ_DB_CACHE_DIR% ..
|
||||
ninja -v
|
||||
ninja install
|
||||
dir %PROJ_DIR%\bin
|
||||
|
||||
- name: Run tests
|
||||
shell: bash -l {0}
|
||||
run: |
|
||||
export VCPKG_ROOT=c:/vcpkg
|
||||
export platform=${{ env.ARCH }}
|
||||
export VCPKG_INSTALLED=${VCPKG_ROOT}/installed/${platform}-windows
|
||||
export PATH=${VCPKG_INSTALLED}/bin:${PATH}
|
||||
export PROJ_DIR=${GITHUB_WORKSPACE}/proj_dir
|
||||
export PROJ_BUILD=${GITHUB_WORKSPACE}/build
|
||||
cd ${PROJ_BUILD}
|
||||
ctest --output-on-failure -C "${{ env.BUILD_TYPE }}"
|
||||
|
||||
- name: Post install checks
|
||||
shell: cmd
|
||||
run: |
|
||||
set VCPKG_ROOT=c:\vcpkg
|
||||
@@ -111,6 +76,7 @@ jobs:
|
||||
set PROJ_DIR=%GITHUB_WORKSPACE%\proj_dir
|
||||
set PROJ_BUILD=%GITHUB_WORKSPACE%\build
|
||||
cd %PROJ_BUILD%
|
||||
ctest --output-on-failure -C "${{ env.BUILD_TYPE }}"
|
||||
set PATH=%PROJ_DIR%\bin;%PATH%
|
||||
set BUILD_MODE=shared
|
||||
if "${{ env.BUILD_SHARED_LIBS }}"=="OFF" (set BUILD_MODE=static)
|
||||
@@ -137,10 +103,10 @@ jobs:
|
||||
|
||||
steps:
|
||||
|
||||
- uses: actions/checkout@v7.0.1
|
||||
- uses: actions/checkout@v3
|
||||
|
||||
- name: Cache
|
||||
uses: actions/cache@v6.1.0
|
||||
uses: actions/cache@v3
|
||||
id: cache
|
||||
with:
|
||||
path: ~/.ccache
|
||||
@@ -158,52 +124,17 @@ jobs:
|
||||
mingw-w64-x86_64-curl
|
||||
mingw-w64-x86_64-gcc
|
||||
mingw-w64-x86_64-libtiff
|
||||
mingw-w64-x86_64-python-yaml
|
||||
mingw-w64-x86_64-sqlite3
|
||||
|
||||
- name: First build with EMBED_RESOURCE_FILES=ON and USE_ONLY_EMBEDDED_RESOURCE_FILES=ON
|
||||
- name: Build
|
||||
run: |
|
||||
mkdir -p $HOME/.ccache
|
||||
ccache -M 500M
|
||||
ccache -s
|
||||
PROJ_BUILD=${GITHUB_WORKSPACE}/build
|
||||
PROJ_DIR=${GITHUB_WORKSPACE}/proj_dir
|
||||
mkdir ${PROJ_BUILD}
|
||||
cd ${PROJ_BUILD}
|
||||
|
||||
cmake \
|
||||
-D CMAKE_BUILD_TYPE=${{ env.BUILD_TYPE }} \
|
||||
-D BUILD_SHARED_LIBS=${{ env.BUILD_SHARED_LIBS }} \
|
||||
-D CMAKE_INSTALL_PREFIX="${PROJ_DIR}" \
|
||||
-D CMAKE_COMPILE_WARNING_AS_ERROR=ON \
|
||||
-D USE_CCACHE=ON \
|
||||
-D PROJ_DB_CACHE_DIR=$HOME/.ccache \
|
||||
-D CMAKE_UNITY_BUILD=ON \
|
||||
-D Python_ROOT_DIR=/mingw64 \
|
||||
-D CMAKE_CXX_STANDARD=20 \
|
||||
-D EMBED_RESOURCE_FILES=ON \
|
||||
-D USE_ONLY_EMBEDDED_RESOURCE_FILES=ON \
|
||||
..
|
||||
make -j 2
|
||||
|
||||
- name: Seond build with EMBED_RESOURCE_FILES=OFF and USE_ONLY_EMBEDDED_RESOURCE_FILES=OFF
|
||||
run: |
|
||||
PROJ_BUILD=${GITHUB_WORKSPACE}/build
|
||||
PROJ_DIR=${GITHUB_WORKSPACE}/proj_dir
|
||||
cd ${PROJ_BUILD}
|
||||
cmake \
|
||||
-D CMAKE_BUILD_TYPE=${{ env.BUILD_TYPE }} \
|
||||
-D BUILD_SHARED_LIBS=${{ env.BUILD_SHARED_LIBS }} \
|
||||
-D CMAKE_INSTALL_PREFIX="${PROJ_DIR}" \
|
||||
-D CMAKE_COMPILE_WARNING_AS_ERROR=ON \
|
||||
-D USE_CCACHE=ON \
|
||||
-D PROJ_DB_CACHE_DIR=$HOME/.ccache \
|
||||
-D CMAKE_UNITY_BUILD=ON \
|
||||
-D Python_ROOT_DIR=/mingw64 \
|
||||
-D CMAKE_CXX_STANDARD=20 \
|
||||
-D EMBED_RESOURCE_FILES=OFF \
|
||||
-D USE_ONLY_EMBEDDED_RESOURCE_FILES=OFF \
|
||||
..
|
||||
cmake -DCMAKE_BUILD_TYPE=${{ env.BUILD_TYPE }} -DBUILD_SHARED_LIBS=${{ env.BUILD_SHARED_LIBS }} -DCMAKE_INSTALL_PREFIX="${PROJ_DIR}" -DCMAKE_C_FLAGS="-Werror" -DCMAKE_CXX_FLAGS="-Werror" -DUSE_CCACHE=ON -DPROJ_DB_CACHE_DIR=$HOME/.ccache ..
|
||||
make -j 2
|
||||
make install
|
||||
ls ${PROJ_DIR}/bin
|
||||
@@ -219,6 +150,5 @@ jobs:
|
||||
BUILD_MODE=shared
|
||||
if [ ${{ env.BUILD_SHARED_LIBS }} == "OFF" ]; then BUILD_MODE=static; fi
|
||||
../test/postinstall/test_cmake.sh ${PROJ_DIR} ${BUILD_MODE}
|
||||
# Disabled because of issue with (likely sqlite3.pc) that includes a unexisting -ldl
|
||||
# ../test/postinstall/test_pkg-config.sh ${PROJ_DIR} ${BUILD_MODE}
|
||||
../test/postinstall/test_pkg-config.sh ${PROJ_DIR} ${BUILD_MODE}
|
||||
proj
|
||||
|
||||
+1
-1
@@ -54,7 +54,7 @@ CTestTestfile.cmake
|
||||
cmake_install.cmake
|
||||
cmake/project-config*.cmake
|
||||
install_manifest.txt
|
||||
/CMakeUserPresets.json
|
||||
/googletest*
|
||||
|
||||
# / (base)
|
||||
/*.manifest
|
||||
|
||||
@@ -1,26 +0,0 @@
|
||||
# https://github.com/DavidAnson/markdownlint/blob/main/doc/Rules.md
|
||||
|
||||
# Heading style
|
||||
MD003:
|
||||
style: "atx"
|
||||
|
||||
# Unordered list indentation
|
||||
MD007:
|
||||
indent: 2
|
||||
|
||||
# Line length
|
||||
MD013: false
|
||||
# line_length: 100
|
||||
|
||||
# Multiple headings with the same content
|
||||
MD024:
|
||||
siblings_only: true
|
||||
|
||||
# Multiple top-level headings in the same document
|
||||
MD025: false
|
||||
|
||||
# First line in a file should be a top-level heading
|
||||
MD041: false
|
||||
|
||||
# Required heading structure
|
||||
MD043: true
|
||||
@@ -17,7 +17,6 @@ repos:
|
||||
src/wkt2_generated_parser.h|
|
||||
src/geodesic.c|
|
||||
src/geodesic.h|
|
||||
src/proj_symbol_rename.h|
|
||||
src/tests/geodtest.c|
|
||||
src/tests/geodsigntest.c
|
||||
)
|
||||
|
||||
+1
-1
@@ -12,7 +12,7 @@ build:
|
||||
|
||||
jobs:
|
||||
post_checkout:
|
||||
- (git --no-pager log --pretty="tformat:%s -- %b" -1 | paste -s -d " " | grep -viqP "skip ci|ci skip") || exit 183
|
||||
- (git --no-pager log --pretty="tformat:%s -- %b" -1 | grep -viqP "skip ci|ci skip") || exit 183
|
||||
pre_build:
|
||||
- ./docs/rtd/pre_build.sh
|
||||
- ./scripts/doxygen.sh
|
||||
|
||||
+12
-17
@@ -2,14 +2,9 @@
|
||||
# with Travis-ci.org
|
||||
language: cpp
|
||||
|
||||
# FIXME: Travis-CI builds are disabled
|
||||
branches:
|
||||
only:
|
||||
- disabled_disabled
|
||||
|
||||
#branches:
|
||||
# except:
|
||||
# - /^(cherry-pick-)?backport-\d+-to-/
|
||||
except:
|
||||
- /^(cherry-pick-)?backport-\d+-to-/
|
||||
|
||||
cache:
|
||||
directories:
|
||||
@@ -19,16 +14,16 @@ matrix:
|
||||
fast_finish: true
|
||||
include:
|
||||
|
||||
#- os: linux
|
||||
# dist: jammy
|
||||
# compiler: gcc
|
||||
# arch: s390x
|
||||
# env:
|
||||
# - BUILD_NAME=linux_generic
|
||||
# - DETAILS="linux, s390x"
|
||||
- os: linux
|
||||
dist: bionic
|
||||
compiler: gcc
|
||||
arch: s390x
|
||||
env:
|
||||
- BUILD_NAME=linux_generic
|
||||
- DETAILS="linux, s390x"
|
||||
|
||||
- os: linux
|
||||
dist: jammy
|
||||
dist: bionic
|
||||
compiler: gcc
|
||||
arch: arm64
|
||||
env:
|
||||
@@ -39,9 +34,9 @@ matrix:
|
||||
allow_failures:
|
||||
- env: BUILD_NAME=mingw32
|
||||
|
||||
before_install: ./ci/${BUILD_NAME}/before_install.sh
|
||||
before_install: ./travis/${BUILD_NAME}/before_install.sh
|
||||
|
||||
install: ./ci/${BUILD_NAME}/install.sh
|
||||
install: ./travis/${BUILD_NAME}/install.sh
|
||||
|
||||
script:
|
||||
- echo "done"
|
||||
|
||||
@@ -0,0 +1,42 @@
|
||||
--------------------------------------------------------------------------------
|
||||
Authors
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
Original Author
|
||||
................................................................................
|
||||
|
||||
Gerald Evenden (1935-2016)
|
||||
|
||||
Maintainer(s)
|
||||
................................................................................
|
||||
|
||||
Kristian Evers <kreve@sdfe.dk>
|
||||
Even Rouault <even.rouault@spatialys.com>
|
||||
|
||||
|
||||
Project Steering Committee
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
Process and membership can be found at:
|
||||
https://proj.org/community/rfc/rfc-1.html
|
||||
|
||||
Chair
|
||||
................................................................................
|
||||
|
||||
Kristian Evers <kreve@sdfe.dk>
|
||||
|
||||
Members
|
||||
................................................................................
|
||||
|
||||
Frank Warmerdam <warmerdam@pobox.com>
|
||||
Howard Butler <howard@hobu.co>
|
||||
Charles Karney <charles.karney@sri.com>
|
||||
Thomas Knudsen <thokn@sdfe.dk>
|
||||
Even Rouault <even.rouault@spatialys.com>
|
||||
Kurt Schwehr <schwehr@gmail.com>
|
||||
|
||||
Contributors
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
The full list of contributors can be found on GitHub
|
||||
https://github.com/OSGeo/PROJ/graphs/contributors
|
||||
-33
@@ -1,33 +0,0 @@
|
||||
# Authors
|
||||
|
||||
## Original Author
|
||||
|
||||
- Gerald Evenden (1935-2016)
|
||||
|
||||
## Maintainers
|
||||
|
||||
- Kristian Evers <kreve@sdfi.dk>
|
||||
- Even Rouault <even.rouault@spatialys.com>
|
||||
|
||||
## Project Steering Committee
|
||||
|
||||
Process and membership can be found at:
|
||||
<https://proj.org/community/rfc/rfc-1.html>
|
||||
|
||||
Chair:
|
||||
|
||||
- Kristian Evers <kreve@sdfi.dk>
|
||||
|
||||
Members:
|
||||
|
||||
- Frank Warmerdam <warmerdam@pobox.com>
|
||||
- Howard Butler <howard@hobu.co>
|
||||
- Charles Karney <charles.karney@sri.com>
|
||||
- Thomas Knudsen <thokn@sdfi.dk>
|
||||
- Even Rouault <even.rouault@spatialys.com>
|
||||
- Kurt Schwehr <schwehr@gmail.com>
|
||||
|
||||
## Contributors
|
||||
|
||||
The full list of contributors can be found on GitHub
|
||||
<https://github.com/OSGeo/PROJ/graphs/contributors>
|
||||
@@ -1,6 +1,6 @@
|
||||
To cite PROJ in publications use:
|
||||
|
||||
PROJ contributors (2026). PROJ coordinate transformation software
|
||||
PROJ contributors (2023). PROJ coordinate transformation software
|
||||
library. Open Source Geospatial Foundation. URL https://proj.org/.
|
||||
DOI: 10.5281/zenodo.5884394
|
||||
|
||||
@@ -12,7 +12,7 @@ A BibTeX entry for LaTeX users is
|
||||
title = {{PROJ} coordinate transformation software library},
|
||||
author = {{PROJ contributors}},
|
||||
organization = {Open Source Geospatial Foundation},
|
||||
year = {2026},
|
||||
year = {2023},
|
||||
url = {https://proj.org/},
|
||||
doi = {10.5281/zenodo.5884394},
|
||||
}
|
||||
|
||||
+5
-5
@@ -2,8 +2,8 @@ cff-version: 1.2.0
|
||||
message: Please cite this software using these metadata or in the CITATION file.
|
||||
type: software
|
||||
title: PROJ
|
||||
version: 9.9.0
|
||||
date-released: 2026-09-15
|
||||
version: 9.2.0
|
||||
date-released: 2023-03-01
|
||||
doi: 10.5281/zenodo.5884394
|
||||
abstract: PROJ is a generic coordinate transformation software that transforms
|
||||
geospatial coordinates from one coordinate reference system (CRS) to another.
|
||||
@@ -24,18 +24,18 @@ authors:
|
||||
affiliation: Planet Labs Inc
|
||||
- given-names: Kristian
|
||||
family-names: Evers
|
||||
affiliation: Danish Agency for Climate Data
|
||||
affiliation: Danish Agency for Data Supply and Infrastructure
|
||||
orcid: https://orcid.org/0000-0002-1310-4576
|
||||
- given-names: Thomas
|
||||
family-names: Knudsen
|
||||
affiliation: Danish Agency for Climate Data
|
||||
affiliation: Danish Agency for Data Supply and Infrastructure
|
||||
- given-names: Howard
|
||||
family-names: Butler
|
||||
affiliation: Hobu Inc
|
||||
orcid: https://orcid.org/0000-0002-5340-1380
|
||||
- given-names: Mike W.
|
||||
family-names: Taves
|
||||
affiliation: Earth Sciences New Zealand
|
||||
affiliation: GNS Science
|
||||
orcid: https://orcid.org/0000-0003-3657-7963
|
||||
- given-names: Kurt
|
||||
family-names: Schwehr
|
||||
|
||||
+98
-238
@@ -9,7 +9,7 @@
|
||||
################################################################################
|
||||
# General settings
|
||||
################################################################################
|
||||
cmake_minimum_required(VERSION 3.22.1)
|
||||
cmake_minimum_required(VERSION 3.9 FATAL_ERROR)
|
||||
|
||||
project(PROJ
|
||||
DESCRIPTION "PROJ coordinate transformation software library"
|
||||
@@ -19,25 +19,23 @@ project(PROJ
|
||||
# Only interpret if() arguments as variables or keywords when unquoted
|
||||
cmake_policy(SET CMP0054 NEW)
|
||||
|
||||
include(CheckCXXCompilerFlag)
|
||||
|
||||
# Set C++ version
|
||||
# Make CMAKE_CXX_STANDARD available as cache option overridable by user
|
||||
set(CMAKE_CXX_STANDARD 17
|
||||
CACHE STRING "C++ standard version to use (default is 17)")
|
||||
message(CHECK_START "Requiring C++${CMAKE_CXX_STANDARD}")
|
||||
set(CMAKE_CXX_STANDARD 11
|
||||
CACHE STRING "C++ standard version to use (default is 11)")
|
||||
message(STATUS "Requiring C++${CMAKE_CXX_STANDARD}")
|
||||
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
||||
set(CMAKE_CXX_EXTENSIONS OFF)
|
||||
message(CHECK_PASS "done")
|
||||
message(STATUS "Requiring C++${CMAKE_CXX_STANDARD} - done")
|
||||
|
||||
# Set C99 version
|
||||
# Make CMAKE_C_STANDARD available as cache option overridable by user
|
||||
set(CMAKE_C_STANDARD 99
|
||||
CACHE STRING "C standard version to use (default is 99)")
|
||||
message(CHECK_START "Requiring C${CMAKE_C_STANDARD}")
|
||||
message(STATUS "Requiring C${CMAKE_C_STANDARD}")
|
||||
set(CMAKE_C_STANDARD_REQUIRED ON)
|
||||
set(CMAKE_C_EXTENSIONS OFF)
|
||||
message(CHECK_PASS "done")
|
||||
message(STATUS "Requiring C${CMAKE_C_STANDARD} - done")
|
||||
|
||||
# Set global -fvisibility=hidden
|
||||
set(CMAKE_C_VISIBILITY_PRESET hidden)
|
||||
@@ -46,62 +44,27 @@ set(CMAKE_CXX_VISIBILITY_PRESET hidden)
|
||||
# Set warnings as variables, then store as cache options
|
||||
set(PROJ_common_WARN_FLAGS # common only to GNU/Clang C/C++
|
||||
-Wall
|
||||
-Wdate-time
|
||||
-Werror=format-security
|
||||
-Werror=vla
|
||||
-Wextra
|
||||
-Wformat
|
||||
-Wimplicit-fallthrough
|
||||
-Wmissing-declarations
|
||||
-Wshadow
|
||||
-Wswitch
|
||||
-Wshadow
|
||||
-Wunused-parameter
|
||||
-Wmissing-declarations
|
||||
-Wformat
|
||||
-Wformat-security
|
||||
)
|
||||
if("${CMAKE_C_COMPILER_ID}" STREQUAL "GNU")
|
||||
set(PROJ_common_WARN_FLAGS ${PROJ_common_WARN_FLAGS}
|
||||
-Wduplicated-cond
|
||||
-Wduplicated-branches
|
||||
-Wlogical-op
|
||||
)
|
||||
set(PROJ_C_WARN_FLAGS ${PROJ_common_WARN_FLAGS}
|
||||
-Wmissing-prototypes
|
||||
)
|
||||
if (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 8)
|
||||
set(PROJ_CXX_WARN_FLAGS ${PROJ_common_WARN_FLAGS} -Wextra-semi)
|
||||
endif()
|
||||
set(PROJ_CXX_WARN_FLAGS ${PROJ_common_WARN_FLAGS}
|
||||
-Weffc++
|
||||
# -Wold-style-cast
|
||||
-Woverloaded-virtual
|
||||
-Wzero-as-null-pointer-constant
|
||||
)
|
||||
set(PROJ_CXX_WARN_FLAGS ${PROJ_common_WARN_FLAGS})
|
||||
elseif("${CMAKE_C_COMPILER_ID}" MATCHES "Clang")
|
||||
set(PROJ_common_WARN_FLAGS ${PROJ_common_WARN_FLAGS}
|
||||
-Wcomma
|
||||
-Wdeprecated
|
||||
-Wdocumentation -Wno-documentation-deprecated-sync
|
||||
-Wfloat-conversion
|
||||
-Wlogical-op-parentheses
|
||||
)
|
||||
|
||||
# Not sure about the minimum version, but clang 12 complains about \file, @cond Doxygen_Suppress, etc.
|
||||
if("${CMAKE_CXX_COMPILER_VERSION}" VERSION_GREATER_EQUAL 18.0.0)
|
||||
set(PROJ_common_WARN_FLAGS ${PROJ_common_WARN_FLAGS} -Wdocumentation-unknown-command)
|
||||
endif()
|
||||
|
||||
set(PROJ_C_WARN_FLAGS ${PROJ_common_WARN_FLAGS}
|
||||
-Wmissing-prototypes
|
||||
-Wfloat-conversion
|
||||
-Wc11-extensions
|
||||
)
|
||||
set(PROJ_CXX_WARN_FLAGS ${PROJ_common_WARN_FLAGS}
|
||||
-Weffc++
|
||||
-Wextra-semi
|
||||
# -Wold-style-cast
|
||||
-Woverloaded-virtual
|
||||
-Wshorten-64-to-32
|
||||
-Wunused-private-field
|
||||
-Wzero-as-null-pointer-constant
|
||||
-Wweak-vtables
|
||||
-Wfloat-conversion
|
||||
)
|
||||
elseif("${CMAKE_C_COMPILER_ID}" STREQUAL "MSVC")
|
||||
add_definitions(/D_CRT_SECURE_NO_WARNINGS) # Eliminate deprecation warnings
|
||||
@@ -129,23 +92,9 @@ endif()
|
||||
if (CMAKE_CXX_COMPILER_ID STREQUAL "IntelLLVM")
|
||||
# Intel CXX compiler based on clang defaults to -ffast-math, which
|
||||
# breaks std::isinf(), std::isnan(), etc.
|
||||
string(APPEND CMAKE_C_FLAGS " -fno-fast-math")
|
||||
string(APPEND CMAKE_CXX_FLAGS " -fno-fast-math")
|
||||
elseif(CMAKE_CXX_COMPILER_ID STREQUAL "GNU" AND
|
||||
CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 13 AND
|
||||
CMAKE_SIZEOF_VOID_P EQUAL 4)
|
||||
# GCC 13 and later changed their C++ excess precision support, which impacts
|
||||
# 32-bit builds. This restores the previous behavior.
|
||||
string(APPEND CMAKE_CXX_FLAGS " -fexcess-precision=fast")
|
||||
endif()
|
||||
|
||||
# Add other supported compiler flags
|
||||
if(("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU") OR ("${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang"))
|
||||
check_cxx_compiler_flag(-Wdeprecated-copy-dtor HAVE_DEP_COPY_DTOR_FLAG)
|
||||
if(HAVE_DEP_COPY_DTOR_FLAG)
|
||||
set(PROJ_CXX_WARN_FLAGS ${PROJ_CXX_WARN_FLAGS} -Wdeprecated-copy-dtor)
|
||||
endif()
|
||||
endif()
|
||||
set(CMAKE_C_FLAGS ${CMAKE_C_FLAGS} -fno-fast-math)
|
||||
set(CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS} -fno-fast-math)
|
||||
endif ()
|
||||
|
||||
set(PROJ_C_WARN_FLAGS "${PROJ_C_WARN_FLAGS}"
|
||||
CACHE STRING "C flags used to compile PROJ targets")
|
||||
@@ -166,7 +115,7 @@ message(STATUS "Configuring PROJ:")
|
||||
#PROJ version information
|
||||
################################################################################
|
||||
include(ProjVersion)
|
||||
proj_version(MAJOR 9 MINOR 9 PATCH 0)
|
||||
proj_version(MAJOR 9 MINOR 3 PATCH 0)
|
||||
set(PROJ_SOVERSION 25)
|
||||
set(PROJ_BUILD_VERSION "${PROJ_SOVERSION}.${PROJ_VERSION}")
|
||||
|
||||
@@ -179,13 +128,6 @@ include(ProjConfig)
|
||||
include(ProjMac)
|
||||
include(policies)
|
||||
|
||||
##############################################
|
||||
### SWITCH BETWEEN STATIC OR SHARED LIBRARY###
|
||||
##############################################
|
||||
|
||||
# default config is shared
|
||||
option(BUILD_SHARED_LIBS "Build PROJ library shared." ON)
|
||||
|
||||
################################################################################
|
||||
# Check for nlohmann_json
|
||||
################################################################################
|
||||
@@ -234,19 +176,15 @@ if(NOT EXE_SQLITE3)
|
||||
message(SEND_ERROR "sqlite3 binary not found!")
|
||||
endif()
|
||||
|
||||
# Deprecated variables since PROJ 9.4.0
|
||||
if(DEFINED SQLITE3_INCLUDE_DIR)
|
||||
message(DEPRECATION "Use SQLite3_INCLUDE_DIR instead of SQLITE3_INCLUDE_DIR")
|
||||
set(SQLite3_INCLUDE_DIR ${SQLITE3_INCLUDE_DIR})
|
||||
endif()
|
||||
if(DEFINED SQLITE3_LIBRARY)
|
||||
message(DEPRECATION "Use SQLite3_LIBRARY instead of SQLITE3_LIBRARY")
|
||||
set(SQLite3_LIBRARY ${SQLITE3_LIBRARY})
|
||||
find_package(Sqlite3 REQUIRED)
|
||||
if(NOT SQLITE3_FOUND)
|
||||
message(SEND_ERROR "sqlite3 dependency not found!")
|
||||
endif()
|
||||
|
||||
find_package(SQLite3 3.11 REQUIRED)
|
||||
if(NOT TARGET SQLite3::SQLite3) # CMake < 4.3
|
||||
add_library(SQLite3::SQLite3 ALIAS SQLite::SQLite3)
|
||||
# Would build and run with older versions, but with horrible performance
|
||||
# See https://github.com/OSGeo/PROJ/issues/1718
|
||||
if("${SQLITE3_VERSION}" VERSION_LESS "3.11")
|
||||
message(SEND_ERROR "sqlite3 >= 3.11 required!")
|
||||
endif()
|
||||
|
||||
################################################################################
|
||||
@@ -281,30 +219,21 @@ if(ENABLE_CURL)
|
||||
if(CURL_FOUND)
|
||||
set(CURL_ENABLED TRUE)
|
||||
|
||||
# Curl SSL options are described in
|
||||
# https://curl.se/libcurl/c/CURLOPT_SSL_OPTIONS.html
|
||||
#set(CURLSSLOPT_NO_REVOKE 2)
|
||||
#set(SSL_OPTIONS ${CURLSSLOPT_NO_REVOKE})
|
||||
#add_compile_definitions(SSL_OPTIONS=${SSL_OPTIONS})
|
||||
|
||||
# Target CURL::libcurl only defined since CMake 3.12
|
||||
# TODO: remove this when CMake >= 3.12 required
|
||||
if(NOT TARGET CURL::libcurl)
|
||||
add_library(CURL::libcurl INTERFACE IMPORTED)
|
||||
set_target_properties(CURL::libcurl PROPERTIES
|
||||
INTERFACE_INCLUDE_DIRECTORIES "${CURL_INCLUDE_DIRS}"
|
||||
INTERFACE_LINK_LIBRARIES "${CURL_LIBRARIES}"
|
||||
)
|
||||
endif()
|
||||
else()
|
||||
message(SEND_ERROR "curl dependency not found!")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
################################################################################
|
||||
# Check for Emscripten fetch
|
||||
################################################################################
|
||||
|
||||
option(ENABLE_EMSCRIPTEN_FETCH "Enable Emscripten fetch support" OFF)
|
||||
set(EMSCRIPTEN_FETCH_ENABLED FALSE)
|
||||
if(ENABLE_EMSCRIPTEN_FETCH)
|
||||
set(EMSCRIPTEN_FETCH_ENABLED TRUE)
|
||||
endif()
|
||||
|
||||
################################################################################
|
||||
|
||||
option(EMBED_PROJ_DATA_PATH "Whether the PROJ_DATA path should be embedded" ON)
|
||||
|
||||
if(DEFINED PROJ_LIB_ENV_VAR_TRIED_LAST)
|
||||
set(PROJ_DATA_ENV_VAR_TRIED_LAST ${PROJ_LIB_ENV_VAR_TRIED_LAST})
|
||||
@@ -326,6 +255,14 @@ if(Threads_FOUND AND CMAKE_USE_PTHREADS_INIT)
|
||||
"${CMAKE_REQUIRED_LIBRARIES} ${CMAKE_THREAD_LIBS_INIT}")
|
||||
endif()
|
||||
|
||||
include(CheckCSourceCompiles)
|
||||
if(MSVC)
|
||||
set(CMAKE_REQUIRED_FLAGS "${CMAKE_C_FLAGS} /WX /W4")
|
||||
else()
|
||||
set(CMAKE_REQUIRED_LIBRARIES m)
|
||||
set(CMAKE_REQUIRED_FLAGS "${CMAKE_C_FLAGS} -Werror -Wall")
|
||||
endif()
|
||||
|
||||
# Set a default build type for single-configuration cmake generators if
|
||||
# no build type is set.
|
||||
if(NOT CMAKE_CONFIGURATION_TYPES AND NOT CMAKE_BUILD_TYPE)
|
||||
@@ -365,79 +302,22 @@ include(GNUInstallDirs)
|
||||
|
||||
set(PROJECT_NAME "${PROJECT_NAME_ORIGINAL}")
|
||||
|
||||
set(PROJ_DATA_PATH "${CMAKE_INSTALL_FULL_DATADIR}/proj")
|
||||
|
||||
################################################################################
|
||||
# Tests
|
||||
################################################################################
|
||||
include(CTest)
|
||||
|
||||
option(BUILD_TESTING "Build the testing tree." ON)
|
||||
if(BUILD_TESTING)
|
||||
enable_testing()
|
||||
include(ProjTest)
|
||||
else()
|
||||
message(STATUS "Testing disabled")
|
||||
endif()
|
||||
|
||||
################################################################################
|
||||
# Whether we should embed resources
|
||||
################################################################################
|
||||
|
||||
include(CheckCSourceCompiles)
|
||||
function (is_sharp_embed_available res)
|
||||
if (NOT EMSCRIPTEN AND
|
||||
((CMAKE_C_COMPILER_ID STREQUAL "GNU" AND CMAKE_C_COMPILER_VERSION VERSION_GREATER_EQUAL 15.0) OR
|
||||
(CMAKE_C_COMPILER_ID STREQUAL "Clang" AND CMAKE_C_COMPILER_VERSION VERSION_GREATER_EQUAL 19.0)))
|
||||
set(TEST_SHARP_EMBED
|
||||
"static const unsigned char embedded[] = {\n#embed __FILE__\n};\nint main() { (void)embedded; return 0;}"
|
||||
)
|
||||
set(CMAKE_C_STANDARD_BACKUP "${CMAKE_C_STANDARD}")
|
||||
set(CMAKE_C_STANDARD "23")
|
||||
check_c_source_compiles("${TEST_SHARP_EMBED}" _TEST_SHARP_EMBED)
|
||||
set(CMAKE_C_STANDARD "${CMAKE_C_STANDARD_BACKUP}")
|
||||
if (_TEST_SHARP_EMBED)
|
||||
set(${res} ON PARENT_SCOPE)
|
||||
else()
|
||||
set(${res} OFF PARENT_SCOPE)
|
||||
endif()
|
||||
else()
|
||||
set(${res} OFF PARENT_SCOPE)
|
||||
endif()
|
||||
endfunction()
|
||||
|
||||
is_sharp_embed_available(IS_SHARP_EMBED_AVAILABLE_RES)
|
||||
if (NOT DEFINED BUILD_SHARED_LIBS)
|
||||
message(FATAL_ERROR "BUILD_SHARED_LIBS should be set")
|
||||
endif()
|
||||
if (NOT BUILD_SHARED_LIBS)
|
||||
set(DEFAULT_EMBED_RESOURCE_FILES ON)
|
||||
else()
|
||||
set(DEFAULT_EMBED_RESOURCE_FILES OFF)
|
||||
endif()
|
||||
option(EMBED_RESOURCE_FILES "Whether resource files (limited to proj.db) should be embedded into the PROJ library" ${DEFAULT_EMBED_RESOURCE_FILES})
|
||||
|
||||
option(USE_ONLY_EMBEDDED_RESOURCE_FILES "Whether embedded resource files (limited to proj.db) should be used (should nominally be used together with EMBED_RESOURCE_FILES=ON, otherwise this will result in non-functional builds)" OFF)
|
||||
|
||||
if (USE_ONLY_EMBEDDED_RESOURCE_FILES AND NOT EMBED_RESOURCE_FILES)
|
||||
message(WARNING "USE_ONLY_EMBEDDED_RESOURCE_FILES=ON set but EMBED_RESOURCE_FILES=OFF: some drivers will lack required resource files")
|
||||
endif()
|
||||
|
||||
################################################################################
|
||||
# Build configured components
|
||||
################################################################################
|
||||
|
||||
set(PROJ_DICTIONARY
|
||||
world
|
||||
other.extra
|
||||
nad27
|
||||
GL27
|
||||
nad83
|
||||
nad.lst
|
||||
CH
|
||||
ITRF2000
|
||||
ITRF2008
|
||||
ITRF2014
|
||||
ITRF2020
|
||||
)
|
||||
|
||||
include_directories(${PROJ_SOURCE_DIR}/src)
|
||||
|
||||
add_subdirectory(data)
|
||||
@@ -454,35 +334,10 @@ if(BUILD_EXAMPLES)
|
||||
add_subdirectory(examples)
|
||||
endif()
|
||||
|
||||
add_subdirectory(scripts)
|
||||
|
||||
set(docfiles COPYING NEWS.md AUTHORS.md)
|
||||
set(docfiles COPYING NEWS AUTHORS)
|
||||
install(FILES ${docfiles}
|
||||
DESTINATION ${CMAKE_INSTALL_DOCDIR})
|
||||
|
||||
################################################################################
|
||||
# Build debug symbols
|
||||
################################################################################
|
||||
option(EXPORT_PDB "Export PDB file" OFF)
|
||||
|
||||
if (WIN32 AND EXPORT_PDB)
|
||||
target_compile_options(proj PRIVATE /Zi /Zf)
|
||||
target_link_options(proj PRIVATE /DEBUG /OPT:REF /OPT:ICF)
|
||||
|
||||
if(BUILD_SHARED_LIBS)
|
||||
set(pdbFile $<TARGET_PDB_FILE:proj>)
|
||||
else()
|
||||
set(pdbDirFullPath ${CMAKE_BINARY_DIR}/lib)
|
||||
set_target_properties(proj
|
||||
PROPERTIES
|
||||
COMPILE_PDB_OUTPUT_DIRECTORY ${pdbDirFullPath}
|
||||
COMPILE_PDB_NAME proj)
|
||||
set(pdbFile ${pdbDirFullPath}/proj.pdb)
|
||||
endif()
|
||||
|
||||
install(FILES ${pdbFile} DESTINATION lib)
|
||||
endif()
|
||||
|
||||
################################################################################
|
||||
# pkg-config support
|
||||
################################################################################
|
||||
@@ -496,53 +351,58 @@ install(FILES
|
||||
# "make dist" workalike
|
||||
################################################################################
|
||||
|
||||
if(PROJECT_SOURCE_DIR STREQUAL CMAKE_SOURCE_DIR)
|
||||
set(CPACK_SOURCE_GENERATOR "TGZ;ZIP")
|
||||
set(CPACK_SOURCE_PACKAGE_FILE_NAME "proj-${PROJ_VERSION}")
|
||||
set(CPACK_PACKAGE_VENDOR "OSGeo")
|
||||
set(CPACK_PACKAGE_VERSION_MAJOR ${PROJ_VERSION_MAJOR})
|
||||
set(CPACK_PACKAGE_VERSION_MINOR ${PROJ_VERSION_MINOR})
|
||||
set(CPACK_PACKAGE_VERSION_PATCH ${PROJ_VERSION_PATCH})
|
||||
set(CPACK_VERBATIM_VARIABLES TRUE)
|
||||
set(CPACK_SOURCE_IGNORE_FILES
|
||||
/\\..* # any file/directory starting with .
|
||||
/.*\\.yml
|
||||
/.*\\.gz
|
||||
/.*\\.zip
|
||||
/.*build.*/
|
||||
\\.deps
|
||||
/autogen\\.sh
|
||||
/autom4te\\.cache
|
||||
/ci/
|
||||
/CODE_OF_CONDUCT.md
|
||||
/CONTRIBUTING.md
|
||||
/disabled_workflows/
|
||||
/Dockerfile
|
||||
/docs/
|
||||
/Doxyfile
|
||||
/HOWTO-RELEASE.md
|
||||
/m4/lt*
|
||||
/m4/libtool*
|
||||
/media/
|
||||
/schemas/
|
||||
/test/fuzzers/
|
||||
/test/gigs/.*gie\\.failing
|
||||
/test/postinstall/
|
||||
/travis/
|
||||
${PROJECT_BINARY_DIR}
|
||||
set(CPACK_SOURCE_GENERATOR "TGZ;ZIP")
|
||||
set(CPACK_SOURCE_PACKAGE_FILE_NAME "proj-${PROJ_VERSION}")
|
||||
set(CPACK_PACKAGE_VENDOR "OSGeo")
|
||||
set(CPACK_PACKAGE_VERSION_MAJOR ${PROJ_VERSION_MAJOR})
|
||||
set(CPACK_PACKAGE_VERSION_MINOR ${PROJ_VERSION_MINOR})
|
||||
set(CPACK_PACKAGE_VERSION_PATCH ${PROJ_VERSION_PATCH})
|
||||
set(CPACK_VERBATIM_VARIABLES TRUE)
|
||||
set(CPACK_SOURCE_IGNORE_FILES
|
||||
/\\..* # any file/directory starting with .
|
||||
/.*\\.yml
|
||||
/.*\\.gz
|
||||
/.*\\.zip
|
||||
/.*build.*/
|
||||
\\.deps
|
||||
/autogen\\.sh
|
||||
/autom4te\\.cache
|
||||
/CODE_OF_CONDUCT.md
|
||||
/CONTRIBUTING.md
|
||||
/disabled_workflows/
|
||||
/Dockerfile
|
||||
/docs/
|
||||
/Doxyfile
|
||||
/HOWTO-RELEASE
|
||||
/m4/lt*
|
||||
/m4/libtool*
|
||||
/media/
|
||||
/schemas/
|
||||
/scripts/
|
||||
/test/fuzzers/
|
||||
/test/gigs/.*gie\\.failing
|
||||
/test/postinstall/
|
||||
/travis/
|
||||
${PROJECT_BINARY_DIR}
|
||||
)
|
||||
|
||||
include(CPack)
|
||||
|
||||
# Simplify README.md to README
|
||||
add_custom_target(README
|
||||
COMMAND ${CMAKE_COMMAND}
|
||||
-D PROJ_SOURCE_DIR=${PROJ_SOURCE_DIR}
|
||||
-P ${PROJ_SOURCE_DIR}/cmake/ProjReadme.cmake
|
||||
)
|
||||
|
||||
get_property(_is_multi_config_generator GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG)
|
||||
if(NOT _is_multi_config_generator)
|
||||
add_custom_target(dist
|
||||
COMMAND ${CMAKE_MAKE_PROGRAM} package_source
|
||||
DEPENDS README
|
||||
)
|
||||
include(CPack)
|
||||
|
||||
get_property(_is_multi_config_generator GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG)
|
||||
if(NOT _is_multi_config_generator)
|
||||
add_custom_target(dist
|
||||
COMMAND ${CMAKE_MAKE_PROGRAM} package_source
|
||||
)
|
||||
message(STATUS "PROJ: Configured 'dist' target")
|
||||
endif()
|
||||
|
||||
configure_file(cmake/uninstall.cmake.in ${CMAKE_CURRENT_BINARY_DIR}/proj_uninstall.cmake @ONLY)
|
||||
add_custom_target(uninstall COMMAND ${CMAKE_COMMAND} -P ${CMAKE_CURRENT_BINARY_DIR}/proj_uninstall.cmake)
|
||||
message(STATUS "PROJ: Configured 'dist' target")
|
||||
endif()
|
||||
|
||||
message(STATUS "EMBED_RESOURCE_FILES=${EMBED_RESOURCE_FILES}")
|
||||
configure_file(cmake/uninstall.cmake.in ${CMAKE_CURRENT_BINARY_DIR}/proj_uninstall.cmake @ONLY)
|
||||
add_custom_target(uninstall COMMAND ${CMAKE_COMMAND} -P ${CMAKE_CURRENT_BINARY_DIR}/proj_uninstall.cmake)
|
||||
|
||||
+6
-5
@@ -55,7 +55,7 @@ a project may be further defined and clarified by project maintainers.
|
||||
## Enforcement
|
||||
|
||||
Instances of abusive, harassing, or otherwise unacceptable behavior may be
|
||||
reported by contacting the project team at <kristianevers@gmail.com>. All
|
||||
reported by contacting the project team at [kristianevers@gmail.com](mailto:kristianevers@gmail.com). All
|
||||
complaints will be reviewed and investigated and will result in a response that
|
||||
is deemed necessary and appropriate to the circumstances. The project team is
|
||||
obligated to maintain confidentiality with regard to the reporter of an incident.
|
||||
@@ -68,9 +68,10 @@ members of the project's leadership.
|
||||
## Attribution
|
||||
|
||||
This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4,
|
||||
available at <https://www.contributor-covenant.org/version/1/4/code-of-conduct.html>
|
||||
|
||||
For answers to common questions about this code of conduct, see
|
||||
<https://www.contributor-covenant.org/faq>
|
||||
available at https://www.contributor-covenant.org/version/1/4/code-of-conduct.html
|
||||
|
||||
[homepage]: https://www.contributor-covenant.org
|
||||
|
||||
For answers to common questions about this code of conduct, see
|
||||
https://www.contributor-covenant.org/faq
|
||||
|
||||
|
||||
+7
-7
@@ -3,7 +3,7 @@
|
||||
PROJ has a wide and varied user base. Some are highly skilled geodesists with a deep
|
||||
knowledge of map projections and reference systems, some are GIS software developers
|
||||
and others are GIS users. All users, regardless of the profession or skill level,
|
||||
have the ability to contribute to PROJ. Here are a few suggestions on how:
|
||||
has the ability to contribute to PROJ. Here's a few suggestion on how:
|
||||
|
||||
* Help PROJ-users that is less experienced than yourself.
|
||||
* Write a bug report
|
||||
@@ -18,7 +18,6 @@ account. Familiarity with [issues](https://guides.github.com/features/issues/) a
|
||||
the [GitHub Flow](https://guides.github.com/introduction/flow/) is an advantage.
|
||||
|
||||
## Help a fellow PROJ user
|
||||
|
||||
The main forum for support for PROJ is the mailing list. You can subscribe to
|
||||
the mailing list [here](http://lists.osgeo.org/mailman/listinfo/proj) and read
|
||||
the archive [here](http://lists.osgeo.org/pipermail/proj/).
|
||||
@@ -77,12 +76,12 @@ on GitHub.
|
||||
If you intend to document one of PROJ's supported projections please use the
|
||||
[Mercator projection](https://proj.org/operations/projections/merc.html) as a template.
|
||||
|
||||
|
||||
## Code contributions
|
||||
|
||||
See [Code Contributions](https://proj.org/community/code_contributions.html)
|
||||
|
||||
### Legalese
|
||||
|
||||
#### Legalese
|
||||
Committers are the front line gatekeepers to keep the code base clear of improperly contributed code.
|
||||
It is important to the PROJ users, developers and the OSGeo foundation to avoid contributing any
|
||||
code to the project without it being clearly licensed under the project license.
|
||||
@@ -123,6 +122,7 @@ improperly contributing code to the source repository:
|
||||
* If there is uncertainty about whether a change is proper to contribute to the code base, please
|
||||
seek more information from the project steering committee, or the foundation legal counsel.
|
||||
|
||||
|
||||
## Additional Resources
|
||||
|
||||
* [General GitHub documentation](https://help.github.com/)
|
||||
@@ -130,6 +130,6 @@ improperly contributing code to the source repository:
|
||||
|
||||
## Acknowledgements
|
||||
|
||||
The [code contribution](#Code Contributions) section of this CONTRIBUTING file is inspired by
|
||||
[PDAL's](https://github.com/PDAL/PDAL/blob/master/CONTRIBUTING.md) and the [legalese](#legalese)
|
||||
section is modified from [GDAL committer guidelines](https://trac.osgeo.org/gdal/wiki/rfc3_commiters)
|
||||
The _code contribution_ section of this CONTRIBUTING file is inspired by
|
||||
[PDAL's](https://github.com/PDAL/PDAL/blob/master/CONTRIBUTING.md) and the _legalese_ section is
|
||||
modified from [GDAL committer guidelines](https://trac.osgeo.org/gdal/wiki/rfc3_commiters)
|
||||
|
||||
@@ -40,7 +40,7 @@
|
||||
2015-07-27 Even Rouault <even.rouault@spatialys.com>
|
||||
* : Remove setlocale() use in pj_init_ctx(), and replace uses of atof() &
|
||||
strtod() by their locale safe variants pj_atof() and pj_strtod().
|
||||
Proj versions from now advertise #define PJ_LOCALE_SAFE 1 in proj_api.h
|
||||
Proj versions from now advertize #define PJ_LOCALE_SAFE 1 in proj_api.h
|
||||
and export pj_atof() & pj_strtod() (#226)
|
||||
|
||||
2015-06-01 Charles Karney <https://github.com/cffk>
|
||||
@@ -1491,7 +1491,7 @@ Rel. 4.4.4 2001/09/15
|
||||
|
||||
2001-05-14 Frank Warmerdam <warmerdam@pobox.com>
|
||||
|
||||
* upgraded config.sub and config.guess as per debian bug report 97374.
|
||||
* upraded config.sub and config.guess as per debian bug report 97374.
|
||||
|
||||
Rel. 4.4.3 2001/04/20
|
||||
-------------------------------------------------------------------------
|
||||
@@ -1714,7 +1714,7 @@ Rel. 4.3.1 94/2/16 Base-line
|
||||
-------------------------------------------------------------------------
|
||||
|
||||
94/6/2
|
||||
Transverse Mercator, spherical inverse fixed. Misplaced parenthesis.
|
||||
Transverse Mercator, spherical inverse fixed. Misplaced parenthsis.
|
||||
|
||||
94/10/5
|
||||
Dropped dependency on FILENAME_MAX---too poorly defined in both
|
||||
@@ -1756,14 +1756,14 @@ Rel. 4.3 94/2/16 Base-line
|
||||
Added SPECIAL entry to conics Lambert, Albers and Equidistant.
|
||||
|
||||
Corrected nad/install.in test so as to only look for conus.lla.Z
|
||||
as test for installation of NADCON datum matrices.
|
||||
as test for installation of NADCON datum matricies.
|
||||
|
||||
94/3/19
|
||||
Problems with MAPGEN's mapdef choking on call to proj. Fixed
|
||||
with PROJ.4.3-patch-01.
|
||||
|
||||
94/3/22
|
||||
Bump mode of handling memory allocation for 2D arrays, so that
|
||||
Bumb mode of handling memory allocation for 2D arrays, so that
|
||||
execution of -L may not work on some systems. Interim corrections
|
||||
distributed with PROJ.4.3-patch-02.
|
||||
|
||||
@@ -1937,7 +1937,7 @@ Rel. 4.1.1 93/3/26 Base-line
|
||||
|
||||
pj_strerrno prototype added to projects.h
|
||||
|
||||
DOS option in strtod.c for MS C's lack of standard macros in headers.
|
||||
DOS option in strtod.c for MS C's lack of standard macros in neaders.
|
||||
|
||||
Rel. 4.1 93/3/8 Base-line --- @(#)CHANGE-LOG 4.14 95/09/23 GIE REL
|
||||
-------------------------------------------------------------------------
|
||||
|
||||
+29
-24
@@ -1,47 +1,52 @@
|
||||
##
|
||||
# OSGeo/PROJ
|
||||
|
||||
FROM ubuntu:24.04 AS builder
|
||||
FROM ubuntu:22.04 as builder
|
||||
|
||||
LABEL maintainer="Howard Butler <howard@hobu.co>"
|
||||
MAINTAINER Howard Butler <howard@hobu.co>
|
||||
|
||||
ARG DESTDIR="/build"
|
||||
|
||||
ARG PROJ_GITHUB_SHA
|
||||
|
||||
# Setup build env
|
||||
RUN apt-get update \
|
||||
RUN apt-get update -y \
|
||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -y --fix-missing --no-install-recommends \
|
||||
software-properties-common build-essential ca-certificates \
|
||||
cmake wget unzip \
|
||||
zlib1g-dev libsqlite3-dev sqlite3 libcurl4-gnutls-dev \
|
||||
libtiff-dev \
|
||||
&& apt-get clean && rm -rf /var/lib/apt/lists/*
|
||||
software-properties-common build-essential ca-certificates \
|
||||
cmake wget unzip \
|
||||
zlib1g-dev libsqlite3-dev sqlite3 libcurl4-gnutls-dev \
|
||||
libtiff5-dev
|
||||
|
||||
COPY . /PROJ
|
||||
|
||||
RUN cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Release -DBUILD_TESTING=OFF -S /PROJ -B _build
|
||||
RUN cmake --build _build -j $(nproc)
|
||||
RUN cmake --install _build
|
||||
RUN rm -rfv _build
|
||||
RUN cd /PROJ \
|
||||
&& mkdir build \
|
||||
&& cd build \
|
||||
&& cmake .. -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Release -DBUILD_TESTING=OFF \
|
||||
&& make -j$(nproc) \
|
||||
&& make install
|
||||
|
||||
FROM ubuntu:24.04 AS runner
|
||||
|
||||
|
||||
|
||||
FROM ubuntu:22.04 as runner
|
||||
|
||||
RUN date
|
||||
|
||||
RUN apt-get update \
|
||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
|
||||
libsqlite3-0 libtiff6 libcurl4 libcurl3-gnutls \
|
||||
wget ca-certificates \
|
||||
&& apt-get clean && rm -rf /var/lib/apt/lists/*
|
||||
RUN apt-get update; \
|
||||
DEBIAN_FRONTEND=noninteractive apt-get install -y \
|
||||
libsqlite3-0 libtiff5 libcurl4 libcurl3-gnutls \
|
||||
wget ca-certificates
|
||||
|
||||
# Put this first as this is rarely changing
|
||||
WORKDIR /usr/share/proj
|
||||
RUN wget --no-verbose --mirror https://cdn.proj.org/ || true
|
||||
RUN cd cdn.proj.org && rm -fv *.js *.css *.html favicon* && mv * .. && cd .. && rmdir cdn.proj.org
|
||||
WORKDIR /
|
||||
RUN \
|
||||
mkdir -p /usr/share/proj; \
|
||||
wget --no-verbose --mirror https://cdn.proj.org/; \
|
||||
rm -f cdn.proj.org/*.js; \
|
||||
rm -f cdn.proj.org/*.css; \
|
||||
mv cdn.proj.org/* /usr/share/proj/; \
|
||||
rmdir cdn.proj.org
|
||||
|
||||
COPY --from=builder /build/usr/share/proj/ /usr/share/proj/
|
||||
COPY --from=builder /build/usr/include/ /usr/include/
|
||||
COPY --from=builder /build/usr/bin/ /usr/bin/
|
||||
COPY --from=builder /build/usr/lib/ /usr/lib/
|
||||
|
||||
|
||||
@@ -766,7 +766,7 @@ WARN_LOGFILE =
|
||||
# spaces. See also FILE_PATTERNS and EXTENSION_MAPPING
|
||||
# Note: If this tag is empty the current directory is searched.
|
||||
|
||||
INPUT = src/iso19111 src/iso19111/operation include/proj src/proj.h src/proj_experimental.h src/general_doc.dox src/filemanager.cpp src/networkfilemanager.cpp src/coordinates.cpp src/trans_bounds.cpp
|
||||
INPUT = src/iso19111 src/iso19111/operation include/proj src/proj.h src/proj_experimental.h src/general_doc.dox src/filemanager.cpp src/networkfilemanager.cpp src/4D_api.cpp
|
||||
|
||||
# This tag can be used to specify the character encoding of the source files
|
||||
# that doxygen parses. Internally doxygen uses the UTF-8 encoding. Doxygen uses
|
||||
@@ -1161,6 +1161,15 @@ HTML_COLORSTYLE_SAT = 100
|
||||
|
||||
HTML_COLORSTYLE_GAMMA = 80
|
||||
|
||||
# If the HTML_TIMESTAMP tag is set to YES then the footer of each generated HTML
|
||||
# page will contain the date and time when the page was generated. Setting this
|
||||
# to YES can help to show when doxygen was last run and thus if the
|
||||
# documentation is up to date.
|
||||
# The default value is: NO.
|
||||
# This tag requires that the tag GENERATE_HTML is set to YES.
|
||||
|
||||
HTML_TIMESTAMP = NO
|
||||
|
||||
# If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML
|
||||
# documentation will contain sections that can be hidden and shown after the
|
||||
# page has loaded.
|
||||
@@ -2010,8 +2019,7 @@ PREDEFINED = DOXYGEN_ENABLED \
|
||||
PROJ_OPAQUE_PRIVATE_DATA= \
|
||||
PROJ_PRIVATE=private \
|
||||
PROJ_PURE_DECL= \
|
||||
noexceptoverride="noexcept override" \
|
||||
PROJ_NO_RETURN=
|
||||
noexceptoverride="noexcept override"
|
||||
|
||||
# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then this
|
||||
# tag can be used to specify a list of macro names that should be expanded. The
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
# Preparing a PROJ Release
|
||||
Preparing a PROJ Release
|
||||
===============================================================================
|
||||
|
||||
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
|
||||
@@ -9,7 +10,8 @@ released code and code still in development.
|
||||
|
||||
The three phases are described below.
|
||||
|
||||
## 1 Release candidate
|
||||
1 Release candidate
|
||||
===============================================================================
|
||||
|
||||
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
|
||||
@@ -25,42 +27,56 @@ 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.
|
||||
|
||||
### 1.1 Update ABI version numbers
|
||||
1.1 Update ABI version numbers:
|
||||
-------------------------------------------------------------------------------
|
||||
|
||||
In case of a un-planned maintenance release, make sure that version numbers are
|
||||
properly updated: see 3.1
|
||||
|
||||
For each release version, increment PROJ_SOVERSION in CMakeLists.txt if the
|
||||
ABI is not backwards compatible, i.e. any interfaces have been removed, or
|
||||
For each release version, increment PROJ_SOVERSION in CMakeLists.txt if the
|
||||
ABI is not backwards compatible, i.e. any interfaces have been removed, or
|
||||
changed since the last release. See also:
|
||||
<https://community.kde.org/Policies/Binary_Compatibility_Issues_With_C%2B%2B>
|
||||
https://community.kde.org/Policies/Binary_Compatibility_Issues_With_C%2B%2B
|
||||
|
||||
*Commit the changes to master.*
|
||||
|
||||
### 1.2 Update man pages
|
||||
|
||||
1.2 Update man pages
|
||||
-------------------------------------------------------------------------------
|
||||
|
||||
Man pages are (mostly) automatically generated from the Sphinx docs. Follow
|
||||
these steps:
|
||||
|
||||
- Temporarily update `version` and `data_version` in `docs/source/conf.py`
|
||||
- run `scripts/update_man.sh`
|
||||
- Revert version number in `docs/source/conf.py`
|
||||
- Temporarily update `version` and `data_version` in `docs/source/conf.py`
|
||||
- run `scripts/update_man.sh`
|
||||
- Revert version number in `docs/source/conf.py`
|
||||
|
||||
The `update_man.sh` script builds the man pages and commits the update man pages
|
||||
to master.
|
||||
|
||||
### 1.3 Write release notes
|
||||
|
||||
Update `NEWS.md` with descriptions of the changes since the last release.
|
||||
1.3 Write release notes
|
||||
-------------------------------------------------------------------------------
|
||||
|
||||
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.
|
||||
|
||||
`scripts/releasenotes.py` can be used to create a first draft of the release
|
||||
notes.
|
||||
End the section by thanking the authors that contributed to the release. Get a
|
||||
sorted list of contributors in descending order of activity:
|
||||
|
||||
```
|
||||
git shortlog -sn x.y.z..HEAD | tac | awk '{$1=""; print $0}'
|
||||
```
|
||||
|
||||
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.
|
||||
|
||||
*Commit the changes to master.*
|
||||
|
||||
### 1.4 Update `CITATION.cff` and `CITATION`
|
||||
|
||||
1.4 Update `CITATION.cff` and `CITATION`
|
||||
-------------------------------------------------------------------------------
|
||||
|
||||
Update the "version" and "date-released" fields in `CITATION.cff`. The
|
||||
"doi" does not need to be updated.
|
||||
@@ -69,20 +85,24 @@ If needed, update the two instances of year in `CITATION`.
|
||||
|
||||
*Commit the changes to master.*
|
||||
|
||||
### 1.5 Update `PROJ_DATA.VERSION`
|
||||
|
||||
1.5 Update `PROJ_DATA.VERSION`
|
||||
-------------------------------------------------------------------------------
|
||||
|
||||
If the database references data from an updated PROJ-data package, update
|
||||
`PROJ_DATA.VERSION` in `data/sql/metadata.sql`.
|
||||
|
||||
*Commit the changes to master.*
|
||||
|
||||
### 1.6 Create maintenance branch
|
||||
|
||||
1.6 Create maintenance branch
|
||||
-------------------------------------------------------------------------------
|
||||
|
||||
*Skip this step if you are preparing a patch release or RC2 and later.*
|
||||
|
||||
Create the branch:
|
||||
|
||||
```sh
|
||||
```
|
||||
git branch x.y
|
||||
```
|
||||
|
||||
@@ -92,12 +112,14 @@ subsequently cherry-picked to the maintenance branch.
|
||||
|
||||
*Push branch upstream.*
|
||||
|
||||
### 1.7 Prepare and upload archives
|
||||
|
||||
1.7 Prepare and upload archives
|
||||
-------------------------------------------------------------------------------
|
||||
|
||||
Checkout the GitHub repo to an isolated local directory to package files only
|
||||
tracked in git. Then, run CMake and build source distributions:
|
||||
|
||||
```sh
|
||||
```
|
||||
BRANCH_NAME=master
|
||||
git clone --depth 1 --branch $BRANCH_NAME \
|
||||
https://github.com/OSGeo/PROJ.git PROJ-$BRANCH_NAME
|
||||
@@ -109,7 +131,7 @@ cmake --build . --target dist
|
||||
|
||||
Rename the archives and generate MD5 sum files:
|
||||
|
||||
```sh
|
||||
```
|
||||
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
|
||||
@@ -118,112 +140,121 @@ md5 proj-x.y.zRCn.zip > proj-x.y.zRCn.zip.md5
|
||||
|
||||
Upload to the OSGeo download server:
|
||||
|
||||
```sh
|
||||
```
|
||||
scp proj-x.y.zRCn.* warmerdam@upload.osgeo.org:/osgeo/download/proj
|
||||
```
|
||||
|
||||
Adjust version numbers and usernames accordingly.
|
||||
|
||||
### 1.8 Announce the release candidate
|
||||
|
||||
1.8 Announce the release candidate
|
||||
-------------------------------------------------------------------------------
|
||||
|
||||
Announce the release candidate on the PROJ mailing list.
|
||||
|
||||
### 1.9 Promotion to final release
|
||||
|
||||
1.9 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
|
||||
|
||||
2 Final release
|
||||
===============================================================================
|
||||
|
||||
Barring a successful promotion process we can proceed with the final release.
|
||||
|
||||
### 2.1 Prepare and upload archives
|
||||
2.1 Prepare and upload archives
|
||||
-------------------------------------------------------------------------------
|
||||
|
||||
See step 1.6 above. Do not rename the archives with RC postfixes.
|
||||
|
||||
2.2 Update website
|
||||
------------------------------------------------------------------------------
|
||||
|
||||
### 2.2 Update the STABLE_BRANCH repository variable
|
||||
- Add the release notes from `NEWS` to `docs/source/news.rst`
|
||||
|
||||
Go to https://github.com/OSGeo/PROJ/settings/variables/actions/STABLE_BRANCH
|
||||
and update the value to be x.y
|
||||
These vim substitutions are helpfull when converting NEWS to rst:
|
||||
|
||||
### 2.3 Update website
|
||||
:s!(\#\(\d\{4}\))!(`\#\1 <https://github.com/OSGeo/PROJ/issues/\1>`_)!
|
||||
:s/^o/*/
|
||||
|
||||
- Add the release notes from `NEWS.md` to `docs/source/news.rst`
|
||||
- Update download links in `docs/source/download.rst`
|
||||
|
||||
These vim substitutions are helpful when converting NEWS.md to rst:
|
||||
|
||||
```sh
|
||||
:s!(\#\(\d\{4}\))!(`\#\1 <https://github.com/OSGeo/PROJ/issues/\1>`_)!
|
||||
```
|
||||
|
||||
- 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.4 Tag the release
|
||||
2.3 Tag the release
|
||||
-------------------------------------------------------------------------------
|
||||
|
||||
Tag the release with:
|
||||
|
||||
```sh
|
||||
```
|
||||
git tag -a -m "Create tag x.y.z" x.y.z
|
||||
git push --tags
|
||||
```
|
||||
|
||||
### 2.5 Check the GitHub Zeonodo integration
|
||||
|
||||
Go to https://zenodo.org/account/settings/github/ and check that the OSGeo/PROJ
|
||||
repository is ON so that the creation of the GitHub release triggers the
|
||||
creation of a corresponding Zenodo record.
|
||||
|
||||
### 2.6 Prepare the release on GitHub
|
||||
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/releases> with
|
||||
the release notes from `NEWS.md` and add the prepared source distribution archives
|
||||
issued. Update the new release on https://github.com/OSGeo/PROJ/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.7 Announce the new release
|
||||
|
||||
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 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 relevant social media.
|
||||
Make some noise on Twitter and other relevant social media.
|
||||
|
||||
## 3 Post final release
|
||||
|
||||
### 3.1 Update version numbers
|
||||
3 Post final release
|
||||
===============================================================================
|
||||
|
||||
3.1 Update version numbers
|
||||
-------------------------------------------------------------------------------
|
||||
|
||||
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.
|
||||
|
||||
- src/proj.h: Update PROJ_VERSION_MAJOR, PROJ_VERSION_MINOR and
|
||||
PROJ_VERSION_PATCH.
|
||||
- src/release.cpp: Update date to the scheduled release date.
|
||||
- CMakeLists.txt: Update proj_version()
|
||||
- docs/source/conf.py: Update version number
|
||||
- src/proj.h: Update PROJ_VERSION_MAJOR, PROJ_VERSION_MINOR and
|
||||
PROJ_VERSION_PATCH.
|
||||
- src/release.cpp: Update date to the scheduled release date.
|
||||
- CMakeLists.txt: Update proj_version()
|
||||
- docs/source/conf.py: Update version number
|
||||
|
||||
|
||||
*Commit changes. Either to master or maintenance branch depending on the nature
|
||||
of the release.*
|
||||
|
||||
### 3.2 Documentation
|
||||
3.2 Documentation
|
||||
-------------------------------------------------------------------------------
|
||||
|
||||
Edit the Sphinx configuration docs/source/conf.py with these changes:
|
||||
|
||||
- Set "version" to the major project version, e.g. "9.2"
|
||||
- Set "release" to the full project version, e.g. "9.2.1"
|
||||
- Set "data_version" to the PROJ-data version
|
||||
- Set "today_date = date(Y, M, D)" using the release date
|
||||
- set "github_version" to the maintenance branch label, e.g. "9.2"
|
||||
- Set "version" to the major project version, e.g. "9.2"
|
||||
- Set "release" to the full project version, e.g. "9.2.1"
|
||||
- Set "data_version" to the PROJ-data version
|
||||
- Set "today_date = date(Y, M, D)" using the release date
|
||||
- set "github_version" to the maintenance branch label, e.g. "9.2"
|
||||
|
||||
HTML and PDF documentation is built using ReadTheDocs, which supports multiple
|
||||
versions. Versions are based on branch labels, e.g. "9.2". To modify settings,
|
||||
registered users must first log in. To add a version, go to
|
||||
<https://readthedocs.org/projects/osgeo-proj/versions/> and click "Activate"
|
||||
https://readthedocs.org/projects/osgeo-proj/versions/ and click "Activate"
|
||||
next to the maintenance branch label.
|
||||
|
||||
The latest maintenance branch should be set as the "Default version" found at
|
||||
https://readthedocs.org/dashboard/osgeo-proj/advanced/
|
||||
@@ -1,11 +1,14 @@
|
||||
# PROJ
|
||||
|
||||
[](https://app.travis-ci.com/github/OSGeo/PROJ)
|
||||
[](https://hub.docker.com/r/osgeo/proj/builds)
|
||||
[](https://coveralls.io/github/OSGeo/PROJ?branch=master)
|
||||
[](https://github.com/OSGeo/PROJ/actions/workflows/codeql.yml)
|
||||
[](https://gitter.im/OSGeo/proj.4)
|
||||
[](http://lists.osgeo.org/mailman/listinfo/proj)
|
||||
[](CODE_OF_CONDUCT.md)
|
||||
[](https://github.com/OSGeo/PROJ/releases)
|
||||
|
||||
<!-- [](https://cirrus-ci.com/github/OSGeo/PROJ/master) -->
|
||||
|
||||
[](https://doi.org/10.5281/zenodo.5884394)
|
||||
|
||||
PROJ is a generic coordinate transformation software, that transforms
|
||||
@@ -14,13 +17,13 @@ This includes cartographic projections as well as geodetic transformations.
|
||||
|
||||
For more information on the PROJ project please see the web page at:
|
||||
|
||||
<https://proj.org/>
|
||||
https://proj.org/
|
||||
|
||||
The PROJ mailing list can be found at:
|
||||
|
||||
<https://lists.osgeo.org/mailman/listinfo/proj/>
|
||||
https://lists.osgeo.org/mailman/listinfo/proj/
|
||||
|
||||
See the NEWS.md file for changes between versions.
|
||||
See the NEWS file for changes between versions.
|
||||
|
||||
The following command line utilities are included in the PROJ package:
|
||||
|
||||
@@ -67,11 +70,11 @@ be changed to a different directory. On Windows you have to define
|
||||
|
||||
As an alternative to installing the data package on the local system,
|
||||
the resource files can be retrieved on-the-fly from the
|
||||
[PROJ CDN](https://cdn.proj.org/).
|
||||
A [network-enabled](https://proj.org/usage/network.html) PROJ build, will
|
||||
automatically fetch resource files that are not present locally from the CDN.
|
||||
[PROJ CDN](https://cdn.proj.org/). A [network-enabled](https://proj.org/usage/network.html) PROJ build, will
|
||||
automatically fetch resource files that are not present locally from the
|
||||
CDN.
|
||||
|
||||
|
||||
## Citing PROJ in publications
|
||||
|
||||
See [CITATION](CITATION)
|
||||
|
||||
|
||||
@@ -0,0 +1,76 @@
|
||||
branches:
|
||||
except:
|
||||
- /(cherry-pick-)?backport-\d+-to-/
|
||||
|
||||
environment:
|
||||
matrix:
|
||||
|
||||
# VS 2015
|
||||
- platform: x86
|
||||
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
|
||||
BUILD_SHARED_LIBS: OFF
|
||||
CMAKE_GENERATOR: Ninja
|
||||
|
||||
# VS 2017
|
||||
# - platform: x64
|
||||
# APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
|
||||
# BUILD_SHARED_LIBS: ON
|
||||
# CMAKE_GENERATOR: Ninja
|
||||
|
||||
shallow_clone: true
|
||||
|
||||
cache:
|
||||
- C:\Tools\vcpkg\installed\ -> appveyor.yml
|
||||
|
||||
build_script:
|
||||
- set VCPKG_ROOT=C:\Tools\vcpkg
|
||||
- set VCPKG_INSTALLED=%VCPKG_ROOT%\installed\%platform%-windows
|
||||
- set VCPKG_DEFAULT_TRIPLET=%platform%-windows
|
||||
- set VCPKG_DEFAULT_HOST_TRIPLET=%platform%-windows
|
||||
# If cached directory does not exist, update vcpkg and install dependencies
|
||||
# The checkout of a precise sha1 for VS2015 is a workaround for https://github.com/microsoft/vcpkg/issues/11666
|
||||
- if not exist %VCPKG_INSTALLED%\bin (
|
||||
cd "%VCPKG_ROOT%" &
|
||||
git fetch --depth=1 origin 2023.04.15 &
|
||||
(if "%APPVEYOR_BUILD_WORKER_IMAGE%"=="Visual Studio 2015" (git -c advice.detachedHead=false checkout FETCH_HEAD)) &
|
||||
.\bootstrap-vcpkg.bat -disableMetrics &
|
||||
vcpkg install sqlite3[core,tool] tiff curl --triplet=%platform%-windows &
|
||||
cd %APPVEYOR_BUILD_FOLDER%
|
||||
)
|
||||
- dir %VCPKG_INSTALLED%\bin
|
||||
- set PATH=%VCPKG_INSTALLED%\tools;%PATH%
|
||||
# See https://www.appveyor.com/docs/lang/cpp/
|
||||
- if "%APPVEYOR_BUILD_WORKER_IMAGE%"=="Visual Studio 2015" if %platform%==x86
|
||||
(call "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" x86)
|
||||
- if "%APPVEYOR_BUILD_WORKER_IMAGE%"=="Visual Studio 2017"
|
||||
(call "C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvarsall.bat" %platform% )
|
||||
#
|
||||
- set PROJ_BUILD=%APPVEYOR_BUILD_FOLDER%\build
|
||||
- mkdir %PROJ_BUILD%
|
||||
- cd %PROJ_BUILD%
|
||||
- set PROJ_DIR=%APPVEYOR_BUILD_FOLDER%\proj_dir
|
||||
- >-
|
||||
cmake ..
|
||||
-D CMAKE_BUILD_TYPE=Release
|
||||
-D BUILD_SHARED_LIBS="%BUILD_SHARED_LIBS%"
|
||||
-D CMAKE_C_FLAGS="/WX"
|
||||
-D CMAKE_CXX_FLAGS="/WX"
|
||||
-D CMAKE_TOOLCHAIN_FILE=%VCPKG_ROOT%\scripts\buildsystems\vcpkg.cmake
|
||||
-D CMAKE_INSTALL_PREFIX="%PROJ_DIR%"
|
||||
- ninja -v
|
||||
- ninja install
|
||||
- dir %PROJ_DIR%\bin
|
||||
|
||||
test_script:
|
||||
- echo test_script
|
||||
- set PROJ_DATA=%PROJ_DIR%\share\proj
|
||||
- cd %PROJ_BUILD%
|
||||
- ctest --output-on-failure -C Release
|
||||
- set BUILD_MODE=shared
|
||||
- if BUILD_SHARED_LIBS==OFF (set BUILD_MODE=static)
|
||||
- call %APPVEYOR_BUILD_FOLDER%\test\postinstall\test_cmake.bat %PROJ_DIR% %BUILD_MODE%
|
||||
# Executables in %PROJ_DIR%\bin need runtime from %VCPKG_INSTALLED%\bin
|
||||
- set PATH=%PROJ_DIR%\bin;%VCPKG_INSTALLED%\bin;%PATH%
|
||||
- proj
|
||||
|
||||
deploy: off
|
||||
@@ -1,34 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
set -e
|
||||
|
||||
CLANG_VERSION=20
|
||||
|
||||
apt-get update -y
|
||||
DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
|
||||
autoconf automake libtool make cmake ccache pkg-config sqlite3 tar zip curl ca-certificates jq \
|
||||
python3-pytest python3-ruamel.yaml python3-jsonschema \
|
||||
python3-clang-$CLANG_VERSION clang-$CLANG_VERSION libclang-rt-$CLANG_VERSION-dev \
|
||||
libsqlite3-dev libgtest-dev \
|
||||
libtiff-dev libwebp-dev libzstd-dev \
|
||||
libcurl4-openssl-dev libnghttp2-dev libidn2-dev librtmp-dev libssh-dev \
|
||||
libpsl-dev libssl-dev libkrb5-dev comerr-dev libldap2-dev libbrotli-dev \
|
||||
nlohmann-json3-dev libgtest-dev
|
||||
|
||||
cd "$WORK_DIR"
|
||||
|
||||
if test -f "$WORK_DIR/ccache.tar.gz"; then
|
||||
echo "Restoring ccache..."
|
||||
(cd $HOME && tar xzf "$WORK_DIR/ccache.tar.gz")
|
||||
else
|
||||
mkdir -p $HOME/.ccache
|
||||
fi
|
||||
|
||||
ccache -M 500M
|
||||
|
||||
# -fno-use-cxa-atexit is needed to build with -coverage
|
||||
CC="clang-$CLANG_VERSION" CXX="clang++-$CLANG_VERSION" CFLAGS="-fsanitize=address -fno-use-cxa-atexit" CXXFLAGS="-fsanitize=address -fno-use-cxa-atexit" LDFLAGS="-fsanitize=address" ./ci/install.sh
|
||||
|
||||
echo "Saving ccache..."
|
||||
rm -f "$WORK_DIR/ccache.tar.gz"
|
||||
(cd $HOME && tar czf "$WORK_DIR/ccache.tar.gz" .ccache)
|
||||
@@ -1,30 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
mkdir packages
|
||||
|
||||
CONDA_PLAT=""
|
||||
if grep -q "windows" <<< "$GHA_CI_PLATFORM"; then
|
||||
CONDA_PLAT="win"
|
||||
ARCH="64"
|
||||
fi
|
||||
|
||||
if grep -q "ubuntu" <<< "$GHA_CI_PLATFORM"; then
|
||||
CONDA_PLAT="linux"
|
||||
ARCH="64"
|
||||
fi
|
||||
|
||||
if grep -q "macos-14" <<< "$GHA_CI_PLATFORM"; then
|
||||
CONDA_PLAT="osx"
|
||||
ARCH="arm64"
|
||||
elif grep -q "macos-15-intel" <<< "$GHA_CI_PLATFORM"; then
|
||||
CONDA_PLAT="osx"
|
||||
ARCH="64"
|
||||
fi
|
||||
|
||||
rattler-build build \
|
||||
--recipe-dir recipe \
|
||||
--output-dir packages \
|
||||
--variant-config ".ci_support/${CONDA_PLAT}_${ARCH}_.yaml"
|
||||
conda install -c ./packages proj
|
||||
|
||||
#projinfo -s NAD27 -t EPSG:4269 --area "USA - Missouri"
|
||||
@@ -1,14 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
conda update -n base -c defaults conda -y
|
||||
conda install rattler-build ninja compilers yq -y
|
||||
|
||||
pwd
|
||||
ls
|
||||
git clone https://github.com/conda-forge/proj.4-feedstock.git
|
||||
|
||||
cd proj.4-feedstock
|
||||
|
||||
yq -y -i '.source = {"path": "../../../PROJ"} | .build.number = 2112' recipe/recipe.yaml
|
||||
|
||||
ls recipe
|
||||
@@ -1,25 +0,0 @@
|
||||
# Use the official Emscripten SDK image.
|
||||
FROM emscripten/emsdk:4.0.5
|
||||
|
||||
# Set non-interactive frontend for package installations
|
||||
ENV DEBIAN_FRONTEND="noninteractive"
|
||||
|
||||
# --- Install System Dependencies ---
|
||||
RUN apt-get update && \
|
||||
apt-get install -y \
|
||||
sqlite3 \
|
||||
ninja-build && \
|
||||
# Clean up apt cache to reduce image size
|
||||
rm -rf /var/lib/apt/lists/*
|
||||
|
||||
ENV BUILD_DIR="/build"
|
||||
RUN mkdir -p ${BUILD_DIR}
|
||||
RUN chmod ugo+rwx ${BUILD_DIR}
|
||||
|
||||
# Copy the build script into the container
|
||||
COPY build_wasm.sh /scripts/build_wasm.sh
|
||||
RUN chmod +x /scripts/build_wasm.sh
|
||||
|
||||
# Set the main command to execute the build script
|
||||
WORKDIR /build
|
||||
CMD ["/scripts/build_wasm.sh"]
|
||||
@@ -1,365 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
###############################################################################
|
||||
# $Id$
|
||||
#
|
||||
# Project: PROJ
|
||||
# Purpose: Build with emscripten compiler
|
||||
# Author: Javier Jimenez Shaw
|
||||
#
|
||||
###############################################################################
|
||||
# Copyright (c) 2025 Javier Jimenez Shaw
|
||||
###############################################################################
|
||||
|
||||
# Exit immediately if a command exits with a non-zero status.
|
||||
set -e
|
||||
|
||||
# --- Configuration Variables ---
|
||||
# Use environment variables from Dockerfile or runtime.
|
||||
PROJ_REPO=${PROJ_REPO:-https://github.com/OSGeo/PROJ.git}
|
||||
|
||||
INSTALL_DIR=${INSTALL_DIR:-/build/install}
|
||||
BUILD_DIR=${BUILD_DIR:-/build}
|
||||
PROJ_SRC_DIR="${BUILD_DIR}/proj_src"
|
||||
PROJ_BUILD_WASM_DIR="${BUILD_DIR}/proj_build_wasm"
|
||||
DEPS_SRC_DIR="${BUILD_DIR}/deps_src"
|
||||
TEMP_BUILD_DIR="${BUILD_DIR}/temp_build"
|
||||
|
||||
# Clean build directories to ensure a fresh build
|
||||
rm -rf ${TEMP_BUILD_DIR}
|
||||
# We keep DEPS_SRC_DIR to cache downloads
|
||||
mkdir -p ${PROJ_SRC_DIR}
|
||||
mkdir -p ${DEPS_SRC_DIR}
|
||||
mkdir -p ${TEMP_BUILD_DIR}
|
||||
|
||||
# Emscripten flags for Pthreads (multithreading support for synchronous emscripten_fetch)
|
||||
# and some other.
|
||||
EM_PTHREADS_FLAGS="-pthread -matomics -mbulk-memory -fexceptions"
|
||||
|
||||
# --- Utility Functions ---
|
||||
|
||||
function log_step {
|
||||
echo ""
|
||||
echo "--- $1 ---"
|
||||
echo ""
|
||||
}
|
||||
|
||||
function configure_cmake {
|
||||
# Use emcmake wrapper to correctly configure the toolchain
|
||||
emcmake cmake "$@" \
|
||||
-G Ninja \
|
||||
-D CMAKE_INSTALL_PREFIX="${INSTALL_DIR}" \
|
||||
-D CMAKE_BUILD_TYPE=Release \
|
||||
-D BUILD_SHARED_LIBS=OFF \
|
||||
-D CMAKE_C_FLAGS="${EM_PTHREADS_FLAGS}" \
|
||||
-D CMAKE_CXX_FLAGS="${EM_PTHREADS_FLAGS}" \
|
||||
-D CMAKE_FIND_ROOT_PATH="${INSTALL_DIR}" \
|
||||
-D CMAKE_FIND_ROOT_PATH_MODE_PACKAGE=ONLY \
|
||||
-D CMAKE_FIND_ROOT_PATH_MODE_LIBRARY=ONLY \
|
||||
-D CMAKE_FIND_ROOT_PATH_MODE_INCLUDE=ONLY
|
||||
}
|
||||
|
||||
function build_and_install {
|
||||
cmake --build . --parallel $(nproc)
|
||||
cmake --install .
|
||||
}
|
||||
|
||||
# --- Preparation ---
|
||||
|
||||
log_step "1. Setting up Environment and Directories"
|
||||
|
||||
if [ "${FORCE_REBUILD}" = "1" ]; then
|
||||
echo "!!! FORCE_REBUILD is set. Existing libraries will be ignored and rebuilt. !!!"
|
||||
rm -rf "${INSTALL_DIR}"/*
|
||||
fi
|
||||
|
||||
if [ -f "${PROJ_SRC_DIR}/CMakeLists.txt" ]; then
|
||||
echo "Using content from ${PROJ_SRC_DIR} to build PROJ"
|
||||
elif [ -n "${PROJ_TAG}" ]; then
|
||||
echo "Using PROJ from ${PROJ_REPO} : ${PROJ_TAG}"
|
||||
else
|
||||
echo "Please set PROJ_TAG env variable, or populate ${PROJ_SRC_DIR}"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "Installation target: ${INSTALL_DIR}"
|
||||
|
||||
# --- 2. Build and Install Zlib (Dependency) ---
|
||||
|
||||
log_step "2. Building and Installing Zlib"
|
||||
|
||||
if [ "${FORCE_REBUILD}" != "1" ] && [ -f "${INSTALL_DIR}/lib/libz.a" ] && [ -f "${INSTALL_DIR}/include/zlib.h" ]; then
|
||||
echo "Zlib library and header already installed. Skipping."
|
||||
else
|
||||
ZLIB_DIR="${DEPS_SRC_DIR}/zlib-1.3.1"
|
||||
cd ${DEPS_SRC_DIR}
|
||||
if [ ! -f "v1.3.1.zip" ]; then
|
||||
wget -nc "https://github.com/madler/zlib/archive/refs/tags/v1.3.1.zip"
|
||||
fi
|
||||
unzip -qo v1.3.1.zip
|
||||
cd ${ZLIB_DIR}
|
||||
|
||||
# Zlib defines both SHARED and STATIC targets with the same output name (libz.a)
|
||||
# on Emscripten, causing Ninja errors.
|
||||
# Fixed in https://github.com/madler/zlib/commit/b3907c2cd99908259c71fab6754f88e25d370fed
|
||||
# Instead of renaming, we simply remove the SHARED target definitions entirely.
|
||||
sed -i '/add_library(zlib SHARED/d' CMakeLists.txt
|
||||
sed -i '/target_include_directories(zlib /d' CMakeLists.txt
|
||||
sed -i '/set_target_properties(zlib /d' CMakeLists.txt
|
||||
sed -i 's/install(TARGETS zlib zlibstatic/install(TARGETS zlibstatic/g' CMakeLists.txt
|
||||
|
||||
rm -rf build_wasm
|
||||
mkdir -p build_wasm
|
||||
cd build_wasm
|
||||
|
||||
configure_cmake .. -DZLIB_BUILD_EXAMPLES=OFF
|
||||
build_and_install
|
||||
|
||||
# Handle case where Zlib installs as libzlibstatic.a instead of libz.a
|
||||
if [ -f "${INSTALL_DIR}/lib/libzlibstatic.a" ]; then
|
||||
echo "Detected libzlibstatic.a, copying to libz.a..."
|
||||
cp "${INSTALL_DIR}/lib/libzlibstatic.a" "${INSTALL_DIR}/lib/libz.a"
|
||||
fi
|
||||
fi
|
||||
|
||||
# --- 3. Build and Install LibTIFF (Dependency) ---
|
||||
|
||||
log_step "3. Building and Installing LibTIFF"
|
||||
|
||||
if [ "${FORCE_REBUILD}" != "1" ] && [ -f "${INSTALL_DIR}/lib/libtiff.a" ] && [ -f "${INSTALL_DIR}/include/tiff.h" ]; then
|
||||
echo "LibTIFF library and header already installed. Skipping."
|
||||
else
|
||||
TIFF_VERSION="4.7.0"
|
||||
TIFF_DIR="${DEPS_SRC_DIR}/tiff-${TIFF_VERSION}"
|
||||
cd ${DEPS_SRC_DIR}
|
||||
|
||||
if [ ! -f "tiff-${TIFF_VERSION}.tar.gz" ]; then
|
||||
wget -nc "https://download.osgeo.org/libtiff/tiff-${TIFF_VERSION}.tar.gz"
|
||||
fi
|
||||
tar -xzf tiff-${TIFF_VERSION}.tar.gz
|
||||
cd ${TIFF_DIR}
|
||||
|
||||
rm -rf build_wasm
|
||||
mkdir -p build_wasm
|
||||
cd build_wasm
|
||||
|
||||
# Configure minimal LibTIFF: No JPEG, No LZMA, No WebP, No ZSTD.
|
||||
# Only Zlib support enabled.
|
||||
configure_cmake .. \
|
||||
-D tiff-tools=OFF \
|
||||
-D tiff-tests=OFF \
|
||||
-D tiff-contrib=OFF \
|
||||
-D tiff-docs=OFF \
|
||||
-D jpeg=OFF \
|
||||
-D zlib=ON \
|
||||
-D lzma=OFF \
|
||||
-D zstd=OFF \
|
||||
-D webp=OFF \
|
||||
-D jbig=OFF \
|
||||
-D CMAKE_PREFIX_PATH="${INSTALL_DIR}"
|
||||
|
||||
build_and_install
|
||||
fi
|
||||
|
||||
# --- 4. Build and Install SQLite3 (Dependency) ---
|
||||
|
||||
log_step "4. Building and Installing SQLite3"
|
||||
|
||||
# Check if both the library AND the header exist before skipping
|
||||
if [ "${FORCE_REBUILD}" != "1" ] && [ -f "${INSTALL_DIR}/lib/libsqlite3.a" ] && [ -f "${INSTALL_DIR}/include/sqlite3.h" ]; then
|
||||
echo "SQLite3 static library and header already found. Skipping build."
|
||||
else
|
||||
SQLITE_VERSION="3440200"
|
||||
SQLITE_AMALGAMATION_DIR="${DEPS_SRC_DIR}/sqlite3_amalgamation"
|
||||
mkdir -p ${SQLITE_AMALGAMATION_DIR}
|
||||
|
||||
cd ${SQLITE_AMALGAMATION_DIR}
|
||||
if [ ! -f "sqlite-amalgamation-${SQLITE_VERSION}.zip" ]; then
|
||||
wget "https://sqlite.org/2023/sqlite-amalgamation-${SQLITE_VERSION}.zip"
|
||||
fi
|
||||
unzip -qo sqlite-amalgamation-${SQLITE_VERSION}.zip
|
||||
# Move files to the parent directory for a flat structure
|
||||
mv sqlite-amalgamation-${SQLITE_VERSION}/* .
|
||||
rmdir sqlite-amalgamation-${SQLITE_VERSION}
|
||||
|
||||
# Step 4a: Compile SQLite3 to an object file (.o)
|
||||
emcc sqlite3.c \
|
||||
-o ${TEMP_BUILD_DIR}/sqlite3.o \
|
||||
-c \
|
||||
-O3 \
|
||||
-DSQLITE_THREADSAFE=1 \
|
||||
-D_REENTRANT \
|
||||
${EM_PTHREADS_FLAGS}
|
||||
|
||||
# Step 4b: Create the static library archive (.a) from the object file
|
||||
emmake ar rcs ${INSTALL_DIR}/lib/libsqlite3.a ${TEMP_BUILD_DIR}/sqlite3.o
|
||||
|
||||
# Copy the header to the install directory
|
||||
mkdir -p ${INSTALL_DIR}/include
|
||||
# Force copy to overwrite any broken symlinks from previous runs
|
||||
rm -f ${INSTALL_DIR}/include/sqlite3.h
|
||||
cp ${SQLITE_AMALGAMATION_DIR}/sqlite3.h ${INSTALL_DIR}/include/sqlite3.h
|
||||
fi
|
||||
|
||||
|
||||
# --- 5. Download PROJ Source if needed ---
|
||||
|
||||
log_step "5. Downloading PROJ Source"
|
||||
|
||||
if [ ! -f "${PROJ_SRC_DIR}/CMakeLists.txt" ]; then
|
||||
git clone --depth 1 --branch ${PROJ_TAG} ${PROJ_REPO} ${PROJ_SRC_DIR}
|
||||
fi
|
||||
|
||||
cd ${PROJ_SRC_DIR}
|
||||
|
||||
# --- 6. Build and Install PROJ ---
|
||||
# This step uses the NATIVE sqlite3 binary (from the Docker image)
|
||||
# to generate proj.db, which is then embedded into libproj.a.
|
||||
|
||||
log_step "6. Building and Installing PROJ"
|
||||
|
||||
if [ "${FORCE_REBUILD}" != "1" ] && [ -f "${INSTALL_DIR}/lib/libproj.a" ]; then
|
||||
echo "PROJ already built. Skipping."
|
||||
else
|
||||
# If forcing a rebuild, clean the PROJ build directory too to be safe
|
||||
if [ "${FORCE_REBUILD}" = "1" ]; then
|
||||
echo "Cleaning PROJ build directory due to FORCE_REBUILD..."
|
||||
rm -rf ${PROJ_BUILD_WASM_DIR}
|
||||
fi
|
||||
|
||||
mkdir -p ${PROJ_BUILD_WASM_DIR}
|
||||
cd ${PROJ_BUILD_WASM_DIR}
|
||||
|
||||
# Configure PROJ
|
||||
configure_cmake ${PROJ_SRC_DIR} \
|
||||
-D BUILD_TESTING=OFF \
|
||||
-D BUILD_APPS=OFF \
|
||||
-D ENABLE_TIFF=ON \
|
||||
-D ENABLE_CURL=OFF \
|
||||
-D ENABLE_EMSCRIPTEN_FETCH=ON \
|
||||
-D EXE_SQLITE3=/usr/bin/sqlite3 \
|
||||
-D SQLite3_INCLUDE_DIR="${INSTALL_DIR}/include" \
|
||||
-D SQLite3_LIBRARY="${INSTALL_DIR}/lib/libsqlite3.a" \
|
||||
-D TIFF_INCLUDE_DIR="${INSTALL_DIR}/include" \
|
||||
-D TIFF_LIBRARY_RELEASE="${INSTALL_DIR}/lib/libtiff.a"
|
||||
|
||||
build_and_install
|
||||
fi
|
||||
|
||||
# --- 6.5 Create C Wrappers ---
|
||||
# Helper functions to extract some info from PROJ in C and C++
|
||||
log_step "6.5 Creating C Wrapper Functions"
|
||||
|
||||
WRAPPER_FILE="${TEMP_BUILD_DIR}/proj_wrappers.cpp"
|
||||
WRAPPER_OBJ_FILE="${TEMP_BUILD_DIR}/proj_wrappers.o"
|
||||
|
||||
DDD=`date +"%Y-%m-%dT%H:%M:%S%z" -u`
|
||||
cat << EOF > ${WRAPPER_FILE}
|
||||
#include "proj.h"
|
||||
#include "math.h"
|
||||
|
||||
#include "projapps_lib.h"
|
||||
|
||||
#include <emscripten/bind.h>
|
||||
#include <emscripten/val.h>
|
||||
#include <vector>
|
||||
#include <string>
|
||||
|
||||
void trampoline(PJ_PROJINFO_LOG_LEVEL level, const char *msg, void *user_data) {
|
||||
if (!user_data) return;
|
||||
const emscripten::val* js_callback = reinterpret_cast<const emscripten::val*>(user_data);
|
||||
(*js_callback)(level, std::string(msg));
|
||||
}
|
||||
|
||||
int projinfo_wrapper(uintptr_t ctx_ptr, emscripten::val jsArgs, emscripten::val jsCallback) {
|
||||
std::vector<std::string> args = emscripten::vecFromJSArray<std::string>(jsArgs);
|
||||
std::vector<char*> argv;
|
||||
for (auto& s : args) {
|
||||
argv.push_back(&s[0]);
|
||||
}
|
||||
PJ_CONTEXT *ctx = reinterpret_cast<PJ_CONTEXT *>(ctx_ptr);
|
||||
return projinfo(ctx, args.size(), argv.data(), &trampoline, &jsCallback);
|
||||
}
|
||||
|
||||
EMSCRIPTEN_BINDINGS(proj_module) {
|
||||
emscripten::value_object<PJ_INFO>("PJ_INFO")
|
||||
.field("major", &PJ_INFO::major)
|
||||
.field("minor", &PJ_INFO::minor)
|
||||
.field("patch", &PJ_INFO::patch)
|
||||
.field("release", std::function<std::string(const PJ_INFO&)>([](const PJ_INFO& i) {
|
||||
return std::string(i.release); }),
|
||||
std::function<void(PJ_INFO&, std::string)>([](PJ_INFO& i, std::string v) {}))
|
||||
.field("version", std::function<std::string(const PJ_INFO&)>([](const PJ_INFO& i) {
|
||||
return std::string(i.version); }),
|
||||
std::function<void(PJ_INFO&, std::string)>([](PJ_INFO& i, std::string v) {}));
|
||||
emscripten::function("proj_info_ems", &proj_info);
|
||||
|
||||
emscripten::enum_<PJ_PROJINFO_LOG_LEVEL>("PJ_PROJINFO_LOG_LEVEL")
|
||||
.value("INFO", PJ_PROJINFO_LOG_LEVEL_INFO)
|
||||
.value("WARN", PJ_PROJINFO_LOG_LEVEL_WARN)
|
||||
.value("ERR", PJ_PROJINFO_LOG_LEVEL_ERR);
|
||||
|
||||
emscripten::function("projinfo_ems", &projinfo_wrapper, emscripten::allow_raw_pointers());
|
||||
}
|
||||
|
||||
extern "C" {
|
||||
|
||||
const char* get_compilation_date() {
|
||||
return "$DDD" ;
|
||||
}
|
||||
|
||||
int get_ptr_size() {
|
||||
return sizeof(void*);
|
||||
}
|
||||
}
|
||||
EOF
|
||||
|
||||
# Compile the wrapper into an object file
|
||||
emcc ${WRAPPER_FILE} \
|
||||
-c \
|
||||
-o ${WRAPPER_OBJ_FILE} \
|
||||
-I ${INSTALL_DIR}/include \
|
||||
${EM_PTHREADS_FLAGS}
|
||||
|
||||
# --- 7. Final WASM Module Generation ---
|
||||
# Link all the static libraries and the wrapper object file
|
||||
# into the final JS/WASM module and expose functions.
|
||||
|
||||
log_step "7. Generating Final WASM Module (projModule.js + .wasm)"
|
||||
|
||||
FINAL_LIBS="${INSTALL_DIR}/lib/libproj.a \
|
||||
${INSTALL_DIR}/lib/libsqlite3.a \
|
||||
${INSTALL_DIR}/lib/libtiff.a \
|
||||
${INSTALL_DIR}/lib/libz.a \
|
||||
${WRAPPER_OBJ_FILE}"
|
||||
|
||||
# include all exported symbols
|
||||
echo -e "_malloc\n_free\n_get_compilation_date\n_get_ptr_size" > ${INSTALL_DIR}/exported_symbols.txt
|
||||
grep "^proj_\|^geod_" ${PROJ_SRC_DIR}/scripts/reference_exported_symbols.txt | grep -v "(" | sed 's/^/_/' >> ${INSTALL_DIR}/exported_symbols.txt
|
||||
head ${INSTALL_DIR}/exported_symbols.txt
|
||||
|
||||
emcc -v ${FINAL_LIBS} \
|
||||
-o ${INSTALL_DIR}/projModule.js \
|
||||
-O3 \
|
||||
-lembind \
|
||||
-s STACK_OVERFLOW_CHECK=1 \
|
||||
-s STACK_SIZE=5MB \
|
||||
-s NO_DISABLE_EXCEPTION_CATCHING \
|
||||
-s FETCH=1 \
|
||||
-s USE_PTHREADS=1 \
|
||||
-s FETCH_SUPPORT_INDEXEDDB=0 \
|
||||
-s WASM=1 \
|
||||
-s MODULARIZE=1 \
|
||||
-s EXPORT_NAME="'ProjModuleFactory'" \
|
||||
-s FORCE_FILESYSTEM=1 \
|
||||
-s ALLOW_MEMORY_GROWTH=1 \
|
||||
-s EXPORTED_RUNTIME_METHODS="[ccall, cwrap, FS, HEAP8, HEAP16, HEAP32, HEAPF64, lengthBytesUTF8, stringToUTF8, stringToNewUTF8, UTF8ToString, getValue, setValue]" \
|
||||
-s EXPORTED_FUNCTIONS=@${INSTALL_DIR}/exported_symbols.txt \
|
||||
${EM_PTHREADS_FLAGS}
|
||||
|
||||
log_step "BUILD SUCCESSFUL!"
|
||||
|
||||
echo "ls -l ${INSTALL_DIR}"
|
||||
ls -l ${INSTALL_DIR}
|
||||
|
||||
echo "Artifacts are installed in ${INSTALL_DIR}"
|
||||
@@ -1,252 +0,0 @@
|
||||
const assert = require("node:assert/strict");
|
||||
const ProjModuleFactory = require("./projModule.js");
|
||||
|
||||
// Small class to help to manage memory.
|
||||
class Keeper {
|
||||
constructor(proj, debug = false) {
|
||||
if (!proj) {
|
||||
throw new Error("proj cannot be empty in class Keeper");
|
||||
}
|
||||
|
||||
this.proj = proj;
|
||||
this.debug = debug;
|
||||
this.to_free = [];
|
||||
this.to_destroy = [];
|
||||
};
|
||||
|
||||
add(ptr, proj_destroy = true) {
|
||||
if (proj_destroy) {
|
||||
if (this.debug)
|
||||
console.debug("add destroy", ptr);
|
||||
this.to_destroy.push(ptr);
|
||||
} else {
|
||||
if (this.debug)
|
||||
console.debug("add free", ptr);
|
||||
this.to_free.push(ptr);
|
||||
}
|
||||
return ptr;
|
||||
};
|
||||
|
||||
call(name, ...args) {
|
||||
const ptr = this.proj[name](...args);
|
||||
return this.add(ptr, true);
|
||||
}
|
||||
|
||||
malloc(ptrSize) {
|
||||
const ptr = this.proj._malloc(ptrSize);
|
||||
return this.add(ptr, false);
|
||||
};
|
||||
|
||||
string(str) {
|
||||
const ptr = this.proj.stringToNewUTF8(str);
|
||||
return this.add(ptr, false);
|
||||
};
|
||||
|
||||
destroy() {
|
||||
this.to_destroy.reverse();
|
||||
for (const p of this.to_destroy) {
|
||||
if (this.debug)
|
||||
console.debug("call destroy", p);
|
||||
this.proj._proj_destroy(p);
|
||||
}
|
||||
this.to_destroy = [];
|
||||
|
||||
this.to_free.reverse();
|
||||
for (const p of this.to_free) {
|
||||
if (this.debug)
|
||||
console.debug("call free", p);
|
||||
this.proj._free(p);
|
||||
}
|
||||
this.to_free = [];
|
||||
};
|
||||
};
|
||||
|
||||
const tests = {
|
||||
test_proj_info : (proj) => {
|
||||
const r = proj.proj_info_ems();
|
||||
const compilation_date =
|
||||
proj.UTF8ToString(proj._get_compilation_date());
|
||||
// Print it for visual inspection
|
||||
console.log(r);
|
||||
console.log(compilation_date);
|
||||
assert(compilation_date.length > 5);
|
||||
assert(r.major >= 9);
|
||||
if (r.major === 9) {
|
||||
assert(r.minor >= 8);
|
||||
}
|
||||
assert(typeof r.minor === "number")
|
||||
assert(typeof r.patch === "number")
|
||||
const rel = `${r.major}.${r.minor}.${r.patch}`;
|
||||
assert(r.release.includes(rel));
|
||||
assert(r.version.includes(rel));
|
||||
},
|
||||
|
||||
test_projinfo : (proj) => {
|
||||
function get_projinfo(args) {
|
||||
let msg = "";
|
||||
const myCallback = (level, message) => { msg += message; };
|
||||
const rc = proj.projinfo_ems(0, args, myCallback);
|
||||
return [ rc, msg ];
|
||||
} {
|
||||
let [rc, msg] = get_projinfo([ "EPSG:32633", "-o", "WKT1:GDAL" ]);
|
||||
assert.equal(rc, 0);
|
||||
assert.ok(msg.includes('PROJCS["WGS 84 / UTM zone 33N"'));
|
||||
assert.ok(msg.includes('AUTHORITY["EPSG","32633"]'));
|
||||
} {let [rc, msg] = get_projinfo([ "EPSG:32633", "-o", "invalid" ]);
|
||||
assert.equal(rc, 1);
|
||||
assert.ok(msg.includes('Unrecognized value '));} {
|
||||
let [rc, msg] = get_projinfo(
|
||||
[ "EPSG:4326", "EPSG:32633", "-o", "proj", "--single-line" ]);
|
||||
assert.equal(rc, 0);
|
||||
assert.ok(msg.includes('Candidate operations'));
|
||||
assert.ok(
|
||||
msg.includes(('+proj=pipeline +step +proj=axisswap +order=2,1 ',
|
||||
'+step +proj=unitconvert +xy_in=deg +xy_out=rad ',
|
||||
'+step +proj=utm +zone=33 +ellps=WGS84')));
|
||||
}
|
||||
},
|
||||
|
||||
test_convert : (proj) => {
|
||||
let ctx = proj._proj_context_create();
|
||||
if (ctx === 0) {
|
||||
throw new Error("proj_context_create returned NULL");
|
||||
}
|
||||
const sourceCRS = proj.stringToNewUTF8("EPSG:4326");
|
||||
const targetCRS = proj.stringToNewUTF8("EPSG:32633");
|
||||
const P = proj._proj_create_crs_to_crs(ctx, sourceCRS, targetCRS, 0);
|
||||
if (P === 0) {
|
||||
throw new Error("proj_create_crs_to_crs returned NULL.");
|
||||
}
|
||||
// PJ_COORD is 4 doubles: (x, y, z, t) or (lon, lat, z, t)
|
||||
// We need 4 * 8 = 32 bytes of memory
|
||||
let coordPtr = proj._malloc(32);
|
||||
const coordView = new Float64Array(proj.HEAPF64.buffer, coordPtr, 4);
|
||||
coordView[0] = 52;
|
||||
coordView[1] = 13.5;
|
||||
coordView[2] = 0;
|
||||
coordView[3] = Infinity; // HUGE_VAL
|
||||
|
||||
let res = proj._proj_trans_array(P, 1, 1, coordPtr);
|
||||
if (res != 0) {
|
||||
let msgPtr = proj._proj_context_errno_string(ctx, res);
|
||||
let msg = proj.UTF8ToString(msgPtr);
|
||||
throw new Error(`_proj_trans_array error ${msg}`);
|
||||
}
|
||||
assert(Math.abs(coordView[0] - 397027.0183) < 1e-3);
|
||||
assert(Math.abs(coordView[1] - 5762100.4897) < 1e-3);
|
||||
|
||||
proj._free(coordPtr);
|
||||
proj._proj_destroy(P);
|
||||
proj._free(sourceCRS);
|
||||
proj._free(targetCRS);
|
||||
proj._proj_destroy(ctx);
|
||||
},
|
||||
|
||||
test_axes : (proj) => {
|
||||
let ctx = proj._proj_context_create();
|
||||
if (ctx === 0) {
|
||||
throw new Error("proj_context_create returned NULL");
|
||||
}
|
||||
function get_str(ptr) {
|
||||
const strPtr = proj.getValue(ptr, 'i32'); // It's a pointer (i32)
|
||||
const str = proj.UTF8ToString(strPtr);
|
||||
return str;
|
||||
}
|
||||
function get_axes(crs) {
|
||||
let keep = new Keeper(proj);
|
||||
try {
|
||||
// TODO support compound CRS
|
||||
|
||||
const ptrSize = proj._get_ptr_size();
|
||||
assert.ok(ptrSize == 4 || ptrSize == 8);
|
||||
const doubleSize = 8; // Doubles are 8 bytes
|
||||
const sourceCRS = keep.string(crs);
|
||||
const P_crs = keep.call("_proj_create", ctx, sourceCRS);
|
||||
const P_cs =
|
||||
keep.add(proj._proj_crs_get_coordinate_system(ctx, P_crs));
|
||||
const axis_count = proj._proj_cs_get_axis_count(ctx, P_cs);
|
||||
const outNamePtr = keep.malloc(ptrSize);
|
||||
const outAbbrevPtr = keep.malloc(ptrSize);
|
||||
const outDirectionPtr = keep.malloc(ptrSize);
|
||||
const outConvFactorPtr = keep.malloc(doubleSize);
|
||||
const outUnitPtr = keep.malloc(ptrSize);
|
||||
res = {
|
||||
name : [],
|
||||
abbr : [],
|
||||
direction : [],
|
||||
conv_factor : [],
|
||||
unit : []
|
||||
};
|
||||
for (let i = 0; i < axis_count; i++) {
|
||||
const r = proj._proj_cs_get_axis_info(
|
||||
ctx, P_cs, i, outNamePtr, outAbbrevPtr, outDirectionPtr,
|
||||
outConvFactorPtr, outUnitPtr, 0, 0);
|
||||
if (r != 1) {
|
||||
throw new Error("error calling proj_cs_get_axis_info");
|
||||
}
|
||||
|
||||
res.name.push(get_str(outNamePtr));
|
||||
res.abbr.push(get_str(outAbbrevPtr));
|
||||
res.direction.push(get_str(outDirectionPtr));
|
||||
res.conv_factor.push(
|
||||
proj.getValue(outConvFactorPtr, 'double'));
|
||||
res.unit.push(get_str(outUnitPtr));
|
||||
}
|
||||
} finally {
|
||||
keep.destroy();
|
||||
}
|
||||
return res;
|
||||
}
|
||||
const ax4326 = get_axes("EPSG:4326");
|
||||
assert.deepEqual(ax4326, {
|
||||
name : [ 'Geodetic latitude', 'Geodetic longitude' ],
|
||||
abbr : [ 'Lat', 'Lon' ],
|
||||
direction : [ 'north', 'east' ],
|
||||
conv_factor : [ 0.017453292519943295, 0.017453292519943295 ],
|
||||
unit : [ 'degree', 'degree' ]
|
||||
});
|
||||
|
||||
const ax25833 = get_axes("EPSG:25833");
|
||||
assert.deepEqual(ax25833, {
|
||||
name : [ 'Easting', 'Northing' ],
|
||||
abbr : [ 'E', 'N' ],
|
||||
direction : [ 'east', 'north' ],
|
||||
conv_factor : [ 1, 1 ],
|
||||
unit : [ 'metre', 'metre' ]
|
||||
});
|
||||
|
||||
const ax3855 = get_axes("EPSG:3855");
|
||||
assert.deepEqual(ax3855, {
|
||||
name : [ 'Gravity-related height' ],
|
||||
abbr : [ 'H' ],
|
||||
direction : [ 'up' ],
|
||||
conv_factor : [ 1 ],
|
||||
unit : [ 'metre' ]
|
||||
});
|
||||
proj._proj_destroy(ctx);
|
||||
}
|
||||
};
|
||||
|
||||
if (typeof ProjModuleFactory === 'undefined') {
|
||||
console.error(
|
||||
"'ProjModuleFactory' is not defined. Have you loaded projModule.js.");
|
||||
process.exit(1);
|
||||
} else {
|
||||
ProjModuleFactory()
|
||||
.then(module => {
|
||||
proj = module;
|
||||
console.log("Starting tests");
|
||||
let counter = 0;
|
||||
for (let test of Object.keys(tests)) {
|
||||
console.log(`+++++ Running test "${test}"`)
|
||||
tests[test](proj);
|
||||
counter++;
|
||||
};
|
||||
console.log(`Number of tests run: ${counter}`)
|
||||
process.exit(0);
|
||||
})
|
||||
.catch(err => {
|
||||
console.error(`Tests failed: ${err}`);
|
||||
process.exit(1);
|
||||
});
|
||||
}
|
||||
@@ -1,62 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
set -e
|
||||
|
||||
dnf install -y cmake clang ccache ninja-build sqlite-devel libtiff-devel libcurl-devel diffutils wget
|
||||
# For this build, install nlohmann-json so that the "use external"
|
||||
# branch is tested; the other builds use the vendored copy.
|
||||
dnf install -y nlohmann-json-devel
|
||||
|
||||
cd "$WORK_DIR"
|
||||
|
||||
if test -f "$WORK_DIR/ccache.tar.gz"; then
|
||||
echo "Restoring ccache..."
|
||||
(cd $HOME && tar xzf "$WORK_DIR/ccache.tar.gz")
|
||||
fi
|
||||
|
||||
export CCACHE_CPP2=yes
|
||||
|
||||
ccache -M 500M
|
||||
ccache -s
|
||||
|
||||
mkdir build
|
||||
cd build
|
||||
echo "Build with -DEMBED_RESOURCE_FILES=ON"
|
||||
CC=clang CXX=clang++ cmake .. \
|
||||
-DEMBED_RESOURCE_FILES=ON -DUSE_CCACHE=ON -DPROJ_DB_CACHE_DIR=$HOME/.ccache ..
|
||||
make -j$(nproc)
|
||||
ctest -j$(nproc)
|
||||
|
||||
# Try EMBED_RESOURCE_DIRECTORY option
|
||||
wget https://raw.githubusercontent.com/OSGeo/PROJ-data/refs/heads/master/us_nga/us_nga_egm96_15.tif
|
||||
wget https://cdn.proj.org/fi_nls_ykj_etrs35fin.gpkg
|
||||
mkdir grids
|
||||
mv us_nga_egm96_15.tif grids
|
||||
mv fi_nls_ykj_etrs35fin.gpkg grids
|
||||
echo "Build with -DEMBED_RESOURCE_FILES=ON -DEMBED_RESOURCE_DIRECTORY=$PWD/grids"
|
||||
CC=clang CXX=clang++ cmake .. -DEMBED_RESOURCE_DIRECTORY=$PWD/grids
|
||||
make -j$(nproc)
|
||||
rm -rf data
|
||||
echo 49 2 0 | bin/cs2cs "WGS84 + EGM96 height" EPSG:4979
|
||||
echo 49 2 0 | bin/cs2cs "WGS84 + EGM96 height" EPSG:4979 | grep 44.643 >/dev/null || (echo "Expected 49dN 2dE 44.643 as a result" && /bin/false)
|
||||
echo 0 0 0 | bin/cct +init=ITRF2000:ITRF96
|
||||
echo 0 0 0 | bin/cct +init=ITRF2000:ITRF96 | grep 0.0067 >/dev/null || (echo "Expected 0.0067 0.0061 -0.0185 as a result" && /bin/false)
|
||||
echo 3432087 6995748 0 | bin/cct +proj=tinshift +file=fi_nls_ykj_etrs35fin.gpkg
|
||||
echo 3432087 6995748 0 | bin/cct +proj=tinshift +file=fi_nls_ykj_etrs35fin.gpkg | grep 431943.0905 >/dev/null || (echo "Expected 431943.0905 6992816.7826 0 as a result" && /bin/false)
|
||||
|
||||
echo "Build with -DEMBED_RESOURCE_FILES=ON -DEMBED_RESOURCE_DIRECTORY=$PWD/grids -DUSE_ONLY_EMBEDDED_RESOURCE_FILES=ON"
|
||||
CC=clang CXX=clang++ cmake .. -DEMBED_RESOURCE_DIRECTORY=$PWD/grids -DUSE_ONLY_EMBEDDED_RESOURCE_FILES=ON
|
||||
make -j$(nproc)
|
||||
rm -rf data
|
||||
echo 49 2 0 | bin/cs2cs "WGS84 + EGM96 height" EPSG:4979
|
||||
echo 49 2 0 | bin/cs2cs "WGS84 + EGM96 height" EPSG:4979 | grep 44.643 >/dev/null || (echo "Expected 49dN 2dE 44.643 as a result" && /bin/false)
|
||||
echo 0 0 0 | bin/cct +init=ITRF2000:ITRF96
|
||||
echo 0 0 0 | bin/cct +init=ITRF2000:ITRF96 | grep 0.0067 >/dev/null || (echo "Expected 0.0067 0.0061 -0.0185 as a result" && /bin/false)
|
||||
|
||||
cd ..
|
||||
|
||||
ccache -s
|
||||
|
||||
echo "Saving ccache..."
|
||||
rm -f "$WORK_DIR/ccache.tar.gz"
|
||||
(cd $HOME && tar czf "$WORK_DIR/ccache.tar.gz" .cache)
|
||||
@@ -1,52 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
set -e
|
||||
|
||||
export TRAVIS_OS_NAME=linux
|
||||
export BUILD_NAME=linux_gcc_32bit
|
||||
export TRAVIS_BUILD_DIR="$WORK_DIR"
|
||||
|
||||
GCC_VERSION=13
|
||||
|
||||
ARCH=i386
|
||||
|
||||
dpkg --add-architecture i386
|
||||
apt-get update -y
|
||||
|
||||
DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends -o APT::Immediate-Configure=0 \
|
||||
autoconf automake libtool make cmake ccache pkg-config sqlite3 tar zip curl ca-certificates jq \
|
||||
python3-pytest python3-ruamel.yaml python3-jsonschema \
|
||||
gcc-$GCC_VERSION-multilib g++-$GCC_VERSION-multilib g++-$GCC_VERSION \
|
||||
libsqlite3-dev:$ARCH libgtest-dev:$ARCH \
|
||||
libtiff-dev:$ARCH libwebp-dev:$ARCH libzstd-dev:$ARCH \
|
||||
libcurl4-openssl-dev:$ARCH libnghttp2-dev:$ARCH libidn2-dev:$ARCH librtmp-dev:$ARCH libssh-dev:$ARCH \
|
||||
libpsl-dev:$ARCH libssl-dev:$ARCH libkrb5-dev:$ARCH comerr-dev:$ARCH libldap2-dev:$ARCH libbrotli-dev:$ARCH
|
||||
|
||||
LIBDIR=/usr/lib/i386-linux-gnu
|
||||
INCDIR=/usr/include/i386-linux-gnu
|
||||
|
||||
export CXXFLAGS="-m32 -D_GLIBCXX_ASSERTIONS"
|
||||
export CFLAGS="-m32"
|
||||
export TIFF_CFLAGS="-I$INCDIR"
|
||||
export TIFF_LIBS="-L$LIBDIR -ltiff"
|
||||
export SQLITE3_CFLAGS="-I$INCDIR"
|
||||
export SQLITE3_LIBS="-L$LIBDIR -lsqlite3"
|
||||
|
||||
export PKG_CONFIG=i686-linux-gnu-pkg-config
|
||||
|
||||
cd "$WORK_DIR"
|
||||
|
||||
if test -f "$WORK_DIR/ccache.tar.gz"; then
|
||||
echo "Restoring ccache..."
|
||||
(cd $HOME && tar xzf "$WORK_DIR/ccache.tar.gz")
|
||||
else
|
||||
mkdir -p $HOME/.ccache
|
||||
fi
|
||||
|
||||
ccache -M 500M
|
||||
|
||||
CC="gcc-$GCC_VERSION" CXX="g++-$GCC_VERSION" CMAKE_BUILD_TYPE=RelWithDebInfo ./ci/install.sh
|
||||
|
||||
echo "Saving ccache..."
|
||||
rm -f "$WORK_DIR/ccache.tar.gz"
|
||||
(cd $HOME && tar czf "$WORK_DIR/ccache.tar.gz" .ccache)
|
||||
@@ -1,5 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
set -e
|
||||
|
||||
mamba install --yes --quiet --only-deps proj
|
||||
@@ -1,20 +0,0 @@
|
||||
name: proj
|
||||
channels:
|
||||
- conda-forge
|
||||
dependencies:
|
||||
- python=3.8
|
||||
- conda
|
||||
- mamba
|
||||
- compilers
|
||||
- compiler-rt
|
||||
- ninja
|
||||
- cmake
|
||||
- pkg-config
|
||||
- ccache
|
||||
- autoconf
|
||||
- automake
|
||||
- m4
|
||||
- jsonschema
|
||||
- ruamel.yaml
|
||||
- pytest
|
||||
|
||||
@@ -1,7 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
set -e
|
||||
|
||||
ccache -M 200M
|
||||
|
||||
CC="clang" CXX="clang++" CMAKE_BUILD_TYPE=RelWithDebInfo ./ci/install.sh
|
||||
+7
-6
@@ -7,6 +7,8 @@
|
||||
# Add "include(Ccache)" to CMakeLists.txt and enable
|
||||
# using the option -D USE_CCACHE=ON
|
||||
|
||||
cmake_minimum_required(VERSION 3.4)
|
||||
|
||||
|
||||
option(USE_CCACHE
|
||||
"Use ccache (or clcache for MSVC) to compile C/C++ objects" OFF)
|
||||
@@ -40,12 +42,11 @@ exec \"${C_LAUNCHER}\" \"${CMAKE_C_COMPILER}\" \"$@\"
|
||||
shift
|
||||
exec \"${CXX_LAUNCHER}\" \"${CMAKE_CXX_COMPILER}\" \"$@\"
|
||||
")
|
||||
# Do equivalent of chmod a+rx
|
||||
file(CHMOD "${CCACHE_LAUNCH_C}" "${CCACHE_LAUNCH_CXX}"
|
||||
FILE_PERMISSIONS
|
||||
OWNER_WRITE OWNER_READ OWNER_EXECUTE
|
||||
GROUP_READ GROUP_EXECUTE
|
||||
WORLD_READ WORLD_EXECUTE
|
||||
# Note: file(CHMOD) introduced in CMake 3.19
|
||||
execute_process(
|
||||
COMMAND chmod a+rx
|
||||
"${CCACHE_LAUNCH_C}"
|
||||
"${CCACHE_LAUNCH_CXX}"
|
||||
)
|
||||
# Set Xcode project attributes to route compilation and linking
|
||||
# through the wrapper scripts
|
||||
|
||||
@@ -1,99 +0,0 @@
|
||||
# Derived from https://gitlab.com/jhamberg/cmake-examples/-/blob/master/cmake/FileEmbed.cmake
|
||||
# MIT licensed
|
||||
# Copyright (c) 2022 Jonathan Hamberg
|
||||
|
||||
function(FileEmbedSetup)
|
||||
|
||||
if (NOT EXISTS ${CMAKE_CURRENT_BINARY_DIR}/file_embed)
|
||||
file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}file_embed)
|
||||
endif ()
|
||||
|
||||
if (NOT EXISTS ${CMAKE_CURRENT_BINARY_DIR}/file_embed/file_embed_empty.c)
|
||||
file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/file_embed/file_embed_empty.c "")
|
||||
endif ()
|
||||
|
||||
add_library(file_embed ${CMAKE_CURRENT_BINARY_DIR}/file_embed/file_embed_empty.c)
|
||||
target_include_directories(file_embed PUBLIC ${CMAKE_CURRENT_BINARY_DIR}/file_embed)
|
||||
|
||||
endfunction()
|
||||
|
||||
function(FileEmbedAdd file)
|
||||
FileEmbedGenerate(${file} var)
|
||||
target_sources(file_embed PUBLIC ${var})
|
||||
|
||||
add_custom_command(
|
||||
OUTPUT ${var}
|
||||
COMMAND ${CMAKE_COMMAND}
|
||||
-DRUN_FILE_EMBED_GENERATE=1
|
||||
"-DFILE_EMBED_GENERATE_PATH=${file}"
|
||||
-P ${PROJECT_SOURCE_DIR}/cmake/FileEmbed.cmake
|
||||
MAIN_DEPENDENCY ${file}
|
||||
)
|
||||
endfunction()
|
||||
|
||||
function(FileEmbedGenerate file generated_c)
|
||||
|
||||
get_filename_component(base_filename ${file} NAME)
|
||||
set(output_filename "${base_filename}.c")
|
||||
string(MAKE_C_IDENTIFIER ${base_filename} c_name)
|
||||
file(READ ${file} content HEX)
|
||||
|
||||
string(LENGTH "${content}" size)
|
||||
math(EXPR size_mult_16 "${size} - (${size} % 16)")
|
||||
string(SUBSTRING "${content}" 0 ${size_mult_16} content_mult_16)
|
||||
|
||||
string(REGEX REPLACE
|
||||
"([A-Fa-f0-9][A-Fa-f0-9])\
|
||||
([A-Fa-f0-9][A-Fa-f0-9])\
|
||||
([A-Fa-f0-9][A-Fa-f0-9])\
|
||||
([A-Fa-f0-9][A-Fa-f0-9])\
|
||||
([A-Fa-f0-9][A-Fa-f0-9])\
|
||||
([A-Fa-f0-9][A-Fa-f0-9])\
|
||||
([A-Fa-f0-9][A-Fa-f0-9])\
|
||||
([A-Fa-f0-9][A-Fa-f0-9])"
|
||||
"0x\\1,0x\\2,0x\\3,0x\\4,0x\\5,0x\\6,0x\\7,0x\\8,\n" SEPARATED_HEX "${content_mult_16}")
|
||||
|
||||
set(SEPARATED_HEX_REMAINDER "")
|
||||
if (NOT ${size_mult_16} EQUAL ${size})
|
||||
string(SUBSTRING "${content}" ${size_mult_16} 16 content_remainder)
|
||||
string(REGEX REPLACE "([A-Fa-f0-9][A-Fa-f0-9])" "0x\\1," SEPARATED_HEX_REMAINDER "${content_remainder}")
|
||||
endif()
|
||||
|
||||
set(output_c "${SEPARATED_HEX}${SEPARATED_HEX_REMAINDER}")
|
||||
|
||||
set(output_c "
|
||||
#include \"${c_name}.h\"
|
||||
const uint8_t ${c_name}_data[] = {
|
||||
${output_c}
|
||||
}\;
|
||||
const unsigned ${c_name}_size = sizeof(${c_name}_data)\;
|
||||
")
|
||||
|
||||
set(output_h "
|
||||
#ifndef ${c_name}_H
|
||||
#define ${c_name}_H
|
||||
#include <stdint.h>
|
||||
extern const uint8_t ${c_name}_data[]\;
|
||||
extern const unsigned ${c_name}_size\;
|
||||
#endif // ${c_name}_H
|
||||
")
|
||||
|
||||
|
||||
if (NOT EXISTS ${CMAKE_CURRENT_BINARY_DIR}/file_embed)
|
||||
file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}file_embed)
|
||||
endif ()
|
||||
|
||||
|
||||
file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/file_embed/${c_name}.c
|
||||
${output_c})
|
||||
|
||||
file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/file_embed/${c_name}.h
|
||||
${output_h})
|
||||
|
||||
set(${generated_c} ${CMAKE_CURRENT_BINARY_DIR}/file_embed/${c_name}.c PARENT_SCOPE)
|
||||
|
||||
endfunction()
|
||||
|
||||
if (RUN_FILE_EMBED_GENERATE)
|
||||
FileEmbedGenerate(${FILE_EMBED_GENERATE_PATH} var)
|
||||
endif ()
|
||||
@@ -0,0 +1,80 @@
|
||||
# Find Sqlite3
|
||||
# ~~~~~~~~~~~~
|
||||
# Copyright (c) 2007, Martin Dobias <wonder.sk at gmail.com>
|
||||
# Redistribution and use is allowed according to the terms of the BSD license.
|
||||
# For details see the accompanying COPYING-CMAKE-SCRIPTS file.
|
||||
#
|
||||
# CMake module to search for Sqlite3 library
|
||||
#
|
||||
# If it's found it sets SQLITE3_FOUND to TRUE
|
||||
# and following variables are set:
|
||||
# SQLITE3_INCLUDE_DIR
|
||||
# SQLITE3_LIBRARY
|
||||
# SQLITE3_VERSION
|
||||
|
||||
|
||||
# find_path and find_library normally search standard locations
|
||||
# before the specified paths. To search non-standard paths first,
|
||||
# FIND_* is invoked first with specified paths and NO_DEFAULT_PATH
|
||||
# and then again with no specified paths to search the default
|
||||
# locations. When an earlier FIND_* succeeds, subsequent FIND_*s
|
||||
# searching for the same item do nothing.
|
||||
|
||||
# try to use framework on mac
|
||||
# want clean framework path, not unix compatibility path
|
||||
if(APPLE)
|
||||
if(CMAKE_FIND_FRAMEWORK MATCHES "FIRST"
|
||||
OR CMAKE_FRAMEWORK_PATH MATCHES "ONLY"
|
||||
OR NOT CMAKE_FIND_FRAMEWORK)
|
||||
set(CMAKE_FIND_FRAMEWORK_save ${CMAKE_FIND_FRAMEWORK} CACHE STRING "" FORCE)
|
||||
set(CMAKE_FIND_FRAMEWORK "ONLY" CACHE STRING "" FORCE)
|
||||
#find_path(SQLITE3_INCLUDE_DIR SQLite3/sqlite3.h)
|
||||
find_library(SQLITE3_LIBRARY SQLite3)
|
||||
if(SQLITE3_LIBRARY)
|
||||
# find_path doesn't add "Headers" for a framework
|
||||
set(SQLITE3_INCLUDE_DIR ${SQLITE3_LIBRARY}/Headers
|
||||
CACHE PATH "Path to a file.")
|
||||
endif()
|
||||
set(CMAKE_FIND_FRAMEWORK ${CMAKE_FIND_FRAMEWORK_save} CACHE STRING "" FORCE)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
find_path(SQLITE3_INCLUDE_DIR sqlite3.h
|
||||
"$ENV{LIB_DIR}/include"
|
||||
"$ENV{LIB_DIR}/include/sqlite"
|
||||
"$ENV{INCLUDE}"
|
||||
)
|
||||
|
||||
find_library(SQLITE3_LIBRARY NAMES sqlite3_i sqlite3 PATHS
|
||||
"$ENV{LIB_DIR}/lib"
|
||||
"$ENV{LIB}/lib"
|
||||
)
|
||||
|
||||
if(SQLITE3_INCLUDE_DIR AND SQLITE3_LIBRARY)
|
||||
set(SQLITE3_FOUND TRUE)
|
||||
endif()
|
||||
|
||||
# Extract version information from the header file
|
||||
if(SQLITE3_INCLUDE_DIR)
|
||||
file(STRINGS ${SQLITE3_INCLUDE_DIR}/sqlite3.h _ver_line
|
||||
REGEX "^#define SQLITE_VERSION *\"[0-9]+\\.[0-9]+\\.[0-9]+\""
|
||||
LIMIT_COUNT 1)
|
||||
string(REGEX MATCH "[0-9]+\\.[0-9]+\\.[0-9]+"
|
||||
SQLITE3_VERSION "${_ver_line}")
|
||||
unset(_ver_line)
|
||||
endif()
|
||||
|
||||
|
||||
if(SQLITE3_FOUND)
|
||||
if(NOT SQLITE3_FIND_QUIETLY)
|
||||
message(STATUS "Found Sqlite3: ${SQLITE3_LIBRARY}")
|
||||
message(STATUS "Sqlite3 version: ${SQLITE3_VERSION}")
|
||||
endif()
|
||||
|
||||
else()
|
||||
|
||||
if(SQLITE3_FIND_REQUIRED)
|
||||
message(FATAL_ERROR "Could not find Sqlite3")
|
||||
endif()
|
||||
|
||||
endif()
|
||||
+15
-50
@@ -10,6 +10,16 @@
|
||||
include(CheckLibraryExists)
|
||||
include(CheckFunctionExists)
|
||||
|
||||
# if C flags have -Werror, temporarily remove these while running some checks
|
||||
string(FIND "${CMAKE_C_FLAGS}" "-Werror" FIND_WERROR)
|
||||
if(FIND_WERROR GREATER_EQUAL 0)
|
||||
# we must be careful about not matching -Werror=something, so let's append
|
||||
# a space at the end of CMAKE_C_FLAGS and match -Werror with a trailing space
|
||||
string(REPLACE "-Werror " " " _tmp_CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ")
|
||||
set(_prev_CMAKE_C_FLAGS "${CMAKE_C_FLAGS}")
|
||||
set(CMAKE_C_FLAGS "${_tmp_CMAKE_C_FLAGS}")
|
||||
endif()
|
||||
|
||||
# check needed include file
|
||||
check_function_exists(localeconv HAVE_LOCALECONV)
|
||||
check_function_exists(strerror HAVE_STRERROR)
|
||||
@@ -18,6 +28,11 @@ if(NOT WIN32)
|
||||
check_library_exists(m exp "" HAVE_LIBM)
|
||||
endif()
|
||||
|
||||
# restore CMAKE_C_FLAGS as before
|
||||
if(FIND_WERROR GREATER_EQUAL 0)
|
||||
set(CMAKE_C_FLAGS "${_prev_CMAKE_C_FLAGS}")
|
||||
endif()
|
||||
|
||||
set(PACKAGE "proj")
|
||||
set(PACKAGE_BUGREPORT "https://github.com/OSGeo/PROJ/issues")
|
||||
set(PACKAGE_NAME "PROJ")
|
||||
@@ -36,54 +51,4 @@ if(EXISTS ${AUTOCONF_PROJ_CONFIG_H})
|
||||
"before CMake's build.")
|
||||
endif()
|
||||
|
||||
# Get the git hash to write it in the release message.
|
||||
set(PROJ_GIT_HASH "")
|
||||
if(DEFINED ENV{PROJ_GITHUB_SHA})
|
||||
string(SUBSTRING "$ENV{PROJ_GITHUB_SHA}" 0 7 PROJ_GIT_HASH)
|
||||
else()
|
||||
find_package(Git QUIET)
|
||||
if(Git_FOUND AND EXISTS "${PROJ_SOURCE_DIR}/.git")
|
||||
# Get the short hash
|
||||
execute_process(
|
||||
COMMAND ${GIT_EXECUTABLE} rev-parse --short HEAD
|
||||
WORKING_DIRECTORY "${PROJ_SOURCE_DIR}"
|
||||
RESULT_VARIABLE GIT_REV_RESULT
|
||||
OUTPUT_VARIABLE PROJ_GIT_HASH
|
||||
OUTPUT_STRIP_TRAILING_WHITESPACE
|
||||
ERROR_QUIET
|
||||
)
|
||||
|
||||
if(GIT_REV_RESULT EQUAL 0)
|
||||
# Check if the working directory is dirty
|
||||
execute_process(
|
||||
COMMAND ${GIT_EXECUTABLE} status --porcelain --untracked-files=no
|
||||
WORKING_DIRECTORY "${PROJ_SOURCE_DIR}"
|
||||
RESULT_VARIABLE GIT_STATUS_RESULT
|
||||
OUTPUT_VARIABLE GIT_STATUS_OUTPUT
|
||||
OUTPUT_STRIP_TRAILING_WHITESPACE
|
||||
ERROR_QUIET
|
||||
)
|
||||
|
||||
# If the command succeeds and outputs anything, the tree is dirty
|
||||
if(GIT_STATUS_RESULT EQUAL 0 AND NOT GIT_STATUS_OUTPUT STREQUAL "")
|
||||
string(APPEND PROJ_GIT_HASH "*")
|
||||
endif()
|
||||
else()
|
||||
set(PROJ_GIT_HASH "")
|
||||
endif()
|
||||
endif()
|
||||
endif()
|
||||
if(PROJ_GIT_HASH)
|
||||
add_compile_definitions(PROJ_GIT_HASH=\"${PROJ_GIT_HASH}\")
|
||||
endif()
|
||||
message(VERBOSE "PROJ_GIT_HASH=\"${PROJ_GIT_HASH}\"")
|
||||
|
||||
# Tell CMake to re-configure if the Git HEAD or index changes
|
||||
if(Git_FOUND AND EXISTS "${PROJ_SOURCE_DIR}/.git")
|
||||
set_property(DIRECTORY APPEND PROPERTY CMAKE_CONFIGURE_DEPENDS
|
||||
"${PROJ_SOURCE_DIR}/.git/HEAD" # for the hash
|
||||
"${PROJ_SOURCE_DIR}/.git/index" # for the *
|
||||
)
|
||||
endif()
|
||||
|
||||
configure_file(cmake/proj_config.cmake.in src/proj_config.h)
|
||||
|
||||
@@ -0,0 +1,28 @@
|
||||
#
|
||||
# CMake script to modify README.md to create simpler README file
|
||||
#
|
||||
# This is equivalent to: fgrep -v "[!["
|
||||
#
|
||||
|
||||
set(SourceFile "${PROJ_SOURCE_DIR}/README.md")
|
||||
set(DestFile "${PROJ_SOURCE_DIR}/README")
|
||||
|
||||
# Below is based on https://stackoverflow.com/a/30227627
|
||||
|
||||
file(READ ${SourceFile} Contents)
|
||||
|
||||
# Set the variable "Esc" to the ASCII value 27 as a special escape value
|
||||
string(ASCII 27 Esc)
|
||||
|
||||
# Turn the contents into a list of strings, each ending with Esc
|
||||
string(REGEX REPLACE "\n" "${Esc};" ContentsAsList "${Contents}")
|
||||
|
||||
unset(ModifiedContents)
|
||||
foreach(Line ${ContentsAsList})
|
||||
if(NOT "${Line}" MATCHES "\\[!\\[")
|
||||
# Swap the appended Esc character back out in favour of a line feed
|
||||
string(REGEX REPLACE "${Esc}" "\n" Line ${Line})
|
||||
set(ModifiedContents "${ModifiedContents}${Line}")
|
||||
endif()
|
||||
endforeach()
|
||||
file(WRITE ${DestFile} ${ModifiedContents})
|
||||
+15
-28
@@ -1,41 +1,28 @@
|
||||
#
|
||||
# Add command-line interface tests
|
||||
# add test with sh script
|
||||
#
|
||||
|
||||
function(proj_test_set_properties TESTNAME)
|
||||
set(_env "PROJ_SKIP_READ_USER_WRITABLE_DIRECTORY=YES"
|
||||
"PROJ_DATA=${PROJ_BINARY_DIR}/data/for_tests")
|
||||
if(TIFF_ENABLED)
|
||||
set(_env ${_env} "TIFF_ENABLED=YES")
|
||||
else()
|
||||
set(_env ${_env} "TIFF_ENABLED=NO")
|
||||
endif()
|
||||
set_property(TEST ${TESTNAME}
|
||||
PROPERTY ENVIRONMENT ${_env})
|
||||
PROPERTY ENVIRONMENT
|
||||
"PROJ_SKIP_READ_USER_WRITABLE_DIRECTORY=YES"
|
||||
"PROJ_DATA=${PROJ_BINARY_DIR}/data/for_tests")
|
||||
endfunction()
|
||||
|
||||
function(proj_add_test_script_sh SH_NAME EXE_PATH)
|
||||
set(testname ${SH_NAME})
|
||||
function(proj_add_test_script_sh SH_NAME BIN_USE)
|
||||
if(UNIX)
|
||||
get_filename_component(testname ${SH_NAME} NAME_WE)
|
||||
|
||||
add_test(NAME ${testname}
|
||||
WORKING_DIRECTORY ${PROJ_BINARY_DIR}/test/cli
|
||||
COMMAND bash ${PROJ_SOURCE_DIR}/test/cli/${SH_NAME} "${${EXE_PATH}}"
|
||||
)
|
||||
proj_test_set_properties(${testname})
|
||||
add_test(NAME "${testname}"
|
||||
WORKING_DIRECTORY ${PROJ_BINARY_DIR}/test/cli
|
||||
COMMAND bash ${PROJ_SOURCE_DIR}/test/cli/${SH_NAME}
|
||||
${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${${BIN_USE}}
|
||||
)
|
||||
proj_test_set_properties(${testname})
|
||||
|
||||
endif()
|
||||
endfunction()
|
||||
|
||||
function(proj_run_cli_test TESTFILE EXE_PATH)
|
||||
set(testname ${TESTFILE})
|
||||
|
||||
add_test(NAME ${testname}
|
||||
WORKING_DIRECTORY ${PROJ_BINARY_DIR}/test/cli
|
||||
COMMAND ${Python_EXECUTABLE}
|
||||
${PROJ_SOURCE_DIR}/test/cli/run_cli_test.py
|
||||
--exe "${${EXE_PATH}}"
|
||||
${PROJ_SOURCE_DIR}/test/cli/${TESTFILE}
|
||||
)
|
||||
proj_test_set_properties(${testname})
|
||||
endfunction()
|
||||
|
||||
function(proj_add_gie_test TESTNAME TESTCASE)
|
||||
|
||||
|
||||
@@ -34,6 +34,34 @@ function(print_variable NAME)
|
||||
message(STATUS "${NAME}${varpadding} = ${${NAME}}")
|
||||
endfunction()
|
||||
|
||||
#
|
||||
# Generates output name for given target depending on platform and version.
|
||||
# For instance, on Windows, dynamic link libraries get ABI version suffix
|
||||
# proj_X_Y.dll.
|
||||
#
|
||||
|
||||
function(proj_target_output_name TARGET_NAME OUTPUT_NAME)
|
||||
if(NOT DEFINED TARGET_NAME)
|
||||
message(SEND_ERROR "Error, the variable TARGET_NAME is not defined!")
|
||||
endif()
|
||||
|
||||
if(NOT DEFINED ${PROJECT_NAME}_VERSION)
|
||||
message(SEND_ERROR
|
||||
"Error, the variable ${${PROJECT_NAME}_VERSION} is not defined!")
|
||||
endif()
|
||||
|
||||
# On Windows, ABI version is specified using binary file name suffix.
|
||||
# On Unix, suffix is empty and SOVERSION is used instead.
|
||||
if(WIN32)
|
||||
string(LENGTH "${${PROJECT_NAME}_ABI_VERSION}" abilen)
|
||||
if(abilen GREATER 0)
|
||||
set(SUFFIX "_${${PROJECT_NAME}_ABI_VERSION}")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
set(${OUTPUT_NAME} ${TARGET_NAME}${SUFFIX} PARENT_SCOPE)
|
||||
endfunction()
|
||||
|
||||
#
|
||||
# Configure a pkg-config file proj.pc
|
||||
# See also ProjInstallPath.cmake
|
||||
@@ -88,10 +116,9 @@ function(configure_proj_pc)
|
||||
if(HAVE_LIBDL)
|
||||
list(APPEND EXTRA_LIBS -ldl)
|
||||
endif()
|
||||
|
||||
# Join lists with a space
|
||||
list(JOIN EXTRA_LIBS " " EXTRA_LIBS)
|
||||
list(JOIN EXTRA_REQUIRES " " EXTRA_REQUIRES)
|
||||
# Join list with a space; list(JOIN) added CMake 3.12
|
||||
string(REPLACE ";" " " EXTRA_LIBS "${EXTRA_LIBS}")
|
||||
string(REPLACE ";" " " EXTRA_REQUIRES "${EXTRA_REQUIRES}")
|
||||
|
||||
configure_file(
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/proj.pc.in
|
||||
|
||||
@@ -37,5 +37,16 @@ macro(proj_version)
|
||||
${${PROJECT_NAME}_VERSION_MINOR}.\
|
||||
${${PROJECT_NAME}_VERSION_PATCH}")
|
||||
|
||||
# Set ABI version string used to name binary output
|
||||
# On Windows, ABI version is specified using binary file name suffix.
|
||||
if(WIN32)
|
||||
set(${PROJECT_NAME}_ABI_VERSION
|
||||
"${${PROJECT_NAME}_VERSION_MAJOR}_\
|
||||
${${PROJECT_NAME}_VERSION_MINOR}")
|
||||
endif()
|
||||
|
||||
print_variable(${PROJECT_NAME}_VERSION)
|
||||
if(WIN32)
|
||||
print_variable(${PROJECT_NAME}_ABI_VERSION)
|
||||
endif()
|
||||
endmacro()
|
||||
|
||||
@@ -27,8 +27,6 @@ if("@CURL_ENABLED@")
|
||||
endif()
|
||||
cmake_policy(POP)
|
||||
|
||||
find_dependency(SQLite3)
|
||||
|
||||
if(DEFINED PROJ_CONFIG_FIND_TIFF_DEP)
|
||||
find_dependency(TIFF)
|
||||
endif()
|
||||
@@ -36,6 +34,14 @@ endif()
|
||||
if(DEFINED PROJ_CONFIG_FIND_CURL_DEP)
|
||||
# Chainload CURL usage requirements
|
||||
find_dependency(CURL)
|
||||
# Target CURL::libcurl only defined since CMake 3.12
|
||||
if(NOT TARGET CURL::libcurl)
|
||||
add_library(CURL::libcurl INTERFACE IMPORTED)
|
||||
set_target_properties(CURL::libcurl PROPERTIES
|
||||
INTERFACE_INCLUDE_DIRECTORIES "${CURL_INCLUDE_DIRS}"
|
||||
INTERFACE_LINK_LIBRARIES "${CURL_LIBRARIES}"
|
||||
)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
function(set_variable_from_rel_or_absolute_path var root rel_or_abs_path)
|
||||
|
||||
+21
-22
@@ -11,10 +11,23 @@ if(NOT IS_DIRECTORY ${PROJ_DB_CACHE_DIR})
|
||||
endif()
|
||||
endif()
|
||||
|
||||
set(PROJ_INI
|
||||
set(CONFIG_FILES
|
||||
proj.ini
|
||||
)
|
||||
|
||||
set(PROJ_DICTIONARY
|
||||
world
|
||||
other.extra
|
||||
nad27
|
||||
GL27
|
||||
nad83
|
||||
nad.lst
|
||||
CH
|
||||
ITRF2000
|
||||
ITRF2008
|
||||
ITRF2014
|
||||
)
|
||||
|
||||
#
|
||||
# gridshift file
|
||||
#
|
||||
@@ -25,21 +38,14 @@ set(GRIDSHIFT_FILES ${GSB_FILES} ${GTX_FILES})
|
||||
|
||||
file(GLOB SCHEMA_FILES *.json)
|
||||
|
||||
file(GLOB GEOTIFF_FILES *.tif)
|
||||
|
||||
set(ALL_SQL_IN "${CMAKE_CURRENT_BINARY_DIR}/all.sql.in")
|
||||
set(PROJ_DB "${CMAKE_CURRENT_BINARY_DIR}/proj.db")
|
||||
include(sql_filelist.cmake)
|
||||
|
||||
set_property(DIRECTORY APPEND PROPERTY CMAKE_CONFIGURE_DEPENDS
|
||||
"${CMAKE_CURRENT_LIST_DIR}/sql/proj.db.sql.expected.md5"
|
||||
)
|
||||
file(STRINGS "${CMAKE_CURRENT_LIST_DIR}/sql/proj.db.sql.expected.md5" PROJ_DB_SQL_EXPECTED_MD5 LIMIT_COUNT 1)
|
||||
|
||||
add_custom_command(
|
||||
OUTPUT ${PROJ_DB}
|
||||
COMMAND ${CMAKE_COMMAND} -E remove -f ${PROJ_DB}
|
||||
COMMAND ${CMAKE_COMMAND} "-DALL_SQL_IN=${ALL_SQL_IN}" "-DEXE_SQLITE3=${EXE_SQLITE3}" "-DPROJ_DB=${PROJ_DB}" "-DPROJ_VERSION=${PROJ_VERSION}" "-DPROJ_DB_CACHE_DIR=${PROJ_DB_CACHE_DIR}" "-DPROJ_DB_SQL_EXPECTED_MD5=${PROJ_DB_SQL_EXPECTED_MD5}" "-DDATA_BINARY_DIR=${CMAKE_CURRENT_BINARY_DIR}"
|
||||
COMMAND ${CMAKE_COMMAND} "-DALL_SQL_IN=${ALL_SQL_IN}" "-DEXE_SQLITE3=${EXE_SQLITE3}" "-DPROJ_DB=${PROJ_DB}" "-DPROJ_VERSION=${PROJ_VERSION}" "-DPROJ_DB_CACHE_DIR=${PROJ_DB_CACHE_DIR}"
|
||||
-P "${CMAKE_CURRENT_SOURCE_DIR}/generate_proj_db.cmake"
|
||||
COMMAND ${CMAKE_COMMAND} -E copy ${PROJ_DB} ${CMAKE_CURRENT_BINARY_DIR}/for_tests
|
||||
DEPENDS ${SQL_FILES} "${CMAKE_CURRENT_SOURCE_DIR}/generate_proj_db.cmake"
|
||||
@@ -51,7 +57,7 @@ add_custom_command(
|
||||
add_custom_target(generate_proj_db ALL DEPENDS ${PROJ_DB})
|
||||
|
||||
if(NOT "${CMAKE_CURRENT_SOURCE_DIR}" STREQUAL "${CMAKE_CURRENT_BINARY_DIR}")
|
||||
foreach(FILE ${PROJ_INI} ${PROJ_DICTIONARY} ${GRIDSHIFT_FILES})
|
||||
foreach(FILE ${CONFIG_FILES} ${PROJ_DICTIONARY} ${GRIDSHIFT_FILES})
|
||||
configure_file(${FILE} ${FILE} COPYONLY)
|
||||
endforeach()
|
||||
endif()
|
||||
@@ -69,7 +75,7 @@ set(DATA_FOR_TESTS
|
||||
execute_process(COMMAND ${CMAKE_COMMAND} -E make_directory ${CMAKE_CURRENT_BINARY_DIR}/for_tests)
|
||||
execute_process(COMMAND ${CMAKE_COMMAND} -E make_directory ${CMAKE_CURRENT_BINARY_DIR}/for_tests/tests)
|
||||
|
||||
foreach(FILE ${DATA_FOR_TESTS} ${PROJ_INI})
|
||||
foreach(FILE ${DATA_FOR_TESTS} ${CONFIG_FILES})
|
||||
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/${FILE} ${CMAKE_CURRENT_BINARY_DIR}/for_tests/${FILE} COPYONLY)
|
||||
endforeach()
|
||||
|
||||
@@ -92,24 +98,17 @@ endforeach()
|
||||
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/tests/egm96_15_downsampled.gtx ${CMAKE_CURRENT_BINARY_DIR}/for_tests/egm96_15.gtx COPYONLY)
|
||||
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/tests/ntv2_0_downsampled.gsb ${CMAKE_CURRENT_BINARY_DIR}/for_tests/ntv2_0.gsb COPYONLY)
|
||||
|
||||
# test_cs2cs_datumfile has a special case
|
||||
execute_process(COMMAND ${CMAKE_COMMAND} -E make_directory "${CMAKE_CURRENT_BINARY_DIR}/for_tests/dir with space")
|
||||
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/tests/conus "${CMAKE_CURRENT_BINARY_DIR}/for_tests/dir with space/myconus" COPYONLY)
|
||||
|
||||
#
|
||||
#install
|
||||
#
|
||||
set(ALL_DATA_FILE
|
||||
${CONFIG_FILES}
|
||||
${PROJ_DICTIONARY}
|
||||
${GRIDSHIFT_FILES}
|
||||
${PROJ_DB}
|
||||
${SCHEMA_FILES}
|
||||
${GEOTIFF_FILES}
|
||||
)
|
||||
|
||||
if (NOT USE_ONLY_EMBEDDED_RESOURCE_FILES)
|
||||
list(APPEND ALL_DATA_FILE ${PROJ_INI} ${PROJ_DB} ${PROJ_DICTIONARY})
|
||||
endif()
|
||||
|
||||
install(
|
||||
FILES ${ALL_DATA_FILE}
|
||||
DESTINATION ${CMAKE_INSTALL_DATADIR}/proj
|
||||
DESTINATION ${PROJ_DATA_PATH}
|
||||
)
|
||||
|
||||
+2
-2
@@ -42,7 +42,7 @@
|
||||
|
||||
<CARB> +proj=helmert +drx=0.000049 +dry=-0.001088 +drz=0.000664 +convention=position_vector
|
||||
|
||||
<EURA> +proj=helmert +drx=-0.000083 +dry=-0.000534 +drz=0.000750 +convention=position_vector
|
||||
<EURA> +proj=helmert +drx=-0.000083 +dry=0.000534 +drz=0.000750 +convention=position_vector
|
||||
|
||||
<INDI> +proj=helmert +drx=0.001232 +dry=0.000303 +drz=0.001540 +convention=position_vector
|
||||
|
||||
@@ -75,7 +75,7 @@
|
||||
|
||||
<CARB_T> +proj=helmert +dx=0.00041 +dy=0.00022 +dz=0.00041 +drx=0.000049 +dry=-0.001088 +drz=0.000664 +convention=position_vector
|
||||
|
||||
<EURA_T> +proj=helmert +dx=0.00041 +dy=0.00022 +dz=0.00041 +drx=-0.000083 +dry=-0.000534 +drz=0.000750 +convention=position_vector
|
||||
<EURA_T> +proj=helmert +dx=0.00041 +dy=0.00022 +dz=0.00041 +drx=-0.000083 +dry=0.000534 +drz=0.000750 +convention=position_vector
|
||||
|
||||
<INDI_T> +proj=helmert +dx=0.00041 +dy=0.00022 +dz=0.00041 +drx=0.001232 +dry=0.000303 +drz=0.001540 +convention=position_vector
|
||||
|
||||
|
||||
+1
-1
@@ -7,7 +7,7 @@
|
||||
|
||||
<ITRF2000> +proj=helmert +x=0.0007 +y=0.0012 +z=-0.0261 +s=0.00212 +dx=0.0001 +dy=0.0001 +dz=-0.0019 +ds=0.00011 +t_epoch=2010.0 +convention=position_vector
|
||||
|
||||
<ITRF97> +proj=helmert +x=0.0074 +y=-0.0005 +z=-0.0628 +s=0.0038 +rz=0.00026 +dx=0.0001 +dy=-0.0005 +dz=-0.0033 +ds=0.00012 +drz=0.00002 +t_epoch=2010.0 +convention=position_vector
|
||||
<ITRF97> +proj=helmert +x=0.0074 +y=-0.0005 +z=-0.0628 +d=0.0038 +rz=0.00026 +dx0.0001 +dy=-0.0005 +dz=-0.0033 +ds=0.00012 +drz=0.00002 +t_epoch=2010.0 +convention=position_vector
|
||||
|
||||
<ITRF96> +proj=helmert +x=0.0074 +y=-0.0005 +z=-0.0628 +s=0.0038 +rz=0.00026 +dx=0.0001 +dy=-0.0005 +dz=-0.0033 +ds=0.00012 +drz=0.00002 +t_epoch=2010.0 +convention=position_vector
|
||||
|
||||
|
||||
@@ -1,91 +0,0 @@
|
||||
# ITRF2020 params are in mm/year, PJ_helmert uses m/year
|
||||
|
||||
# Generated with generate_itrf2020.py from EPSG database
|
||||
|
||||
<ITRF2014> +proj=helmert +x=-0.0014 +y=-0.0009 +z=0.0014 +s=-0.00042 +dy=-0.0001 +dz=0.0002 +t_epoch=2015 +convention=position_vector
|
||||
|
||||
<ITRF2008> +proj=helmert +x=0.0002 +y=0.001 +z=0.0033 +s=-0.00029 +dy=-0.0001 +dz=0.0001 +ds=3e-05 +t_epoch=2015 +convention=position_vector
|
||||
|
||||
<ITRF2005> +proj=helmert +x=0.0027 +y=0.0001 +z=-0.0014 +s=0.00065 +dx=0.0003 +dy=-0.0001 +dz=0.0001 +ds=3e-05 +t_epoch=2015 +convention=position_vector
|
||||
|
||||
<ITRF2000> +proj=helmert +x=-0.0002 +y=0.0008 +z=-0.0342 +s=0.00225 +dx=0.0001 +dz=-0.0017 +ds=0.00011 +t_epoch=2015 +convention=position_vector
|
||||
|
||||
<ITRF97> +proj=helmert +x=0.0065 +y=-0.0039 +z=-0.0779 +rz=0.00036 +s=0.00398 +dx=0.0001 +dy=-0.0006 +dz=-0.0031 +drz=2e-05 +ds=0.00012 +t_epoch=2015 +convention=position_vector
|
||||
|
||||
<ITRF96> +proj=helmert +x=0.0065 +y=-0.0039 +z=-0.0779 +rz=0.00036 +s=0.00398 +dx=0.0001 +dy=-0.0006 +dz=-0.0031 +drz=2e-05 +ds=0.00012 +t_epoch=2015 +convention=position_vector
|
||||
|
||||
<ITRF94> +proj=helmert +x=0.0065 +y=-0.0039 +z=-0.0779 +rz=0.00036 +s=0.00398 +dx=0.0001 +dy=-0.0006 +dz=-0.0031 +drz=2e-05 +ds=0.00012 +t_epoch=2015 +convention=position_vector
|
||||
|
||||
<ITRF93> +proj=helmert +x=-0.0658 +y=0.0019 +z=-0.0713 +rx=-0.00336 +ry=-0.00433 +rz=0.00075 +s=0.00447 +dx=-0.0028 +dy=-0.0002 +dz=-0.0023 +drx=-0.00011 +dry=-0.00019 +drz=7e-05 +ds=0.00012 +t_epoch=2015 +convention=position_vector
|
||||
|
||||
<ITRF92> +proj=helmert +x=0.0145 +y=-0.0019 +z=-0.0859 +rz=0.00036 +s=0.00327 +dx=0.0001 +dy=-0.0006 +dz=-0.0031 +drz=2e-05 +ds=0.00012 +t_epoch=2015 +convention=position_vector
|
||||
|
||||
<ITRF91> +proj=helmert +x=0.0265 +y=0.0121 +z=-0.0919 +rz=0.00036 +s=0.00467 +dx=0.0001 +dy=-0.0006 +dz=-0.0031 +drz=2e-05 +ds=0.00012 +t_epoch=2015 +convention=position_vector
|
||||
|
||||
<ITRF90> +proj=helmert +x=0.0245 +y=0.0081 +z=-0.1079 +rz=0.00036 +s=0.00497 +dx=0.0001 +dy=-0.0006 +dz=-0.0031 +drz=2e-05 +ds=0.00012 +t_epoch=2015 +convention=position_vector
|
||||
|
||||
<ITRF89> +proj=helmert +x=0.0295 +y=0.0321 +z=-0.1459 +rz=0.00036 +s=0.00837 +dx=0.0001 +dy=-0.0006 +dz=-0.0031 +drz=2e-05 +ds=0.00012 +t_epoch=2015 +convention=position_vector
|
||||
|
||||
<ITRF88> +proj=helmert +x=0.0245 +y=-0.0039 +z=-0.1699 +rx=0.0001 +rz=0.00036 +s=0.01147 +dx=0.0001 +dy=-0.0006 +dz=-0.0031 +drz=2e-05 +ds=0.00012 +t_epoch=2015 +convention=position_vector
|
||||
|
||||
# ITRF2020 Plate Motion Model parameters
|
||||
#
|
||||
# As described in https://agupubs.onlinelibrary.wiley.com/doi/full/10.1029/2023GL106373
|
||||
# (and also in https://itrf.ign.fr/docs/solutions/itrf2020/ITRF2020-PMM.dat, but with
|
||||
# different units)
|
||||
|
||||
<AMUR> +proj=helmert +drx=-0.000131 +dry=-0.000551 +drz=0.000837 +convention=position_vector
|
||||
|
||||
<ANTA> +proj=helmert +drx=-0.000269 +dry=-0.000312 +drz=0.000678 +convention=position_vector
|
||||
|
||||
<ARAB> +proj=helmert +drx=0.001129 +dry=-0.000146 +drz=0.001438 +convention=position_vector
|
||||
|
||||
<AUST> +proj=helmert +drx=0.001487 +dry=0.001175 +drz=0.001223 +convention=position_vector
|
||||
|
||||
<CARB> +proj=helmert +drx=0.000207 +dry=-0.001422 +drz=0.000726 +convention=position_vector
|
||||
|
||||
<EURA> +proj=helmert +drx=-0.000085 +dry=-0.000519 +drz=0.000753 +convention=position_vector
|
||||
|
||||
<INDI> +proj=helmert +drx=0.001137 +dry=0.000013 +drz=0.001444 +convention=position_vector
|
||||
|
||||
<NAZC> +proj=helmert +drx=-0.000327 +dry=-0.001561 +drz=0.001605 +convention=position_vector
|
||||
|
||||
<NOAM> +proj=helmert +drx=0.000045 +dry=-0.000666 +drz=-0.000098 +convention=position_vector
|
||||
|
||||
<NUBI> +proj=helmert +drx=0.000090 +dry=-0.000585 +drz=0.000717 +convention=position_vector
|
||||
|
||||
<PCFC> +proj=helmert +drx=-0.000404 +dry=0.001021 +drz=-0.002154 +convention=position_vector
|
||||
|
||||
<SOAM> +proj=helmert +drx=-0.000261 +dry=-0.000282 +drz=-0.000157 +convention=position_vector
|
||||
|
||||
<SOMA> +proj=helmert +drx=-0.000081 +dry=-0.000719 +drz=0.000864 +convention=position_vector
|
||||
|
||||
# Plate names suffixed by _T (for Translation) that includes the translation
|
||||
# rates +dx=0.00037 +dy=0.00035 +dz=0.00074 given by Table 2 of the ITRF2020 plate motion model
|
||||
# paper
|
||||
|
||||
<AMUR_T> +proj=helmert +dx=0.00037 +dy=0.00035 +dz=0.00074 +drx=-0.000131 +dry=-0.000551 +drz=0.000837 +convention=position_vector
|
||||
|
||||
<ANTA_T> +proj=helmert +dx=0.00037 +dy=0.00035 +dz=0.00074 +drx=-0.000269 +dry=-0.000312 +drz=0.000678 +convention=position_vector
|
||||
|
||||
<ARAB_T> +proj=helmert +dx=0.00037 +dy=0.00035 +dz=0.00074 +drx=0.001129 +dry=-0.000146 +drz=0.001438 +convention=position_vector
|
||||
|
||||
<AUST_T> +proj=helmert +dx=0.00037 +dy=0.00035 +dz=0.00074 +drx=0.001487 +dry=0.001175 +drz=0.001223 +convention=position_vector
|
||||
|
||||
<CARB_T> +proj=helmert +dx=0.00037 +dy=0.00035 +dz=0.00074 +drx=0.000207 +dry=-0.001422 +drz=0.000726 +convention=position_vector
|
||||
|
||||
<EURA_T> +proj=helmert +dx=0.00037 +dy=0.00035 +dz=0.00074 +drx=-0.000085 +dry=-0.000519 +drz=0.000753 +convention=position_vector
|
||||
|
||||
<INDI_T> +proj=helmert +dx=0.00037 +dy=0.00035 +dz=0.00074 +drx=0.001137 +dry=0.000013 +drz=0.001444 +convention=position_vector
|
||||
|
||||
<NAZC_T> +proj=helmert +dx=0.00037 +dy=0.00035 +dz=0.00074 +drx=-0.000327 +dry=-0.001561 +drz=0.001605 +convention=position_vector
|
||||
|
||||
<NOAM_T> +proj=helmert +dx=0.00037 +dy=0.00035 +dz=0.00074 +drx=0.000045 +dry=-0.000666 +drz=-0.000098 +convention=position_vector
|
||||
|
||||
<NUBI_T> +proj=helmert +dx=0.00037 +dy=0.00035 +dz=0.00074 +drx=0.000090 +dry=-0.000585 +drz=0.000717 +convention=position_vector
|
||||
|
||||
<PCFC_T> +proj=helmert +dx=0.00037 +dy=0.00035 +dz=0.00074 +drx=-0.000404 +dry=0.001021 +drz=-0.002154 +convention=position_vector
|
||||
|
||||
<SOAM_T> +proj=helmert +dx=0.00037 +dy=0.00035 +dz=0.00074 +drx=-0.000261 +dry=-0.000282 +drz=-0.000157 +convention=position_vector
|
||||
|
||||
<SOMA_T> +proj=helmert +dx=0.00037 +dy=0.00035 +dz=0.00074 +drx=-0.000081 +dry=-0.000719 +drz=0.000864 +convention=position_vector
|
||||
+19
-57
@@ -3,51 +3,16 @@ function(cat IN_FILE OUT_FILE)
|
||||
file(APPEND ${OUT_FILE} "${CONTENTS}")
|
||||
endfunction()
|
||||
|
||||
# Generates a all.sql.in file from all the individual .sql files, taking
|
||||
# into account if extra validation checks must be done before inserting data
|
||||
# records
|
||||
function(generate_all_sql_in ALL_SQL_IN_FILENAME EXTRA_VALIDATION OUT_MD5)
|
||||
set(PROJ_DB_EXTRA_VALIDATION ${EXTRA_VALIDATION})
|
||||
file(WRITE "${ALL_SQL_IN_FILENAME}" "")
|
||||
include(sql_filelist.cmake)
|
||||
foreach(SQL_FILE ${SQL_FILES})
|
||||
cat(${SQL_FILE} "${ALL_SQL_IN_FILENAME}")
|
||||
endforeach()
|
||||
file(WRITE "${ALL_SQL_IN}" "")
|
||||
include(sql_filelist.cmake)
|
||||
foreach(SQL_FILE ${SQL_FILES})
|
||||
cat(${SQL_FILE} "${ALL_SQL_IN}")
|
||||
endforeach()
|
||||
|
||||
# Compute the MD5 before any records in the metadata table, to avoid
|
||||
# refreshing the MD5 if we bump PROJ_VERSION or PROJ_DATA.VERSION
|
||||
file(READ ${ALL_SQL_IN_FILENAME} CONTENTS)
|
||||
string(REGEX REPLACE "INSERT INTO \\\"metadata\\\"[^\n]*\n?" "" CONTENTS_WITHOUT_METADATA "${CONTENTS}")
|
||||
string(MD5 OUT_MD5_LOCAL "${CONTENTS_WITHOUT_METADATA}")
|
||||
set(${OUT_MD5} "${OUT_MD5_LOCAL}" PARENT_SCOPE)
|
||||
|
||||
# Do ${PROJ_VERSION} substitution
|
||||
string(REPLACE "\${PROJ_VERSION}" "${PROJ_VERSION}" CONTENTS_MOD "${CONTENTS}")
|
||||
file(WRITE "${ALL_SQL_IN_FILENAME}" "${CONTENTS_MOD}")
|
||||
endfunction()
|
||||
|
||||
generate_all_sql_in("${ALL_SQL_IN}" OFF PROJ_DB_SQL_MD5)
|
||||
|
||||
file(WRITE "${DATA_BINARY_DIR}/PROJ_DB_SQL_MD5.h" "const char* PROJ_DB_SQL_MD5=\"${PROJ_DB_SQL_MD5}\";\n")
|
||||
if (NOT "${PROJ_DB_SQL_MD5}" STREQUAL "${PROJ_DB_SQL_EXPECTED_MD5}")
|
||||
message(WARNING "all.sql.in content has changed. Running extra validation checks when building proj.db...")
|
||||
|
||||
set(ALL_SQL_IN_EXTRA_VALIDATION "${ALL_SQL_IN}.extra_validation")
|
||||
generate_all_sql_in("${ALL_SQL_IN_EXTRA_VALIDATION}" ON PROJ_DB_SQL_EXTRA_VALIDATION_MD5)
|
||||
|
||||
set(PROJ_DB_EXTRA_VALIDATION_FILENAME "${PROJ_DB}.extra_validation")
|
||||
file(REMOVE "${PROJ_DB_EXTRA_VALIDATION_FILENAME}")
|
||||
execute_process(COMMAND "${EXE_SQLITE3}" "${PROJ_DB_EXTRA_VALIDATION_FILENAME}"
|
||||
INPUT_FILE "${ALL_SQL_IN_EXTRA_VALIDATION}"
|
||||
RESULT_VARIABLE STATUS)
|
||||
if(STATUS AND NOT STATUS EQUAL 0)
|
||||
message(FATAL_ERROR "Build of proj.db from ${ALL_SQL_IN_EXTRA_VALIDATION} failed")
|
||||
else()
|
||||
message(FATAL_ERROR "Database is valid; please update data/sql/proj.db.sql.expected.md5 with ${PROJ_DB_SQL_MD5}")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
set(generate_proj_db ON)
|
||||
# Do ${PROJ_VERSION} substitution
|
||||
file(READ ${ALL_SQL_IN} CONTENTS)
|
||||
string(REPLACE "\${PROJ_VERSION}" "${PROJ_VERSION}" CONTENTS_MOD "${CONTENTS}")
|
||||
file(WRITE "${ALL_SQL_IN}" "${CONTENTS_MOD}")
|
||||
|
||||
if(IS_DIRECTORY ${PROJ_DB_CACHE_DIR})
|
||||
set(USE_PROJ_DB_CACHE_DIR TRUE)
|
||||
@@ -61,21 +26,18 @@ if(IS_DIRECTORY ${PROJ_DB_CACHE_DIR})
|
||||
message(STATUS "Reusing cached proj.db from ${PROJ_DB_CACHE_DIR}")
|
||||
get_filename_component(PROJ_DB_DIR "${PROJ_DB}" DIRECTORY)
|
||||
file(COPY "${CACHED_PROJ_DB}" DESTINATION "${PROJ_DB_DIR}")
|
||||
file(TOUCH "${PROJ_DB}")
|
||||
set(generate_proj_db OFF)
|
||||
return()
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if (generate_proj_db)
|
||||
execute_process(COMMAND "${EXE_SQLITE3}" "${PROJ_DB}"
|
||||
INPUT_FILE "${ALL_SQL_IN}"
|
||||
RESULT_VARIABLE STATUS)
|
||||
execute_process(COMMAND "${EXE_SQLITE3}" "${PROJ_DB}"
|
||||
INPUT_FILE "${ALL_SQL_IN}"
|
||||
RESULT_VARIABLE STATUS)
|
||||
|
||||
if(STATUS AND NOT STATUS EQUAL 0)
|
||||
message(FATAL_ERROR "Build of proj.db failed")
|
||||
elseif(USE_PROJ_DB_CACHE_DIR)
|
||||
message(STATUS "Saving cache: ${CACHED_PROJ_DB}")
|
||||
file(COPY "${PROJ_DB}" DESTINATION "${PROJ_DB_CACHE_DIR}")
|
||||
file(WRITE "${PROJ_DB_SQL_MD5_FILE}" "${PROJ_DB_SQL_MD5}\n")
|
||||
endif()
|
||||
if(STATUS AND NOT STATUS EQUAL 0)
|
||||
message(FATAL_ERROR "Build of proj.db failed")
|
||||
elseif(USE_PROJ_DB_CACHE_DIR)
|
||||
message(STATUS "Saving cache: ${CACHED_PROJ_DB}")
|
||||
file(COPY "${PROJ_DB}" DESTINATION "${PROJ_DB_CACHE_DIR}")
|
||||
file(WRITE "${PROJ_DB_SQL_MD5_FILE}" "${PROJ_DB_SQL_MD5}\n")
|
||||
endif()
|
||||
|
||||
+3
-11
@@ -23,13 +23,13 @@ cache_enabled = on
|
||||
cache_size_MB = 300
|
||||
|
||||
; Time-to-live delay in seconds before already accessed remote resources are
|
||||
; accessed again to check if they have been updated.
|
||||
; acessed again to check if they have been updated.
|
||||
cache_ttl_sec = 86400
|
||||
|
||||
; Can be set to on so that by default the lack of a known resource files needed
|
||||
; for the best transformation PROJ would normally use causes an error, or off
|
||||
; to accept missing resource files without errors or warnings.
|
||||
; This default value itself is overridden by the PROJ_ONLY_BEST_DEFAULT environment
|
||||
; This default value itself is overriden by the PROJ_ONLY_BEST_DEFAULT environment
|
||||
; variable if set, and then by the ONLY_BEST setting that can be
|
||||
; passed to the proj_create_crs_to_crs() method, or with the --only-best
|
||||
; option of the cs2cs program.
|
||||
@@ -38,18 +38,10 @@ cache_ttl_sec = 86400
|
||||
only_best_default = off
|
||||
|
||||
; Filename of the Certificate Authority (CA) bundle.
|
||||
; Can be overridden with the PROJ_CURL_CA_BUNDLE / CURL_CA_BUNDLE environment variable.
|
||||
; Can be overriden with the PROJ_CURL_CA_BUNDLE / CURL_CA_BUNDLE environment variable.
|
||||
; (added in PROJ 9.0)
|
||||
; ca_bundle_path = /path/to/cabundle.pem
|
||||
|
||||
; When this is set to on, the operating systems native CA store will be used for certificate verification
|
||||
; If you set this option to on and also set ca_bundle_path then during verification those certificates are
|
||||
; searched in addition to the native CA store.
|
||||
; (added in PROJ 9.6)
|
||||
; Valid values = on, off
|
||||
;native_ca = on
|
||||
|
||||
|
||||
; Transverse Mercator (and UTM) default algorithm: auto, evenden_snyder or poder_engsager
|
||||
; * evenden_snyder is the fastest, but less accurate far from central meridian
|
||||
; * poder_engsager is slower, but more accurate far from central meridian
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
"$id": "https://proj.org/schemas/v0.7/projjson.schema.json",
|
||||
"$schema": "http://json-schema.org/draft-07/schema#",
|
||||
"description": "Schema for PROJJSON (v0.7)",
|
||||
"$comment": "This document is copyright Even Rouault and PROJ contributors, 2019-2023, and subject to the MIT license. This file exists both in data/ and in schemas/vXXX/. Keep both in sync. And if changing the value of $id, change PROJJSON_DEFAULT_VERSION accordingly in io.cpp",
|
||||
"$comment": "This file exists both in data/ and in schemas/vXXX/. Keep both in sync. And if changing the value of $id, change PROJJSON_DEFAULT_VERSION accordingly in io.cpp",
|
||||
|
||||
"oneOf": [
|
||||
{ "$ref": "#/definitions/crs" },
|
||||
|
||||
+48
-55
@@ -1,60 +1,53 @@
|
||||
# Directory data/sql
|
||||
|
||||
- [proj.db.sql.expected.md5](proj.db.sql.expected.md5): The MD5 hash of all the sql files,
|
||||
used to determine if the database has been updated and if extra validation is necessary.
|
||||
- Simplified UML diagram of database classes:
|
||||
* [diagram.xmi](diagram.xmi): to be opened with Umbrello
|
||||
* CRS related tables: 
|
||||
* Transformation releated tables: 
|
||||
|
||||
## Simplified UML diagram of database classes
|
||||
- Hand generated files:
|
||||
* [proj_db_table_defs.sql](proj_db_table_defs.sql): Database structure: CREATE TABLE / CREATE VIEW / CREATE TRIGGER.
|
||||
* [metadata.sql](metadata.sql): key/value content of the metadata table.
|
||||
* [begin.sql](begin.sql): Technical prologue for all concatenated files.
|
||||
* [commit.sql](commit.sql): Epilogue for all concatenated files. Include consistency checks.
|
||||
* [customizations_early.sql](customizations_early.sql): Customizations to be applied before EPSG generated tables.
|
||||
* [customizations.sql](customizations.sql): Customizations to be applied after all geodetic registries.
|
||||
* [grid_alternatives.sql](grid_alternatives.sql): Link official EPSG grid names to PROJ ones.
|
||||
* [grid_transformation_custom.sql](grid_transformation_custom.sql): PROJ specific entries in grid_transformation table.
|
||||
* [other_transformation_custom.sql](other_transformation_custom.sql): PROJ specific entries in other_transformation table.
|
||||
|
||||
- [diagram.xmi](diagram.xmi): to be opened with Umbrello
|
||||
- CRS related tables: 
|
||||
- Transformation related tables: 
|
||||
- Files generated from EPSG dataset by [build_db.py](https://github.com/OSGeo/PROJ/blob/master/scripts/build_db.py):
|
||||
* [alias_name.sql](alias_name.sql)
|
||||
* [axis.sql](axis.sql)
|
||||
* [compound_crs.sql](compound_crs.sql)
|
||||
* [concatenated_operation.sql](concatenated_operation.sql)
|
||||
* [concatenated_operation_step.sql](concatenated_operation_step.sql)
|
||||
* [conversion.sql](conversion.sql)
|
||||
* [conversion_triggers.sql](conversion_triggers.sql)
|
||||
* [coordinate_system.sql](coordinate_system.sql)
|
||||
* [deprecation.sql](deprecation.sql)
|
||||
* [ellipsoid.sql](ellipsoid.sql)
|
||||
* [extent.sql](extent.sql)
|
||||
* [geodetic_crs.sql](geodetic_crs.sql)
|
||||
* [geodetic_datum_ensemble_member.sql](geodetic_datum_ensemble_member.sql)
|
||||
* [geodetic_datum.sql](geodetic_datum.sql)
|
||||
* [grid_alternatives_generated_noaa.sql](grid_alternatives_generated_noaa.sql)
|
||||
* [grid_transformation.sql](grid_transformation.sql)
|
||||
* [helmert_transformation.sql](helmert_transformation.sql)
|
||||
* [other_transformation.sql](other_transformation.sql)
|
||||
* [prime_meridian.sql](prime_meridian.sql)
|
||||
* [projected_crs.sql](projected_crs.sql)
|
||||
* [scope.sql](scope.sql)
|
||||
* [supersession.sql](supersession.sql)
|
||||
* [unit_of_measure.sql](unit_of_measure.sql)
|
||||
* [vertical_crs.sql](vertical_crs.sql)
|
||||
* [vertical_datum_ensemble_member.sql](vertical_datum_ensemble_member.sql)
|
||||
* [vertical_datum.sql](vertical_datum.sql)
|
||||
|
||||
## Hand generated files
|
||||
|
||||
- [proj_db_table_defs.sql](proj_db_table_defs.sql): Database structure: CREATE TABLE / CREATE VIEW / CREATE TRIGGER.
|
||||
- [metadata.sql](metadata.sql): key/value content of the metadata table.
|
||||
- [begin.sql](begin.sql): Technical prologue for all concatenated files.
|
||||
- [commit.sql](commit.sql): Epilogue for all concatenated files. Include consistency checks.
|
||||
- [customizations_early.sql](customizations_early.sql): Customizations to be applied before EPSG generated tables.
|
||||
- [customizations.sql](customizations.sql): Customizations to be applied after all geodetic registries.
|
||||
- [grid_alternatives.sql](grid_alternatives.sql): Link official EPSG grid names to PROJ ones.
|
||||
- [grid_transformation_custom.sql](grid_transformation_custom.sql): PROJ specific entries in grid_transformation table.
|
||||
- [other_transformation_custom.sql](other_transformation_custom.sql): PROJ specific entries in other_transformation table.
|
||||
|
||||
## Files generated from EPSG dataset by [build_db.py](https://github.com/OSGeo/PROJ/blob/master/scripts/build_db.py)
|
||||
|
||||
- [alias_name.sql](alias_name.sql)
|
||||
- [axis.sql](axis.sql)
|
||||
- [compound_crs.sql](compound_crs.sql)
|
||||
- [concatenated_operation.sql](concatenated_operation.sql)
|
||||
- [concatenated_operation_step.sql](concatenated_operation_step.sql)
|
||||
- [conversion.sql](conversion.sql)
|
||||
- [conversion_triggers.sql](conversion_triggers.sql)
|
||||
- [coordinate_system.sql](coordinate_system.sql)
|
||||
- [deprecation.sql](deprecation.sql)
|
||||
- [ellipsoid.sql](ellipsoid.sql)
|
||||
- [extent.sql](extent.sql)
|
||||
- [geodetic_crs.sql](geodetic_crs.sql)
|
||||
- [geodetic_datum_ensemble_member.sql](geodetic_datum_ensemble_member.sql)
|
||||
- [geodetic_datum.sql](geodetic_datum.sql)
|
||||
- [grid_alternatives_generated_noaa.sql](grid_alternatives_generated_noaa.sql)
|
||||
- [grid_transformation.sql](grid_transformation.sql)
|
||||
- [helmert_transformation.sql](helmert_transformation.sql)
|
||||
- [other_transformation.sql](other_transformation.sql)
|
||||
- [prime_meridian.sql](prime_meridian.sql)
|
||||
- [projected_crs.sql](projected_crs.sql)
|
||||
- [scope.sql](scope.sql)
|
||||
- [supersession.sql](supersession.sql)
|
||||
- [unit_of_measure.sql](unit_of_measure.sql)
|
||||
- [vertical_crs.sql](vertical_crs.sql)
|
||||
- [vertical_datum_ensemble_member.sql](vertical_datum_ensemble_member.sql)
|
||||
- [vertical_datum.sql](vertical_datum.sql)
|
||||
|
||||
## Other registries
|
||||
|
||||
- [esri.sql](esri.sql): ESRI registry. Generated by [build_db_from_esri.py](https://github.com/OSGeo/PROJ/blob/master/scripts/build_db_from_esri.py)
|
||||
- [ignf.sql](ignf.sql): IGN France registry. Generated by [build_db_create_ignf_from_xml.py](https://github.com/OSGeo/PROJ/blob/master/scripts/build_db_create_ignf_from_xml.py)
|
||||
- [iau.sql](iau.sql): IAU 2015 registry. Generated by [build_db_from_iau.py](https://github.com/OSGeo/PROJ/blob/master/scripts/build_db_from_iau.py)
|
||||
- [versioned_auth_name_mapping.sql](versioned_auth_name_mapping.sql): used for the IAU:2015 / IAU alias
|
||||
- [nkg.sql](nkg.sql): Nordic Geodetic Commission registry. Hand-written
|
||||
- [nkg_post_customizations.sql](nkg_post_customizations.sql): Registration of NKG in authority_to_authority_preference table
|
||||
- Other registries:
|
||||
* [esri.sql](esri.sql): ESRI registry. Generated by [build_db_from_esri.py](https://github.com/OSGeo/PROJ/blob/master/scripts/build_db_from_esri.py)
|
||||
* [ignf.sql](ignf.sql): IGN France registry. Generated by [build_db_create_ignf_from_xml.py](https://github.com/OSGeo/PROJ/blob/master/scripts/build_db_create_ignf_from_xml.py)
|
||||
* [iau.sql](iau.sql): IAU 2015 registry. Generated by [build_db_from_iau.py](https://github.com/OSGeo/PROJ/blob/master/scripts/build_db_from_iau.py)
|
||||
* [versioned_auth_name_mapping.sql](versioned_auth_name_mapping.sql): used for the IAU:2015 / IAU alias
|
||||
* [nkg.sql](nkg.sql): Nordic Geodetic Commission registry. Hand-written
|
||||
* [nkg_post_customizations.sql](nkg_post_customizations.sql): Registration of NKG in authority_to_authority_preference table
|
||||
|
||||
+419
-1156
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -1,3 +0,0 @@
|
||||
ANALYZE;
|
||||
|
||||
VACUUM;
|
||||
+2
-4
@@ -54,8 +54,6 @@ INSERT INTO "axis" VALUES('EPSG','1049','Local northing','n','north','EPSG','104
|
||||
INSERT INTO "axis" VALUES('EPSG','1050','Local easting','e','east','EPSG','1048',2,'EPSG','9002');
|
||||
INSERT INTO "axis" VALUES('EPSG','32933','Northing','N','north','EPSG','1053',1,'EPSG','9003');
|
||||
INSERT INTO "axis" VALUES('EPSG','32934','Easting','E','east','EPSG','1053',2,'EPSG','9003');
|
||||
INSERT INTO "axis" VALUES('EPSG','32935','Easting','x','east','EPSG','1054',1,'EPSG','9001');
|
||||
INSERT INTO "axis" VALUES('EPSG','32936','Northing','y','north','EPSG','1054',2,'EPSG','9001');
|
||||
INSERT INTO "axis" VALUES('EPSG','1','Easting','E','east','EPSG','4400',1,'EPSG','9001');
|
||||
INSERT INTO "axis" VALUES('EPSG','2','Northing','N','north','EPSG','4400',2,'EPSG','9001');
|
||||
INSERT INTO "axis" VALUES('EPSG','3','Easting','E','east','EPSG','4401',1,'EPSG','9062');
|
||||
@@ -175,6 +173,8 @@ INSERT INTO "axis" VALUES('EPSG','180','Northing','X','north','EPSG','4533',1,'E
|
||||
INSERT INTO "axis" VALUES('EPSG','179','Easting','Y','east','EPSG','4533',2,'EPSG','9098');
|
||||
INSERT INTO "axis" VALUES('EPSG','183','Northing','none','north','EPSG','4534',1,'EPSG','9001');
|
||||
INSERT INTO "axis" VALUES('EPSG','184','Easting','none','east','EPSG','4534',2,'EPSG','9001');
|
||||
INSERT INTO "axis" VALUES('EPSG','63','Geodetic latitude','Lat','north','EPSG','6405',1,'EPSG','9102');
|
||||
INSERT INTO "axis" VALUES('EPSG','64','Geodetic longitude','Long','east','EPSG','6405',2,'EPSG','9102');
|
||||
INSERT INTO "axis" VALUES('EPSG','115','Geocentric X','X','geocentricX','EPSG','6500',1,'EPSG','9001');
|
||||
INSERT INTO "axis" VALUES('EPSG','116','Geocentric Y','Y','geocentricY','EPSG','6500',2,'EPSG','9001');
|
||||
INSERT INTO "axis" VALUES('EPSG','117','Geocentric Z','Z','geocentricZ','EPSG','6500',3,'EPSG','9001');
|
||||
@@ -219,8 +219,6 @@ INSERT INTO "axis" VALUES('EPSG','59','Geodetic longitude','Lon','east','EPSG','
|
||||
INSERT INTO "axis" VALUES('EPSG','32879','Spherical latitude','lat','north','EPSG','6404',1,'EPSG','9122');
|
||||
INSERT INTO "axis" VALUES('EPSG','32880','Spherical longitude','lon','east','EPSG','6404',2,'EPSG','9122');
|
||||
INSERT INTO "axis" VALUES('EPSG','32881','Geocentric radius','R','up','EPSG','6404',3,'EPSG','9001');
|
||||
INSERT INTO "axis" VALUES('EPSG','63','Geodetic latitude','Lat','north','EPSG','6405',1,'EPSG','9102');
|
||||
INSERT INTO "axis" VALUES('EPSG','64','Geodetic longitude','Long','east','EPSG','6405',2,'EPSG','9102');
|
||||
INSERT INTO "axis" VALUES('EPSG','65','Geodetic latitude','Lat','north','EPSG','6406',1,'EPSG','9116');
|
||||
INSERT INTO "axis" VALUES('EPSG','66','Geodetic longitude','Long','east','EPSG','6406',2,'EPSG','9116');
|
||||
INSERT INTO "axis" VALUES('EPSG','67','Geodetic latitude','Lat','north','EPSG','6407',1,'EPSG','9117');
|
||||
|
||||
+302
-47
@@ -1,50 +1,3 @@
|
||||
-- Remove duplicated entries between source=EPSG and source=EPSG_OLD, as some
|
||||
-- aliases get sometimes removed in a version and are re-added in a later one.
|
||||
|
||||
DELETE FROM alias_name WHERE (table_name, auth_name, code, alt_name) IN
|
||||
(SELECT table_name, auth_name, code, alt_name FROM
|
||||
(SELECT count(*) AS count, table_name, auth_name, code, alt_name FROM alias_name
|
||||
WHERE source in ('EPSG', 'EPSG_OLD')
|
||||
GROUP BY table_name, auth_name, code, alt_name) x WHERE count > 1) AND source = 'EPSG_OLD';
|
||||
|
||||
-- Remove useless entries, i.e. where the official name matches the alias...
|
||||
|
||||
DELETE FROM alias_name WHERE (table_name, auth_name, code, alt_name, source) IN
|
||||
(SELECT a.table_name, a.auth_name, a.code, a.alt_name, a.source
|
||||
FROM geodetic_datum d JOIN alias_name a WHERE
|
||||
a.table_name = 'geodetic_datum' AND a.auth_name = d.auth_name AND
|
||||
a.code = d.code AND d.name = a.alt_name AND a.source != 'ESRI');
|
||||
|
||||
DELETE FROM alias_name WHERE (table_name, auth_name, code, alt_name, source) IN
|
||||
(SELECT a.table_name, a.auth_name, a.code, a.alt_name, a.source
|
||||
FROM vertical_datum d JOIN alias_name a WHERE
|
||||
a.table_name = 'vertical_datum' AND a.auth_name = d.auth_name AND
|
||||
a.code = d.code AND d.name = a.alt_name);
|
||||
|
||||
DELETE FROM alias_name WHERE (table_name, auth_name, code, alt_name, source) IN
|
||||
(SELECT a.table_name, a.auth_name, a.code, a.alt_name, a.source
|
||||
FROM geodetic_crs c JOIN alias_name a WHERE
|
||||
a.table_name = 'geodetic_crs' AND a.auth_name = c.auth_name AND
|
||||
a.code = c.code AND c.name = a.alt_name AND a.source != 'ESRI');
|
||||
|
||||
DELETE FROM alias_name WHERE (table_name, auth_name, code, alt_name, source) IN
|
||||
(SELECT a.table_name, a.auth_name, a.code, a.alt_name, a.source
|
||||
FROM vertical_crs c JOIN alias_name a WHERE
|
||||
a.table_name = 'vertical_crs' AND a.auth_name = c.auth_name AND
|
||||
a.code = c.code AND c.name = a.alt_name);
|
||||
|
||||
DELETE FROM alias_name WHERE (table_name, auth_name, code, alt_name, source) IN
|
||||
(SELECT a.table_name, a.auth_name, a.code, a.alt_name, a.source
|
||||
FROM projected_crs c JOIN alias_name a WHERE
|
||||
a.table_name = 'projected_crs' AND a.auth_name = c.auth_name AND
|
||||
a.code = c.code AND c.name = a.alt_name);
|
||||
|
||||
DELETE FROM alias_name WHERE (table_name, auth_name, code, alt_name, source) IN
|
||||
(SELECT a.table_name, a.auth_name, a.code, a.alt_name, a.source
|
||||
FROM compound_crs c JOIN alias_name a WHERE
|
||||
a.table_name = 'compound_crs' AND a.auth_name = c.auth_name AND
|
||||
a.code = c.code AND c.name = a.alt_name);
|
||||
|
||||
COMMIT;
|
||||
|
||||
CREATE INDEX geodetic_crs_datum_idx ON geodetic_crs(datum_auth_name, datum_code);
|
||||
@@ -58,3 +11,305 @@ CREATE INDEX concatenated_operation_idx ON concatenated_operation(source_crs_aut
|
||||
|
||||
-- We don't need to select by auth_name, code so nullify them to save space
|
||||
UPDATE usage SET auth_name = NULL, code = NULL;
|
||||
|
||||
-- Final consistency checks
|
||||
CREATE TABLE dummy(foo);
|
||||
CREATE TRIGGER final_checks
|
||||
BEFORE INSERT ON dummy
|
||||
FOR EACH ROW BEGIN
|
||||
|
||||
-- check that view definitions have no error
|
||||
SELECT RAISE(ABORT, 'corrupt definition of coordinate_operation_view')
|
||||
WHERE (SELECT 1 FROM coordinate_operation_view LIMIT 1) = 0;
|
||||
SELECT RAISE(ABORT, 'corrupt definition of crs_view')
|
||||
WHERE (SELECT 1 FROM crs_view LIMIT 1) = 0;
|
||||
SELECT RAISE(ABORT, 'corrupt definition of object_view')
|
||||
WHERE (SELECT 1 FROM object_view LIMIT 1) = 0;
|
||||
SELECT RAISE(ABORT, 'corrupt definition of authority_list')
|
||||
WHERE (SELECT 1 FROM authority_list LIMIT 1) = 0;
|
||||
|
||||
-- check that a usage is registered for most objects where this is needed
|
||||
SELECT RAISE(ABORT, 'One or several objects lack a corresponding record in the usage table')
|
||||
WHERE EXISTS (
|
||||
SELECT * FROM object_view o WHERE NOT EXISTS (
|
||||
SELECT 1 FROM usage u WHERE
|
||||
o.table_name = u.object_table_name AND
|
||||
o.auth_name = u.object_auth_name AND
|
||||
o.code = u.object_code)
|
||||
AND o.table_name NOT IN ('unit_of_measure', 'axis',
|
||||
'celestial_body', 'ellipsoid', 'prime_meridian', 'extent')
|
||||
-- the IGNF registry lacks extent for the following objects
|
||||
AND NOT (o.auth_name = 'IGNF' AND o.table_name IN ('geodetic_datum', 'vertical_datum', 'conversion'))
|
||||
);
|
||||
|
||||
SELECT RAISE(ABORT, 'Geodetic datum ensemble defined, but no ensemble member')
|
||||
WHERE EXISTS (
|
||||
SELECT * FROM geodetic_datum d WHERE ensemble_accuracy IS NOT NULL
|
||||
AND NOT EXISTS (SELECT 1 FROM geodetic_datum_ensemble_member WHERE
|
||||
d.auth_name = ensemble_auth_name AND d.code = ensemble_code)
|
||||
);
|
||||
|
||||
SELECT RAISE(ABORT, 'Vertical datum ensemble defined, but no ensemble member')
|
||||
WHERE EXISTS (
|
||||
SELECT * FROM vertical_datum d WHERE ensemble_accuracy IS NOT NULL
|
||||
AND NOT EXISTS (SELECT 1 FROM vertical_datum_ensemble_member WHERE
|
||||
d.auth_name = ensemble_auth_name AND d.code = ensemble_code)
|
||||
);
|
||||
|
||||
SELECT RAISE(ABORT, 'PROJ defines an alias that exists in EPSG')
|
||||
WHERE EXISTS (
|
||||
SELECT * FROM (
|
||||
SELECT count(*) AS count, table_name, auth_name, code, alt_name FROM alias_name
|
||||
WHERE source in ('EPSG', 'PROJ')
|
||||
AND NOT (source = 'PROJ' AND alt_name IN ('GGRS87', 'NAD27', 'NAD83'))
|
||||
GROUP BY table_name, auth_name, code, alt_name) x WHERE count > 1
|
||||
);
|
||||
|
||||
-- test to check that our custom grid transformation overrides are really needed
|
||||
SELECT RAISE(ABORT, 'PROJ grid_transformation defined whereas EPSG has one')
|
||||
WHERE EXISTS (SELECT 1 FROM grid_transformation g1
|
||||
JOIN grid_transformation g2
|
||||
ON g1.source_crs_auth_name = g2.source_crs_auth_name
|
||||
AND g1.source_crs_code = g2.source_crs_code
|
||||
AND g1.target_crs_auth_name = g2.target_crs_auth_name
|
||||
AND g1.target_crs_code = g2.target_crs_code
|
||||
WHERE g1.auth_name = 'PROJ' AND g1.code NOT LIKE '%_RESTRICTED_TO_VERTCRS%' AND g2.auth_name = 'EPSG' AND g2.deprecated = 0)
|
||||
OR EXISTS (SELECT 1 FROM grid_transformation g1
|
||||
JOIN grid_transformation g2
|
||||
ON g1.source_crs_auth_name = g2.target_crs_auth_name
|
||||
AND g1.source_crs_code = g2.target_crs_code
|
||||
AND g1.target_crs_auth_name = g1.source_crs_auth_name
|
||||
AND g1.target_crs_code = g1.source_crs_code
|
||||
WHERE g1.auth_name = 'PROJ' AND g1.code NOT LIKE '%_RESTRICTED_TO_VERTCRS%' AND g2.auth_name = 'EPSG' AND g2.deprecated = 0);
|
||||
|
||||
SELECT RAISE(ABORT, 'Arg! there is now a EPSG:102100 object. Hack in createFromUserInput() will no longer work')
|
||||
WHERE EXISTS(SELECT 1 FROM crs_view WHERE auth_name = 'EPSG' AND code = '102100');
|
||||
|
||||
-- check coordinate_operation_view "foreign keys"
|
||||
SELECT RAISE(ABORT, 'One coordinate_operation has a broken source_crs link')
|
||||
WHERE EXISTS (SELECT * FROM coordinate_operation_view cov WHERE
|
||||
cov.source_crs_auth_name || cov.source_crs_code NOT IN
|
||||
(SELECT auth_name || code FROM crs_view));
|
||||
SELECT RAISE(ABORT, 'One coordinate_operation has a broken target_crs link')
|
||||
WHERE EXISTS (SELECT * FROM coordinate_operation_view cov WHERE
|
||||
cov.target_crs_auth_name || cov.target_crs_code NOT IN
|
||||
(SELECT auth_name || code FROM crs_view));
|
||||
|
||||
-- check that grids with NTv2 method are properly registered
|
||||
SELECT RAISE(ABORT, 'One grid_transformation with NTv2 has not its source_crs in geodetic_crs table with type = ''geographic 2D''')
|
||||
WHERE EXISTS (SELECT * FROM grid_transformation g WHERE
|
||||
g.method_name = 'NTv2' AND
|
||||
g.source_crs_auth_name || g.source_crs_code NOT IN
|
||||
(SELECT auth_name || code FROM geodetic_crs
|
||||
WHERE type = 'geographic 2D'));
|
||||
SELECT RAISE(ABORT, 'One grid_transformation with NTv2 has not its target_crs in geodetic_crs table with type = ''geographic 2D''')
|
||||
WHERE EXISTS (SELECT * FROM grid_transformation g WHERE
|
||||
g.method_name = 'NTv2' AND
|
||||
g.target_crs_auth_name || g.target_crs_code NOT IN
|
||||
(SELECT auth_name || code FROM geodetic_crs
|
||||
WHERE type = 'geographic 2D'));
|
||||
|
||||
-- check that grids with Geographic3D to GravityRelatedHeight method are properly registered
|
||||
SELECT RAISE(ABORT, 'One grid_transformation with Geographic3D to GravityRelatedHeight has not its target_crs in vertical_crs table')
|
||||
WHERE EXISTS (SELECT * FROM grid_transformation g WHERE
|
||||
g.deprecated = 0 AND
|
||||
g.method_name LIKE 'Geographic3D to GravityRelatedHeight%' AND
|
||||
g.target_crs_auth_name || g.target_crs_code NOT IN
|
||||
(SELECT auth_name || code FROM vertical_crs));
|
||||
SELECT RAISE(ABORT, 'One grid_transformation with Geographic3D to GravityRelatedHeight or Geog3D to Geog2D+XXX has not its source_crs in geodetic_crs table with type = ''geographic 3D''')
|
||||
WHERE EXISTS (SELECT * FROM grid_transformation g WHERE
|
||||
g.deprecated = 0 AND
|
||||
(g.method_name LIKE 'Geographic3D to %' OR g.method_name LIKE 'Geog3D to %') AND
|
||||
g.source_crs_auth_name || g.source_crs_code NOT IN
|
||||
(SELECT auth_name || code FROM geodetic_crs
|
||||
WHERE type = 'geographic 3D'));
|
||||
|
||||
-- check that grids with 'Vertical Offset by Grid Interpolation' methods are properly registered
|
||||
SELECT RAISE(ABORT, 'One grid_transformation with Vertical Offset by Grid Interpolation has not its source_crs in vertical_crs table')
|
||||
WHERE EXISTS (SELECT * FROM grid_transformation g WHERE
|
||||
g.method_name LIKE 'Vertical Offset by Grid Interpolation%' AND
|
||||
g.source_crs_auth_name || g.source_crs_code NOT IN
|
||||
(SELECT auth_name || code FROM vertical_crs));
|
||||
SELECT RAISE(ABORT, 'One grid_transformation with Vertical Offset by Grid Interpolation has not its target_crs in vertical_crs table')
|
||||
WHERE EXISTS (SELECT * FROM grid_transformation g WHERE
|
||||
g.method_name LIKE 'Vertical Offset by Grid Interpolation%' AND
|
||||
g.target_crs_auth_name || g.target_crs_code NOT IN
|
||||
(SELECT auth_name || code FROM vertical_crs));
|
||||
|
||||
-- check that Helmert transformations have source and target of the same nature (the fkey already checks they are geodetic_crs)
|
||||
SELECT RAISE(ABORT, 'One helmert_transformation has a source CRS of a different nature than its target CRS')
|
||||
WHERE EXISTS (SELECT helmert_transformation.auth_name,
|
||||
helmert_transformation.code,
|
||||
helmert_transformation.name,
|
||||
crs1.type AS crs1_type,
|
||||
crs2.type AS crs2_type
|
||||
FROM helmert_transformation
|
||||
JOIN geodetic_crs crs1 ON
|
||||
crs1.auth_name = source_crs_auth_name AND crs1.code = source_crs_code
|
||||
JOIN geodetic_crs crs2 ON
|
||||
crs2.auth_name = target_crs_auth_name AND crs2.code = target_crs_code
|
||||
WHERE helmert_transformation.deprecated = 0 AND crs1.type != crs2.type);
|
||||
|
||||
-- check that the method used by a Helmert transformation is consistent with the dimensionality of the CRS
|
||||
SELECT RAISE(ABORT, 'The domain of the method of helmert_transformation is not consistent with the dimensionality of the CRS')
|
||||
WHERE EXISTS (SELECT helmert_transformation.auth_name,
|
||||
helmert_transformation.code,
|
||||
helmert_transformation.name,
|
||||
helmert_transformation.method_name,
|
||||
crs.type AS crs_type
|
||||
FROM helmert_transformation
|
||||
JOIN geodetic_crs crs ON
|
||||
crs.auth_name = source_crs_auth_name AND crs.code = source_crs_code
|
||||
WHERE helmert_transformation.deprecated = 0 AND
|
||||
((method_name LIKE '%geog2D domain%' AND crs.type != 'geographic 2D') OR
|
||||
(method_name LIKE '%geog3D domain%' AND crs.type != 'geographic 3D') OR
|
||||
(method_name LIKE '%geocentric domain%' AND crs.type != 'geocentric')));
|
||||
|
||||
-- check that a time-dependent Helmert transformation has its source or target CRS being dyanmic
|
||||
SELECT RAISE(ABORT, 'A time-dependent Helmert transformations has its source and target CRS both non-dynamic')
|
||||
WHERE EXISTS (SELECT helmert_transformation.auth_name,
|
||||
helmert_transformation.code,
|
||||
helmert_transformation.name
|
||||
FROM helmert_transformation
|
||||
JOIN geodetic_crs crs1 ON
|
||||
crs1.auth_name = source_crs_auth_name AND crs1.code = source_crs_code
|
||||
JOIN geodetic_crs crs2 ON
|
||||
crs2.auth_name = target_crs_auth_name AND crs2.code = target_crs_code
|
||||
JOIN geodetic_datum gd1 ON
|
||||
gd1.auth_name = crs1.datum_auth_name AND gd1.code = crs1.datum_code
|
||||
JOIN geodetic_datum gd2 ON
|
||||
gd2.auth_name = crs2.datum_auth_name AND gd2.code = crs2.datum_code
|
||||
WHERE helmert_transformation.deprecated = 0 AND
|
||||
method_name LIKE 'Time-dependent%' AND
|
||||
gd1.frame_reference_epoch IS NULL AND
|
||||
gd2.frame_reference_epoch IS NULL);
|
||||
|
||||
-- check that transformations operations between vertical CRS are from/into a vertical CRS
|
||||
SELECT RAISE(ABORT, 'A transformation operating on vertical CRS has a source CRS not being a vertical CRS')
|
||||
WHERE EXISTS (SELECT other_transformation.auth_name,
|
||||
other_transformation.code,
|
||||
other_transformation.name
|
||||
FROM other_transformation
|
||||
LEFT JOIN vertical_crs crs ON
|
||||
crs.auth_name = source_crs_auth_name AND crs.code = source_crs_code
|
||||
WHERE other_transformation.deprecated = 0 AND
|
||||
method_name IN ('Vertical Offset', 'Height Depth Reversal', 'Change of Vertical Unit') AND
|
||||
crs.code IS NULL);
|
||||
SELECT RAISE(ABORT, 'AA transformation operating on vertical CRS has a target CRS not being a vertical CRS')
|
||||
WHERE EXISTS (SELECT other_transformation.auth_name,
|
||||
other_transformation.code,
|
||||
other_transformation.name
|
||||
FROM other_transformation
|
||||
LEFT JOIN vertical_crs crs ON
|
||||
crs.auth_name = target_crs_auth_name AND crs.code = target_crs_code
|
||||
WHERE other_transformation.deprecated = 0 AND
|
||||
method_name IN ('Vertical Offset', 'Height Depth Reversal', 'Change of Vertical Unit') AND
|
||||
crs.code IS NULL);
|
||||
|
||||
-- check that 'Geographic2D with Height Offsets' transformations have a compound CRS with a geog2D as source
|
||||
SELECT RAISE(ABORT, 'A transformation Geographic2D with Height Offsets does not have a compound CRS with a geog2D as source')
|
||||
WHERE EXISTS (SELECT other_transformation.auth_name,
|
||||
other_transformation.code,
|
||||
other_transformation.name
|
||||
FROM other_transformation
|
||||
LEFT JOIN compound_crs ccrs ON
|
||||
ccrs.auth_name = source_crs_auth_name AND ccrs.code = source_crs_code
|
||||
LEFT JOIN geodetic_crs gcrs ON
|
||||
gcrs.auth_name = horiz_crs_auth_name AND gcrs.code = horiz_crs_code
|
||||
WHERE other_transformation.deprecated = 0 AND
|
||||
method_name = 'Geographic2D with Height Offsets' AND
|
||||
(gcrs.code IS NULL OR gcrs.type != 'geographic 2D'));
|
||||
SELECT RAISE(ABORT, 'A transformation Geographic2D with Height Offsets does not have a geographic 3D CRS as target')
|
||||
WHERE EXISTS (SELECT other_transformation.auth_name,
|
||||
other_transformation.code,
|
||||
other_transformation.name
|
||||
FROM other_transformation
|
||||
LEFT JOIN geodetic_crs gcrs ON
|
||||
gcrs.auth_name = target_crs_auth_name AND gcrs.code = target_crs_code
|
||||
WHERE other_transformation.deprecated = 0 AND
|
||||
method_name = 'Geographic2D with Height Offsets' AND
|
||||
(gcrs.type IS NULL OR gcrs.type != 'geographic 3D'));
|
||||
|
||||
-- check that transformations intersect the area of use of their source/target CRS
|
||||
-- EPSG, ESRI and IGNF have cases where this does not hold.
|
||||
SELECT RAISE(ABORT, 'The area of use of at least one coordinate_operation does not intersect the one of its source CRS')
|
||||
WHERE EXISTS (SELECT * FROM coordinate_operation_view v, crs_view c, usage vu, extent ve, usage cu, extent ce WHERE
|
||||
v.deprecated = 0 AND
|
||||
(v.table_name = 'grid_transformation' OR v.auth_name NOT IN ('EPSG', 'ESRI', 'IGNF')) AND
|
||||
v.source_crs_auth_name = c.auth_name AND
|
||||
v.source_crs_code = c.code AND
|
||||
vu.object_table_name = v.table_name AND
|
||||
vu.object_auth_name = v.auth_name AND
|
||||
vu.object_code = v.code AND
|
||||
vu.extent_auth_name = ve.auth_name AND
|
||||
vu.extent_code = ve.code AND
|
||||
cu.object_table_name = c.table_name AND
|
||||
cu.object_auth_name = c.auth_name AND
|
||||
cu.object_code = c.code AND
|
||||
cu.extent_auth_name = ce.auth_name AND
|
||||
cu.extent_code = ce.code AND
|
||||
NOT ((ce.south_lat < ve.north_lat AND ve.south_lat < ce.north_lat) OR
|
||||
(ce.west_lon < ce.east_lon AND ve.west_lon < ve.east_lon AND
|
||||
NOT (ce.west_lon < ve.east_lon AND ve.west_lon < ce.east_lon))) );
|
||||
SELECT RAISE(ABORT, 'The area of use of at least one coordinate_operation does not intersect the one of its target CRS')
|
||||
WHERE EXISTS (SELECT * FROM coordinate_operation_view v, crs_view c, usage vu, extent ve, usage cu, extent ce WHERE
|
||||
v.deprecated = 0 AND
|
||||
((v.table_name = 'grid_transformation' AND NOT (v.auth_name = 'IGNF' AND v.code = 'TSG1185'))
|
||||
OR v.auth_name NOT IN ('EPSG', 'ESRI', 'IGNF')) AND
|
||||
v.target_crs_auth_name = c.auth_name AND
|
||||
v.target_crs_code = c.code AND
|
||||
vu.object_table_name = v.table_name AND
|
||||
vu.object_auth_name = v.auth_name AND
|
||||
vu.object_code = v.code AND
|
||||
vu.extent_auth_name = ve.auth_name AND
|
||||
vu.extent_code = ve.code AND
|
||||
cu.object_table_name = c.table_name AND
|
||||
cu.object_auth_name = c.auth_name AND
|
||||
cu.object_code = c.code AND
|
||||
cu.extent_auth_name = ce.auth_name AND
|
||||
cu.extent_code = ce.code AND
|
||||
NOT ((ce.south_lat < ve.north_lat AND ve.south_lat < ce.north_lat) OR
|
||||
(ce.west_lon < ce.east_lon AND ve.west_lon < ve.east_lon AND
|
||||
NOT (ce.west_lon < ve.east_lon AND ve.west_lon < ce.east_lon))) );
|
||||
|
||||
-- check geoid_model table
|
||||
SELECT RAISE(ABORT, 'missing GEOID99 in geoid_model')
|
||||
WHERE NOT EXISTS(SELECT 1 FROM geoid_model WHERE name = 'GEOID99');
|
||||
SELECT RAISE(ABORT, 'missing GEOID03 in geoid_model')
|
||||
WHERE NOT EXISTS(SELECT 1 FROM geoid_model WHERE name = 'GEOID03');
|
||||
SELECT RAISE(ABORT, 'missing GEOID06 in geoid_model')
|
||||
WHERE NOT EXISTS(SELECT 1 FROM geoid_model WHERE name = 'GEOID06');
|
||||
SELECT RAISE(ABORT, 'missing GEOID09 in geoid_model')
|
||||
WHERE NOT EXISTS(SELECT 1 FROM geoid_model WHERE name = 'GEOID09');
|
||||
SELECT RAISE(ABORT, 'missing GEOID12A in geoid_model')
|
||||
WHERE NOT EXISTS(SELECT 1 FROM geoid_model WHERE name = 'GEOID12A');
|
||||
SELECT RAISE(ABORT, 'missing GEOID12B in geoid_model')
|
||||
WHERE NOT EXISTS(SELECT 1 FROM geoid_model WHERE name = 'GEOID12B');
|
||||
SELECT RAISE(ABORT, 'missing GEOID18 in geoid_model')
|
||||
WHERE NOT EXISTS(SELECT 1 FROM geoid_model WHERE name = 'GEOID18');
|
||||
|
||||
-- check presence of au_ga_AUSGeoid98.tif
|
||||
SELECT RAISE(ABORT, 'missing au_ga_AUSGeoid98.tif')
|
||||
WHERE NOT EXISTS(SELECT 1 FROM grid_alternatives WHERE proj_grid_name = 'au_ga_AUSGeoid98.tif');
|
||||
|
||||
-- check PROJ.VERSION value
|
||||
SELECT RAISE(ABORT, 'Value of PROJ.VERSION entry of metadata tables not substituted by actual value')
|
||||
WHERE (SELECT 1 FROM metadata WHERE key = 'PROJ.VERSION' AND value LIKE '$%');
|
||||
|
||||
-- Only available in sqlite >= 3.16. May be activated as soon as support for ubuntu 16 is dropped
|
||||
-- check all foreign key contraints have an 'ON DELETE CASCADE'
|
||||
-- SELECT RAISE(ABORT, 'FK constraint with missing "ON DELETE CASCADE"')
|
||||
-- WHERE EXISTS (SELECT 1 FROM
|
||||
-- pragma_foreign_key_list(name),
|
||||
-- (SELECT name from sqlite_master WHERE type='table')
|
||||
-- WHERE upper(on_delete) != 'CASCADE');
|
||||
|
||||
|
||||
END;
|
||||
INSERT INTO dummy DEFAULT VALUES;
|
||||
DROP TRIGGER final_checks;
|
||||
DROP TABLE dummy;
|
||||
|
||||
ANALYZE;
|
||||
|
||||
VACUUM;
|
||||
|
||||
+122
-436
@@ -2,9 +2,9 @@
|
||||
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','3901','KKJ / Finland Uniform Coordinate System + N60 height',NULL,'EPSG','2393','EPSG','5717',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','2881','compound_crs','EPSG','3901','EPSG','3333','EPSG','1142');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','3902','ETRS89-FIN [EUREF-FIN] / TM35FIN(N,E) + N60 height',NULL,'EPSG','5048','EPSG','5717',0);
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','3902','ETRS89 / TM35FIN(N,E) + N60 height',NULL,'EPSG','5048','EPSG','5717',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','2882','compound_crs','EPSG','3902','EPSG','3333','EPSG','1142');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','3903','ETRS89-FIN [EUREF-FIN] / TM35FIN(N,E) + N2000 height',NULL,'EPSG','5048','EPSG','3900',0);
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','3903','ETRS89 / TM35FIN(N,E) + N2000 height',NULL,'EPSG','5048','EPSG','3900',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','2883','compound_crs','EPSG','3903','EPSG','3333','EPSG','1142');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','4097','ETRS89 / DKTM1 + DVR90 height',NULL,'EPSG','4093','EPSG','5799',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','3001','compound_crs','EPSG','4097','EPSG','3631','EPSG','1029');
|
||||
@@ -14,7 +14,7 @@ INSERT INTO "compound_crs" VALUES('EPSG','4099','ETRS89 / DKTM3 + DVR90 height',
|
||||
INSERT INTO "usage" VALUES('EPSG','3003','compound_crs','EPSG','4099','EPSG','2532','EPSG','1029');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','4100','ETRS89 / DKTM4 + DVR90 height',NULL,'EPSG','4096','EPSG','5799',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','3004','compound_crs','EPSG','4100','EPSG','2533','EPSG','1029');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','5318','ETRS89-FRO [2008] / Faroe TM + FVR09 height',NULL,'EPSG','5316','EPSG','5317',0);
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','5318','ETRS89 / Faroe TM + FVR09 height',NULL,'EPSG','5316','EPSG','5317',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','3925','compound_crs','EPSG','5318','EPSG','3248','EPSG','1029');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','5498','NAD83 + NAVD88 height',NULL,'EPSG','4269','EPSG','5703',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','4003','compound_crs','EPSG','5498','EPSG','3664','EPSG','1142');
|
||||
@@ -30,11 +30,11 @@ INSERT INTO "compound_crs" VALUES('EPSG','5556','ETRS89 / UTM zone 33N + DHHN92
|
||||
INSERT INTO "usage" VALUES('EPSG','4034','compound_crs','EPSG','5556','EPSG','3879','EPSG','1190');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','5598','FEH2010 / Fehmarnbelt TM + FCSVR10 height',NULL,'EPSG','5596','EPSG','5597',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','4068','compound_crs','EPSG','5598','EPSG','3890','EPSG','1139');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','5628','ETRS89-SWE [SWEREF 99] + RH2000 height',NULL,'EPSG','4619','EPSG','5613',0);
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','5628','SWEREF99 + RH2000 height',NULL,'EPSG','4619','EPSG','5613',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','4095','compound_crs','EPSG','5628','EPSG','3313','EPSG','1142');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','5698','ETRS89-FRA [RGF93 v1] / Lambert-93 + NGF-IGN69 height',NULL,'EPSG','2154','EPSG','5720',0);
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','5698','RGF93 v1 / Lambert-93 + NGF-IGN69 height',NULL,'EPSG','2154','EPSG','5720',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','4141','compound_crs','EPSG','5698','EPSG','1326','EPSG','1142');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','5699','ETRS89-FRA [RGF93 v1] / Lambert-93 + NGF-IGN78 height',NULL,'EPSG','2154','EPSG','5721',0);
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','5699','RGF93 v1 / Lambert-93 + NGF-IGN78 height',NULL,'EPSG','2154','EPSG','5721',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','4142','compound_crs','EPSG','5699','EPSG','1327','EPSG','1142');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','5707','NTF (Paris) / Lambert zone I + NGF-IGN69 height',NULL,'EPSG','27571','EPSG','5720',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','4150','compound_crs','EPSG','5707','EPSG','1731','EPSG','1142');
|
||||
@@ -48,163 +48,163 @@ INSERT INTO "compound_crs" VALUES('EPSG','5834','DB_REF / 3-degree Gauss-Kruger
|
||||
INSERT INTO "usage" VALUES('EPSG','4272','compound_crs','EPSG','5834','EPSG','3996','EPSG','1141');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','5835','DB_REF / 3-degree Gauss-Kruger zone 5 (E-N) + DHHN92 height',NULL,'EPSG','5685','EPSG','5783',1);
|
||||
INSERT INTO "usage" VALUES('EPSG','4273','compound_crs','EPSG','5835','EPSG','3998','EPSG','1141');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','5845','ETRS89-SWE [SWEREF 99] TM + RH2000 height',NULL,'EPSG','3006','EPSG','5613',0);
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','5845','SWEREF99 TM + RH2000 height',NULL,'EPSG','3006','EPSG','5613',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','4280','compound_crs','EPSG','5845','EPSG','3313','EPSG','1142');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','5846','ETRS89-SWE [SWEREF 99 12 00] + RH2000 height',NULL,'EPSG','3007','EPSG','5613',0);
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','5846','SWEREF99 12 00 + RH2000 height',NULL,'EPSG','3007','EPSG','5613',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','4281','compound_crs','EPSG','5846','EPSG','2833','EPSG','1142');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','5847','ETRS89-SWE [SWEREF 99 13 30] + RH2000 height',NULL,'EPSG','3008','EPSG','5613',0);
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','5847','SWEREF99 13 30 + RH2000 height',NULL,'EPSG','3008','EPSG','5613',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','4282','compound_crs','EPSG','5847','EPSG','2834','EPSG','1142');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','5848','ETRS89-SWE [SWEREF 99 15 00] + RH2000 height',NULL,'EPSG','3009','EPSG','5613',0);
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','5848','SWEREF99 15 00 + RH2000 height',NULL,'EPSG','3009','EPSG','5613',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','4283','compound_crs','EPSG','5848','EPSG','2835','EPSG','1142');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','5849','ETRS89-SWE [SWEREF 99 16 30] + RH2000 height',NULL,'EPSG','3010','EPSG','5613',0);
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','5849','SWEREF99 16 30 + RH2000 height',NULL,'EPSG','3010','EPSG','5613',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','4284','compound_crs','EPSG','5849','EPSG','2836','EPSG','1142');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','5850','ETRS89-SWE [SWEREF 99 18 00] + RH2000 height',NULL,'EPSG','3011','EPSG','5613',0);
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','5850','SWEREF99 18 00 + RH2000 height',NULL,'EPSG','3011','EPSG','5613',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','4285','compound_crs','EPSG','5850','EPSG','2837','EPSG','1142');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','5851','ETRS89-SWE [SWEREF 99 14 15] + RH2000 height',NULL,'EPSG','3012','EPSG','5613',0);
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','5851','SWEREF99 14 15 + RH2000 height',NULL,'EPSG','3012','EPSG','5613',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','4286','compound_crs','EPSG','5851','EPSG','2838','EPSG','1142');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','5852','ETRS89-SWE [SWEREF 99 15 45] + RH2000 height',NULL,'EPSG','3013','EPSG','5613',0);
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','5852','SWEREF99 15 45 + RH2000 height',NULL,'EPSG','3013','EPSG','5613',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','4287','compound_crs','EPSG','5852','EPSG','2839','EPSG','1142');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','5853','ETRS89-SWE [SWEREF 99 17 15] + RH2000 height',NULL,'EPSG','3014','EPSG','5613',0);
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','5853','SWEREF99 17 15 + RH2000 height',NULL,'EPSG','3014','EPSG','5613',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','4288','compound_crs','EPSG','5853','EPSG','2840','EPSG','1142');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','5854','ETRS89-SWE [SWEREF 99 18 45] + RH2000 height',NULL,'EPSG','3015','EPSG','5613',0);
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','5854','SWEREF99 18 45 + RH2000 height',NULL,'EPSG','3015','EPSG','5613',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','4289','compound_crs','EPSG','5854','EPSG','2841','EPSG','1142');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','5855','ETRS89-SWE [SWEREF 99 20 15] + RH2000 height',NULL,'EPSG','3016','EPSG','5613',0);
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','5855','SWEREF99 20 15 + RH2000 height',NULL,'EPSG','3016','EPSG','5613',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','4290','compound_crs','EPSG','5855','EPSG','2842','EPSG','1142');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','5856','ETRS89-SWE [SWEREF 99 21 45] + RH2000 height',NULL,'EPSG','3017','EPSG','5613',0);
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','5856','SWEREF99 21 45 + RH2000 height',NULL,'EPSG','3017','EPSG','5613',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','4291','compound_crs','EPSG','5856','EPSG','2843','EPSG','1142');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','5857','ETRS89-SWE [SWEREF 99 23 15] + RH2000 height',NULL,'EPSG','3018','EPSG','5613',0);
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','5857','SWEREF99 23 15 + RH2000 height',NULL,'EPSG','3018','EPSG','5613',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','4292','compound_crs','EPSG','5857','EPSG','2844','EPSG','1142');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','5942','ETRS89 + NN2000:2018 height',NULL,'EPSG','4258','EPSG','5941',0);
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','5942','ETRS89 + NN2000 height',NULL,'EPSG','4258','EPSG','5941',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','4346','compound_crs','EPSG','5942','EPSG','1352','EPSG','1027');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','5945','ETRS89-NOR [EUREF89] / NTM zone 5 + NN2000:2018 height',NULL,'EPSG','5105','EPSG','5941',0);
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','5945','ETRS89 / NTM zone 5 + NN2000 height',NULL,'EPSG','5105','EPSG','5941',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','4347','compound_crs','EPSG','5945','EPSG','3636','EPSG','1029');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','5946','ETRS89-NOR [EUREF89] / NTM zone 6 + NN2000:2018 height',NULL,'EPSG','5106','EPSG','5941',0);
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','5946','ETRS89 / NTM zone 6 + NN2000 height',NULL,'EPSG','5106','EPSG','5941',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','4348','compound_crs','EPSG','5946','EPSG','3639','EPSG','1029');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','5947','ETRS89-NOR [EUREF89] / NTM zone 7 + NN2000:2018 height',NULL,'EPSG','5107','EPSG','5941',0);
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','5947','ETRS89 / NTM zone 7 + NN2000 height',NULL,'EPSG','5107','EPSG','5941',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','4349','compound_crs','EPSG','5947','EPSG','3647','EPSG','1029');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','5948','ETRS89-NOR [EUREF89] / NTM zone 8 + NN2000:2018 height',NULL,'EPSG','5108','EPSG','5941',0);
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','5948','ETRS89 / NTM zone 8 + NN2000 height',NULL,'EPSG','5108','EPSG','5941',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','4350','compound_crs','EPSG','5948','EPSG','3648','EPSG','1029');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','5949','ETRS89-NOR [EUREF89] / NTM zone 9 + NN2000:2018 height',NULL,'EPSG','5109','EPSG','5941',0);
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','5949','ETRS89 / NTM zone 9 + NN2000 height',NULL,'EPSG','5109','EPSG','5941',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','4351','compound_crs','EPSG','5949','EPSG','3649','EPSG','1029');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','5950','ETRS89-NOR [EUREF89] / NTM zone 10 + NN2000:2018 height',NULL,'EPSG','5110','EPSG','5941',0);
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','5950','ETRS89 / NTM zone 10 + NN2000 height',NULL,'EPSG','5110','EPSG','5941',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','4352','compound_crs','EPSG','5950','EPSG','3650','EPSG','1029');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','5951','ETRS89-NOR [EUREF89] / NTM zone 11 + NN2000:2018 height',NULL,'EPSG','5111','EPSG','5941',0);
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','5951','ETRS89 / NTM zone 11 + NN2000 height',NULL,'EPSG','5111','EPSG','5941',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','4353','compound_crs','EPSG','5951','EPSG','3651','EPSG','1029');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','5952','ETRS89-NOR [EUREF89] / NTM zone 12 + NN2000:2018 height',NULL,'EPSG','5112','EPSG','5941',0);
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','5952','ETRS89 / NTM zone 12 + NN2000 height',NULL,'EPSG','5112','EPSG','5941',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','4354','compound_crs','EPSG','5952','EPSG','3653','EPSG','1029');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','5953','ETRS89-NOR [EUREF89] / NTM zone 13 + NN2000:2018 height',NULL,'EPSG','5113','EPSG','5941',0);
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','5953','ETRS89 / NTM zone 13 + NN2000 height',NULL,'EPSG','5113','EPSG','5941',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','4355','compound_crs','EPSG','5953','EPSG','3654','EPSG','1029');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','5954','ETRS89-NOR [EUREF89] / NTM zone 14 + NN2000:2018 height',NULL,'EPSG','5114','EPSG','5941',0);
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','5954','ETRS89 / NTM zone 14 + NN2000 height',NULL,'EPSG','5114','EPSG','5941',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','4356','compound_crs','EPSG','5954','EPSG','3655','EPSG','1029');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','5955','ETRS89-NOR [EUREF89] / NTM zone 15 + NN2000:2018 height',NULL,'EPSG','5115','EPSG','5941',0);
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','5955','ETRS89 / NTM zone 15 + NN2000 height',NULL,'EPSG','5115','EPSG','5941',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','4357','compound_crs','EPSG','5955','EPSG','3656','EPSG','1029');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','5956','ETRS89-NOR [EUREF89] / NTM zone 16 + NN2000:2018 height',NULL,'EPSG','5116','EPSG','5941',0);
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','5956','ETRS89 / NTM zone 16 + NN2000 height',NULL,'EPSG','5116','EPSG','5941',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','4358','compound_crs','EPSG','5956','EPSG','3657','EPSG','1029');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','5957','ETRS89-NOR [EUREF89] / NTM zone 17 + NN2000:2018 height',NULL,'EPSG','5117','EPSG','5941',0);
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','5957','ETRS89 / NTM zone 17 + NN2000 height',NULL,'EPSG','5117','EPSG','5941',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','4359','compound_crs','EPSG','5957','EPSG','3658','EPSG','1029');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','5958','ETRS89-NOR [EUREF89] / NTM zone 18 + NN2000:2018 height',NULL,'EPSG','5118','EPSG','5941',0);
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','5958','ETRS89 / NTM zone 18 + NN2000 height',NULL,'EPSG','5118','EPSG','5941',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','4360','compound_crs','EPSG','5958','EPSG','3660','EPSG','1029');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','5959','ETRS89-NOR [EUREF89] / NTM zone 19 + NN2000:2018 height',NULL,'EPSG','5119','EPSG','5941',0);
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','5959','ETRS89 / NTM zone 19 + NN2000 height',NULL,'EPSG','5119','EPSG','5941',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','4361','compound_crs','EPSG','5959','EPSG','3661','EPSG','1029');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','5960','ETRS89-NOR [EUREF89] / NTM zone 20 + NN2000:2018 height',NULL,'EPSG','5120','EPSG','5941',0);
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','5960','ETRS89 / NTM zone 20 + NN2000 height',NULL,'EPSG','5120','EPSG','5941',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','4362','compound_crs','EPSG','5960','EPSG','3662','EPSG','1029');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','5961','ETRS89-NOR [EUREF89] / NTM zone 21 + NN2000:2018 height',NULL,'EPSG','5121','EPSG','5941',0);
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','5961','ETRS89 / NTM zone 21 + NN2000 height',NULL,'EPSG','5121','EPSG','5941',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','4363','compound_crs','EPSG','5961','EPSG','3663','EPSG','1029');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','5962','ETRS89-NOR [EUREF89] / NTM zone 22 + NN2000:2018 height',NULL,'EPSG','5122','EPSG','5941',0);
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','5962','ETRS89 / NTM zone 22 + NN2000 height',NULL,'EPSG','5122','EPSG','5941',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','4364','compound_crs','EPSG','5962','EPSG','3665','EPSG','1029');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','5963','ETRS89-NOR [EUREF89] / NTM zone 23 + NN2000:2018 height',NULL,'EPSG','5123','EPSG','5941',0);
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','5963','ETRS89 / NTM zone 23 + NN2000 height',NULL,'EPSG','5123','EPSG','5941',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','4365','compound_crs','EPSG','5963','EPSG','3667','EPSG','1029');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','5964','ETRS89-NOR [EUREF89] / NTM zone 24 + NN2000:2018 height',NULL,'EPSG','5124','EPSG','5941',0);
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','5964','ETRS89 / NTM zone 24 + NN2000 height',NULL,'EPSG','5124','EPSG','5941',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','4366','compound_crs','EPSG','5964','EPSG','3668','EPSG','1029');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','5965','ETRS89-NOR [EUREF89] / NTM zone 25 + NN2000:2018 height',NULL,'EPSG','5125','EPSG','5941',0);
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','5965','ETRS89 / NTM zone 25 + NN2000 height',NULL,'EPSG','5125','EPSG','5941',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','4367','compound_crs','EPSG','5965','EPSG','3669','EPSG','1029');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','5966','ETRS89-NOR [EUREF89] / NTM zone 26 + NN2000:2018 height',NULL,'EPSG','5126','EPSG','5941',0);
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','5966','ETRS89 / NTM zone 26 + NN2000 height',NULL,'EPSG','5126','EPSG','5941',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','4368','compound_crs','EPSG','5966','EPSG','3671','EPSG','1029');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','5967','ETRS89-NOR [EUREF89] / NTM zone 27 + NN2000:2018 height',NULL,'EPSG','5127','EPSG','5941',0);
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','5967','ETRS89 / NTM zone 27 + NN2000 height',NULL,'EPSG','5127','EPSG','5941',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','4369','compound_crs','EPSG','5967','EPSG','3672','EPSG','1029');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','5968','ETRS89-NOR [EUREF89] / NTM zone 28 + NN2000:2018 height',NULL,'EPSG','5128','EPSG','5941',0);
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','5968','ETRS89 / NTM zone 28 + NN2000 height',NULL,'EPSG','5128','EPSG','5941',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','4370','compound_crs','EPSG','5968','EPSG','3673','EPSG','1029');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','5969','ETRS89-NOR [EUREF89] / NTM zone 29 + NN2000:2018 height',NULL,'EPSG','5129','EPSG','5941',0);
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','5969','ETRS89 / NTM zone 29 + NN2000 height',NULL,'EPSG','5129','EPSG','5941',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','4371','compound_crs','EPSG','5969','EPSG','3674','EPSG','1029');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','5970','ETRS89-NOR [EUREF89] / NTM zone 30 + NN2000:2018 height',NULL,'EPSG','5130','EPSG','5941',0);
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','5970','ETRS89 / NTM zone 30 + NN2000 height',NULL,'EPSG','5130','EPSG','5941',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','4372','compound_crs','EPSG','5970','EPSG','3676','EPSG','1029');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','5971','ETRS89-NOR [EUREF89] / UTM zone 31N + NN2000:2018 height',NULL,'EPSG','11021','EPSG','5941',0);
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','5971','ETRS89 / UTM zone 31N + NN2000 height',NULL,'EPSG','25831','EPSG','5941',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','4373','compound_crs','EPSG','5971','EPSG','3636','EPSG','1153');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','5972','ETRS89-NOR [EUREF89] / UTM zone 32N + NN2000:2018 height',NULL,'EPSG','11022','EPSG','5941',0);
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','5972','ETRS89 / UTM zone 32N + NN2000 height',NULL,'EPSG','25832','EPSG','5941',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','4374','compound_crs','EPSG','5972','EPSG','4066','EPSG','1153');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','5973','ETRS89-NOR [EUREF89] / UTM zone 33N + NN2000:2018 height',NULL,'EPSG','11023','EPSG','5941',0);
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','5973','ETRS89 / UTM zone 33N + NN2000 height',NULL,'EPSG','25833','EPSG','5941',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','4375','compound_crs','EPSG','5973','EPSG','4067','EPSG','1153');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','5974','ETRS89-NOR [EUREF89] / UTM zone 34N + NN2000:2018 height',NULL,'EPSG','11024','EPSG','5941',0);
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','5974','ETRS89 / UTM zone 34N + NN2000 height',NULL,'EPSG','25834','EPSG','5941',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','4376','compound_crs','EPSG','5974','EPSG','4068','EPSG','1153');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','5975','ETRS89-NOR [EUREF89] / UTM zone 35N + NN2000:2018 height',NULL,'EPSG','11025','EPSG','5941',0);
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','5975','ETRS89 / UTM zone 35N + NN2000 height',NULL,'EPSG','25835','EPSG','5941',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','4377','compound_crs','EPSG','5975','EPSG','4069','EPSG','1153');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','5976','ETRS89-NOR [EUREF89] / UTM zone 36N + NN2000:2018 height',NULL,'EPSG','11026','EPSG','5941',0);
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','5976','ETRS89 / UTM zone 36N + NN2000 height',NULL,'EPSG','25836','EPSG','5941',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','4378','compound_crs','EPSG','5976','EPSG','3676','EPSG','1153');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','6144','ETRS89 + NN54 height',NULL,'EPSG','4258','EPSG','5776',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','4464','compound_crs','EPSG','6144','EPSG','1352','EPSG','1027');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','6145','ETRS89-NOR [EUREF89] / NTM zone 5 + NN54 height',NULL,'EPSG','5105','EPSG','5776',0);
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','6145','ETRS89 / NTM zone 5 + NN54 height',NULL,'EPSG','5105','EPSG','5776',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','4465','compound_crs','EPSG','6145','EPSG','3636','EPSG','1029');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','6146','ETRS89-NOR [EUREF89] / NTM zone 6 + NN54 height',NULL,'EPSG','5106','EPSG','5776',0);
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','6146','ETRS89 / NTM zone 6 + NN54 height',NULL,'EPSG','5106','EPSG','5776',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','4466','compound_crs','EPSG','6146','EPSG','3639','EPSG','1029');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','6147','ETRS89-NOR [EUREF89] / NTM zone 7 + NN54 height',NULL,'EPSG','5107','EPSG','5776',0);
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','6147','ETRS89 / NTM zone 7 + NN54 height',NULL,'EPSG','5107','EPSG','5776',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','4467','compound_crs','EPSG','6147','EPSG','3647','EPSG','1029');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','6148','ETRS89-NOR [EUREF89] / NTM zone 8 + NN54 height',NULL,'EPSG','5108','EPSG','5776',0);
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','6148','ETRS89 / NTM zone 8 + NN54 height',NULL,'EPSG','5108','EPSG','5776',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','4468','compound_crs','EPSG','6148','EPSG','3648','EPSG','1029');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','6149','ETRS89-NOR [EUREF89] / NTM zone 9 + NN54 height',NULL,'EPSG','5109','EPSG','5776',0);
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','6149','ETRS89 / NTM zone 9 + NN54 height',NULL,'EPSG','5109','EPSG','5776',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','4469','compound_crs','EPSG','6149','EPSG','3649','EPSG','1029');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','6150','ETRS89-NOR [EUREF89] / NTM zone 10 + NN54 height',NULL,'EPSG','5110','EPSG','5776',0);
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','6150','ETRS89 / NTM zone 10 + NN54 height',NULL,'EPSG','5110','EPSG','5776',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','4470','compound_crs','EPSG','6150','EPSG','3650','EPSG','1029');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','6151','ETRS89-NOR [EUREF89] / NTM zone 11 + NN54 height',NULL,'EPSG','5111','EPSG','5776',0);
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','6151','ETRS89 / NTM zone 11 + NN54 height',NULL,'EPSG','5111','EPSG','5776',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','4471','compound_crs','EPSG','6151','EPSG','3651','EPSG','1029');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','6152','ETRS89-NOR [EUREF89] / NTM zone 12 + NN54 height',NULL,'EPSG','5112','EPSG','5776',0);
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','6152','ETRS89 / NTM zone 12 + NN54 height',NULL,'EPSG','5112','EPSG','5776',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','4472','compound_crs','EPSG','6152','EPSG','3653','EPSG','1029');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','6153','ETRS89-NOR [EUREF89] / NTM zone 13 + NN54 height',NULL,'EPSG','5113','EPSG','5776',0);
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','6153','ETRS89 / NTM zone 13 + NN54 height',NULL,'EPSG','5113','EPSG','5776',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','4473','compound_crs','EPSG','6153','EPSG','3654','EPSG','1029');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','6154','ETRS89-NOR [EUREF89] / NTM zone 14 + NN54 height',NULL,'EPSG','5114','EPSG','5776',0);
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','6154','ETRS89 / NTM zone 14 + NN54 height',NULL,'EPSG','5114','EPSG','5776',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','4474','compound_crs','EPSG','6154','EPSG','3655','EPSG','1029');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','6155','ETRS89-NOR [EUREF89] / NTM zone 15 + NN54 height',NULL,'EPSG','5115','EPSG','5776',0);
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','6155','ETRS89 / NTM zone 15 + NN54 height',NULL,'EPSG','5115','EPSG','5776',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','4475','compound_crs','EPSG','6155','EPSG','3656','EPSG','1029');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','6156','ETRS89-NOR [EUREF89] / NTM zone 16 + NN54 height',NULL,'EPSG','5116','EPSG','5776',0);
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','6156','ETRS89 / NTM zone 16 + NN54 height',NULL,'EPSG','5116','EPSG','5776',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','4476','compound_crs','EPSG','6156','EPSG','3657','EPSG','1029');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','6157','ETRS89-NOR [EUREF89] / NTM zone 17 + NN54 height',NULL,'EPSG','5117','EPSG','5776',0);
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','6157','ETRS89 / NTM zone 17 + NN54 height',NULL,'EPSG','5117','EPSG','5776',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','4477','compound_crs','EPSG','6157','EPSG','3658','EPSG','1029');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','6158','ETRS89-NOR [EUREF89] / NTM zone 18 + NN54 height',NULL,'EPSG','5118','EPSG','5776',0);
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','6158','ETRS89 / NTM zone 18 + NN54 height',NULL,'EPSG','5118','EPSG','5776',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','4478','compound_crs','EPSG','6158','EPSG','3660','EPSG','1029');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','6159','ETRS89-NOR [EUREF89] / NTM zone 19 + NN54 height',NULL,'EPSG','5119','EPSG','5776',0);
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','6159','ETRS89 / NTM zone 19 + NN54 height',NULL,'EPSG','5119','EPSG','5776',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','4479','compound_crs','EPSG','6159','EPSG','3661','EPSG','1029');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','6160','ETRS89-NOR [EUREF89] / NTM zone 20 + NN54 height',NULL,'EPSG','5120','EPSG','5776',0);
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','6160','ETRS89 / NTM zone 20 + NN54 height',NULL,'EPSG','5120','EPSG','5776',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','4480','compound_crs','EPSG','6160','EPSG','3662','EPSG','1029');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','6161','ETRS89-NOR [EUREF89] / NTM zone 21 + NN54 height',NULL,'EPSG','5121','EPSG','5776',0);
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','6161','ETRS89 / NTM zone 21 + NN54 height',NULL,'EPSG','5121','EPSG','5776',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','4481','compound_crs','EPSG','6161','EPSG','3663','EPSG','1029');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','6162','ETRS89-NOR [EUREF89] / NTM zone 22 + NN54 height',NULL,'EPSG','5122','EPSG','5776',0);
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','6162','ETRS89 / NTM zone 22 + NN54 height',NULL,'EPSG','5122','EPSG','5776',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','4482','compound_crs','EPSG','6162','EPSG','3665','EPSG','1029');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','6163','ETRS89-NOR [EUREF89] / NTM zone 23 + NN54 height',NULL,'EPSG','5123','EPSG','5776',0);
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','6163','ETRS89 / NTM zone 23 + NN54 height',NULL,'EPSG','5123','EPSG','5776',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','4483','compound_crs','EPSG','6163','EPSG','3667','EPSG','1029');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','6164','ETRS89-NOR [EUREF89] / NTM zone 24 + NN54 height',NULL,'EPSG','5124','EPSG','5776',0);
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','6164','ETRS89 / NTM zone 24 + NN54 height',NULL,'EPSG','5124','EPSG','5776',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','4484','compound_crs','EPSG','6164','EPSG','3668','EPSG','1029');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','6165','ETRS89-NOR [EUREF89] / NTM zone 25 + NN54 height',NULL,'EPSG','5125','EPSG','5776',0);
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','6165','ETRS89 / NTM zone 25 + NN54 height',NULL,'EPSG','5125','EPSG','5776',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','4485','compound_crs','EPSG','6165','EPSG','3669','EPSG','1029');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','6166','ETRS89-NOR [EUREF89] / NTM zone 26 + NN54 height',NULL,'EPSG','5126','EPSG','5776',0);
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','6166','ETRS89 / NTM zone 26 + NN54 height',NULL,'EPSG','5126','EPSG','5776',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','4486','compound_crs','EPSG','6166','EPSG','3671','EPSG','1029');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','6167','ETRS89-NOR [EUREF89] / NTM zone 27 + NN54 height',NULL,'EPSG','5127','EPSG','5776',0);
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','6167','ETRS89 / NTM zone 27 + NN54 height',NULL,'EPSG','5127','EPSG','5776',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','4487','compound_crs','EPSG','6167','EPSG','3672','EPSG','1029');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','6168','ETRS89-NOR [EUREF89] / NTM zone 28 + NN54 height',NULL,'EPSG','5128','EPSG','5776',0);
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','6168','ETRS89 / NTM zone 28 + NN54 height',NULL,'EPSG','5128','EPSG','5776',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','4488','compound_crs','EPSG','6168','EPSG','3673','EPSG','1029');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','6169','ETRS89-NOR [EUREF89] / NTM zone 29 + NN54 height',NULL,'EPSG','5129','EPSG','5776',0);
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','6169','ETRS89 / NTM zone 29 + NN54 height',NULL,'EPSG','5129','EPSG','5776',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','4489','compound_crs','EPSG','6169','EPSG','3674','EPSG','1029');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','6170','ETRS89-NOR [EUREF89] / NTM zone 30 + NN54 height',NULL,'EPSG','5130','EPSG','5776',0);
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','6170','ETRS89 / NTM zone 30 + NN54 height',NULL,'EPSG','5130','EPSG','5776',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','4490','compound_crs','EPSG','6170','EPSG','3676','EPSG','1029');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','6171','ETRS89-NOR [EUREF89] / UTM zone 31N + NN54 height',NULL,'EPSG','11021','EPSG','5776',0);
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','6171','ETRS89 / UTM zone 31N + NN54 height',NULL,'EPSG','25831','EPSG','5776',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','4491','compound_crs','EPSG','6171','EPSG','3636','EPSG','1153');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','6172','ETRS89-NOR [EUREF89] / UTM zone 32N + NN54 height',NULL,'EPSG','11022','EPSG','5776',0);
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','6172','ETRS89 / UTM zone 32N + NN54 height',NULL,'EPSG','25832','EPSG','5776',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','4492','compound_crs','EPSG','6172','EPSG','4066','EPSG','1153');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','6173','ETRS89-NOR [EUREF89] / UTM zone 33N + NN54 height',NULL,'EPSG','11023','EPSG','5776',0);
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','6173','ETRS89 / UTM zone 33N + NN54 height',NULL,'EPSG','25833','EPSG','5776',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','4493','compound_crs','EPSG','6173','EPSG','4067','EPSG','1153');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','6174','ETRS89-NOR [EUREF89] / UTM zone 34N + NN54 height',NULL,'EPSG','11024','EPSG','5776',0);
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','6174','ETRS89 / UTM zone 34N + NN54 height',NULL,'EPSG','25834','EPSG','5776',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','4494','compound_crs','EPSG','6174','EPSG','4068','EPSG','1153');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','6175','ETRS89-NOR [EUREF89] / UTM zone 35N + NN54 height',NULL,'EPSG','11025','EPSG','5776',0);
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','6175','ETRS89 / UTM zone 35N + NN54 height',NULL,'EPSG','25835','EPSG','5776',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','4495','compound_crs','EPSG','6175','EPSG','4069','EPSG','1153');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','6176','ETRS89-NOR [EUREF89] / UTM zone 36N + NN54 height',NULL,'EPSG','11026','EPSG','5776',0);
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','6176','ETRS89 / UTM zone 36N + NN54 height',NULL,'EPSG','25836','EPSG','5776',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','4496','compound_crs','EPSG','6176','EPSG','3676','EPSG','1153');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','6190','BD72 / Belgian Lambert 72 + Ostend height',NULL,'EPSG','31370','EPSG','5710',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','4507','compound_crs','EPSG','6190','EPSG','1347','EPSG','1142');
|
||||
@@ -246,19 +246,19 @@ INSERT INTO "compound_crs" VALUES('EPSG','6665','NAD83(CSRS) / UTM zone 22N + CG
|
||||
INSERT INTO "usage" VALUES('EPSG','4884','compound_crs','EPSG','6665','EPSG','2152','EPSG','1142');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','6696','JGD2000 + JGD2000 (vertical) height',NULL,'EPSG','4612','EPSG','6694',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','4915','compound_crs','EPSG','6696','EPSG','3263','EPSG','1142');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','6697','JGD2024 + JGD2011 (vertical) height',NULL,'EPSG','6668','EPSG','6695',0);
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','6697','JGD2011 + JGD2011 (vertical) height',NULL,'EPSG','6668','EPSG','6695',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','4916','compound_crs','EPSG','6697','EPSG','3263','EPSG','1142');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','6700','Tokyo + JSLD72 height',NULL,'EPSG','4301','EPSG','6693',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','4917','compound_crs','EPSG','6700','EPSG','4168','EPSG','1142');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','6871','WGS 84 / Pseudo-Mercator + EGM2008 geoid height',NULL,'EPSG','3857','EPSG','3855',1);
|
||||
INSERT INTO "usage" VALUES('EPSG','5023','compound_crs','EPSG','6871','EPSG','1262','EPSG','1229');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','6893','WGS 84 / World Mercator + EGM2008 height',NULL,'EPSG','3395','EPSG','3855',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','5036','compound_crs','EPSG','6893','EPSG','3391','EPSG','1229');
|
||||
INSERT INTO "usage" VALUES('EPSG','5036','compound_crs','EPSG','6893','EPSG','1262','EPSG','1229');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','6917','SVY21 + SHD height',NULL,'EPSG','4757','EPSG','6916',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','5040','compound_crs','EPSG','6917','EPSG','1210','EPSG','1144');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','6927','SVY21 / Singapore TM + SHD height',NULL,'EPSG','3414','EPSG','6916',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','5045','compound_crs','EPSG','6927','EPSG','1210','EPSG','1144');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','7400','NTF (Paris) + NGF-IGN69 height',NULL,'EPSG','4807','EPSG','5720',0);
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','7400','NTF (Paris) + NGF IGN69 height',NULL,'EPSG','4807','EPSG','5720',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','5265','compound_crs','EPSG','7400','EPSG','1326','EPSG','1142');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','7401','NTF (Paris) / France II + NGF Lallemand',NULL,'EPSG','27582','EPSG','5719',1);
|
||||
INSERT INTO "usage" VALUES('EPSG','5266','compound_crs','EPSG','7401','EPSG','1326','EPSG','1142');
|
||||
@@ -288,8 +288,8 @@ INSERT INTO "compound_crs" VALUES('EPSG','7413','NTF (Paris) / Lambert zone III
|
||||
INSERT INTO "usage" VALUES('EPSG','5278','compound_crs','EPSG','7413','EPSG','1733','EPSG','1142');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','7414','Tokyo + JSLD69 height',NULL,'EPSG','4301','EPSG','5723',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','5279','compound_crs','EPSG','7414','EPSG','4166','EPSG','1142');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','7415','RD + NAP height',NULL,'EPSG','28992','EPSG','5709',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','5280','compound_crs','EPSG','7415','EPSG','1172','EPSG','1056');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','7415','Amersfoort / RD New + NAP height',NULL,'EPSG','28992','EPSG','5709',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','5280','compound_crs','EPSG','7415','EPSG','1275','EPSG','1142');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','7416','ETRS89 / UTM zone 32N + DVR90 height',NULL,'EPSG','25832','EPSG','5799',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','5281','compound_crs','EPSG','7416','EPSG','3471','EPSG','1142');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','7417','ETRS89 / UTM zone 33N + DVR90 height',NULL,'EPSG','25833','EPSG','5799',0);
|
||||
@@ -318,7 +318,7 @@ INSERT INTO "compound_crs" VALUES('EPSG','8350','GR96 + GVR2016 height',NULL,'EP
|
||||
INSERT INTO "usage" VALUES('EPSG','5799','compound_crs','EPSG','8350','EPSG','4454','EPSG','1153');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','8360','ETRS89 + Baltic 1957 height',NULL,'EPSG','4258','EPSG','8357',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','5805','compound_crs','EPSG','8360','EPSG','1306','EPSG','1203');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','8370','ETRS89-BEL [BEREF2002] / Belgian Lambert 2008 + Ostend height',NULL,'EPSG','3812','EPSG','5710',0);
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','8370','ETRS89 / Belgian Lambert 2008 + Ostend height',NULL,'EPSG','3812','EPSG','5710',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','5806','compound_crs','EPSG','8370','EPSG','1347','EPSG','1142');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','8700','NAD83 / Arizona East (ft) + NAVD88 height (ft)',NULL,'EPSG','2222','EPSG','8228',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','5879','compound_crs','EPSG','8700','EPSG','2167','EPSG','1142');
|
||||
@@ -345,9 +345,9 @@ INSERT INTO "usage" VALUES('EPSG','5889','compound_crs','EPSG','8710','EPSG','22
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','8711','NAD83 / South Carolina (ft) + NAVD88 height (ft)',NULL,'EPSG','2273','EPSG','8228',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','5890','compound_crs','EPSG','8711','EPSG','1409','EPSG','1142');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','8712','NAD83 / Arkansas North (ftUS) + NAVD88 height (ftUS)',NULL,'EPSG','3433','EPSG','6360',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','5891','compound_crs','EPSG','8712','EPSG','4861','EPSG','1142');
|
||||
INSERT INTO "usage" VALUES('EPSG','5891','compound_crs','EPSG','8712','EPSG','2169','EPSG','1142');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','8713','NAD83 / Arkansas South (ftUS) + NAVD88 height (ftUS)',NULL,'EPSG','3434','EPSG','6360',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','5892','compound_crs','EPSG','8713','EPSG','4862','EPSG','1142');
|
||||
INSERT INTO "usage" VALUES('EPSG','5892','compound_crs','EPSG','8713','EPSG','2170','EPSG','1142');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','8714','NAD83 / California zone 1 (ftUS) + NAVD88 height (ftUS)',NULL,'EPSG','2225','EPSG','6360',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','5893','compound_crs','EPSG','8714','EPSG','2175','EPSG','1142');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','8715','NAD83 / California zone 2 (ftUS) + NAVD88 height (ftUS)',NULL,'EPSG','2226','EPSG','6360',0);
|
||||
@@ -552,14 +552,14 @@ INSERT INTO "compound_crs" VALUES('EPSG','8814','NAD83 / Missouri Central + NAVD
|
||||
INSERT INTO "usage" VALUES('EPSG','5993','compound_crs','EPSG','8814','EPSG','2218','EPSG','1142');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','8815','NAD83 / Missouri West + NAVD88 height',NULL,'EPSG','26998','EPSG','5703',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','5994','compound_crs','EPSG','8815','EPSG','2220','EPSG','1142');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','8912','CR-SIRGAS epoch 2014.59 / CRTM05 + DACR52 height',NULL,'EPSG','8908','EPSG','8911',0);
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','8912','CR-SIRGAS / CRTM05 + DACR52 height',NULL,'EPSG','8908','EPSG','8911',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','6028','compound_crs','EPSG','8912','EPSG','3232','EPSG','1142');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','9286','ETRS89 + NAP height',NULL,'EPSG','4258','EPSG','5709',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','14121','compound_crs','EPSG','9286','EPSG','1172','EPSG','1026');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','9289','ETRS89 + LAT-NLD depth',NULL,'EPSG','4258','EPSG','9287',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','14124','compound_crs','EPSG','9289','EPSG','4859','EPSG','1198');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','9290','ETRS89 + MSL-NLD depth',NULL,'EPSG','4258','EPSG','9288',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','14125','compound_crs','EPSG','9290','EPSG','4859','EPSG','1265');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','9289','ETRS89 + LAT NL depth',NULL,'EPSG','4258','EPSG','9287',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','14124','compound_crs','EPSG','9289','EPSG','4742','EPSG','1198');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','9290','ETRS89 + MSL NL depth',NULL,'EPSG','4258','EPSG','9288',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','14125','compound_crs','EPSG','9290','EPSG','4742','EPSG','1265');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','9306','HS2 Survey Grid + HS2-VRF height',NULL,'EPSG','9300','EPSG','9303',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','14050','compound_crs','EPSG','9306','EPSG','4582','EPSG','1260');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','9368','TPEN11 Grid + ODN height',NULL,'EPSG','9367','EPSG','5701',0);
|
||||
@@ -617,7 +617,7 @@ INSERT INTO "usage" VALUES('EPSG','14273','compound_crs','EPSG','9506','EPSG','4
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','9507','ETRS89 + Ibiza height',NULL,'EPSG','4258','EPSG','9394',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','14276','compound_crs','EPSG','9507','EPSG','4604','EPSG','1026');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','9508','ETRS89 + Mallorca height',NULL,'EPSG','4258','EPSG','9392',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','14440','compound_crs','EPSG','9508','EPSG','4602','EPSG','1026');
|
||||
INSERT INTO "usage" VALUES('EPSG','14440','compound_crs','EPSG','9508','EPSG','4602','EPSG','1270');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','9509','ETRS89 + Menorca height',NULL,'EPSG','4258','EPSG','9393',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','14283','compound_crs','EPSG','9509','EPSG','4603','EPSG','1026');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','9510','REGCAN95 + El Hierro height',NULL,'EPSG','4081','EPSG','9401',0);
|
||||
@@ -651,7 +651,7 @@ INSERT INTO "usage" VALUES('EPSG','14356','compound_crs','EPSG','9523','EPSG','3
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','9524','NAD83(MA11) + GUVD04 height',NULL,'EPSG','6325','EPSG','6644',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','14364','compound_crs','EPSG','9524','EPSG','3255','EPSG','1026');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','9525','NAD83(MA11) + NMVD03 height',NULL,'EPSG','6325','EPSG','6640',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','14367','compound_crs','EPSG','9525','EPSG','4171','EPSG','1026');
|
||||
INSERT INTO "usage" VALUES('EPSG','14367','compound_crs','EPSG','9525','EPSG','4521','EPSG','1026');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','9526','NAD83(PA11) + ASVD02 height',NULL,'EPSG','6322','EPSG','6643',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','14462','compound_crs','EPSG','9526','EPSG','2288','EPSG','1026');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','9527','NZGD2000 + NZVD2009 height',NULL,'EPSG','4167','EPSG','4440',0);
|
||||
@@ -676,9 +676,9 @@ INSERT INTO "compound_crs" VALUES('EPSG','9536','RGAF09 + IGN 2008 LD height',NU
|
||||
INSERT INTO "usage" VALUES('EPSG','14484','compound_crs','EPSG','9536','EPSG','2893','EPSG','1026');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','9537','RGAF09 + Martinique 1987 height',NULL,'EPSG','5489','EPSG','5756',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','14486','compound_crs','EPSG','9537','EPSG','3276','EPSG','1026');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','9538','ETRS89-FRA [RGF93 v2] + NGF-IGN69 height',NULL,'EPSG','9777','EPSG','5720',0);
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','9538','RGF93 v2 + NGF-IGN69 height',NULL,'EPSG','9777','EPSG','5720',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','14489','compound_crs','EPSG','9538','EPSG','1326','EPSG','1026');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','9539','ETRS89-FRA [RGF93 v2] + NGF-IGN78 height',NULL,'EPSG','9777','EPSG','5721',0);
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','9539','RGF93 v2 + NGF-IGN78 height',NULL,'EPSG','9777','EPSG','5721',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','14490','compound_crs','EPSG','9539','EPSG','1327','EPSG','1026');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','9540','RGNC91-93 + NGNC08 height',NULL,'EPSG','4749','EPSG','9351',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','14495','compound_crs','EPSG','9540','EPSG','3430','EPSG','1026');
|
||||
@@ -690,9 +690,9 @@ INSERT INTO "compound_crs" VALUES('EPSG','9543','ITRF2005 + SA LLD height',NULL,
|
||||
INSERT INTO "usage" VALUES('EPSG','14522','compound_crs','EPSG','9543','EPSG','3309','EPSG','1026');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','9544','NAD83(CSRS)v6 + CGVD2013a(2010) height',NULL,'EPSG','8252','EPSG','9245',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','14525','compound_crs','EPSG','9544','EPSG','1061','EPSG','1026');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','9656','ETRS89-POL [PL-ETRF2000] + Baltic 1986 height',NULL,'EPSG','9702','EPSG','9650',0);
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','9656','ETRF2000-PL + Baltic 1986 height',NULL,'EPSG','9702','EPSG','9650',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','15108','compound_crs','EPSG','9656','EPSG','3293','EPSG','1270');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','9657','ETRS89-POL [PL-ETRF2000] + PL-EVRF2007 height',NULL,'EPSG','9702','EPSG','9651',0);
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','9657','ETRF2000-PL + EVRF2007-PL height',NULL,'EPSG','9702','EPSG','9651',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','15109','compound_crs','EPSG','9657','EPSG','3293','EPSG','1270');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','9705','WGS 84 + MSL height',NULL,'EPSG','4326','EPSG','5714',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','15089','compound_crs','EPSG','9705','EPSG','1262','EPSG','1026');
|
||||
@@ -716,7 +716,7 @@ INSERT INTO "compound_crs" VALUES('EPSG','9762','ECML14_NB Grid + ODN height',NU
|
||||
INSERT INTO "usage" VALUES('EPSG','16499','compound_crs','EPSG','9762','EPSG','4621','EPSG','1141');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','9767','EWR2 Grid + ODN height',NULL,'EPSG','9766','EPSG','5701',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','16510','compound_crs','EPSG','9767','EPSG','4622','EPSG','1141');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','9785','ETRS89-FRA [RGF93 v2b] + NGF-IGN69 height',NULL,'EPSG','9782','EPSG','5720',0);
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','9785','RGF93 v2b + NGF-IGN69 height',NULL,'EPSG','9782','EPSG','5720',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','16594','compound_crs','EPSG','9785','EPSG','1326','EPSG','1026');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','9870','MRH21 Grid + ODN height',NULL,'EPSG','9869','EPSG','5701',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','16942','compound_crs','EPSG','9870','EPSG','4652','EPSG','1141');
|
||||
@@ -732,7 +732,7 @@ INSERT INTO "compound_crs" VALUES('EPSG','9920','OSGB36 / British National Grid
|
||||
INSERT INTO "usage" VALUES('EPSG','17332','compound_crs','EPSG','9920','EPSG','4390','EPSG','1026');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','9922','ETRS89 / ITM + BI height',NULL,'EPSG','2157','EPSG','9451',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','17338','compound_crs','EPSG','9922','EPSG','1305','EPSG','1026');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','9924','ETRS89 + DHHN2016 height',NULL,'EPSG','4258','EPSG','7837',0);
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','9924','ETRS89 + DHHN2016 height',NULL,'EPSG','4258','EPSG','7837',1);
|
||||
INSERT INTO "usage" VALUES('EPSG','17168','compound_crs','EPSG','9924','EPSG','3339','EPSG','1026');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','9928','DB_REF2003 zone 2',NULL,'EPSG','5682','EPSG','9923',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','17297','compound_crs','EPSG','9928','EPSG','1624','EPSG','1141');
|
||||
@@ -774,31 +774,31 @@ INSERT INTO "compound_crs" VALUES('EPSG','10156','ETRS89 + MSL UK & Ireland VORF
|
||||
INSERT INTO "usage" VALUES('EPSG','18592','compound_crs','EPSG','10156','EPSG','4668','EPSG','1198');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','10157','ETRS89 + CD UK & Ireland VORF08 depth',NULL,'EPSG','4258','EPSG','10151',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','18586','compound_crs','EPSG','10157','EPSG','4668','EPSG','1198');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','10162','JGD2024 / Japan Plane Rectangular CS I + JGD2011 (vertical) height',NULL,'EPSG','6669','EPSG','6695',0);
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','10162','JGD2011 / Japan Plane Rectangular CS I + JGD2011 (vertical) height',NULL,'EPSG','6669','EPSG','6695',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','18594','compound_crs','EPSG','10162','EPSG','4670','EPSG','1092');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','10163','JGD2024 / Japan Plane Rectangular CS II + JGD2011 (vertical) height',NULL,'EPSG','6670','EPSG','6695',0);
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','10163','JGD2011 / Japan Plane Rectangular CS II + JGD2011 (vertical) height',NULL,'EPSG','6670','EPSG','6695',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','18595','compound_crs','EPSG','10163','EPSG','4671','EPSG','1092');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','10164','JGD2024 / Japan Plane Rectangular CS III + JGD2011 (vertical) height',NULL,'EPSG','6671','EPSG','6695',0);
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','10164','JGD2011 / Japan Plane Rectangular CS III + JGD2011 (vertical) height',NULL,'EPSG','6671','EPSG','6695',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','18596','compound_crs','EPSG','10164','EPSG','4672','EPSG','1092');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','10165','JGD2024 / Japan Plane Rectangular CS IV + JGD2011 (vertical) height',NULL,'EPSG','6672','EPSG','6695',0);
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','10165','JGD2011 / Japan Plane Rectangular CS IV + JGD2011 (vertical) height',NULL,'EPSG','6672','EPSG','6695',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','18597','compound_crs','EPSG','10165','EPSG','1857','EPSG','1092');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','10166','JGD2024 / Japan Plane Rectangular CS V + JGD2011 (vertical) height',NULL,'EPSG','6673','EPSG','6695',0);
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','10166','JGD2011 / Japan Plane Rectangular CS V + JGD2011 (vertical) height',NULL,'EPSG','6673','EPSG','6695',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','18598','compound_crs','EPSG','10166','EPSG','1858','EPSG','1092');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','10167','JGD2024 / Japan Plane Rectangular CS VI + JGD2011 (vertical) height',NULL,'EPSG','6674','EPSG','6695',0);
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','10167','JGD2011 / Japan Plane Rectangular CS VI + JGD2011 (vertical) height',NULL,'EPSG','6674','EPSG','6695',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','18600','compound_crs','EPSG','10167','EPSG','1859','EPSG','1092');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','10168','JGD2024 / Japan Plane Rectangular CS VII + JGD2011 (vertical) height',NULL,'EPSG','6675','EPSG','6695',0);
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','10168','JGD2011 / Japan Plane Rectangular CS VII + JGD2011 (vertical) height',NULL,'EPSG','6675','EPSG','6695',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','18607','compound_crs','EPSG','10168','EPSG','1860','EPSG','1092');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','10169','JGD2024 / Japan Plane Rectangular CS VIII + JGD2011 (vertical) height',NULL,'EPSG','6676','EPSG','6695',0);
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','10169','JGD2011 / Japan Plane Rectangular CS VIII + JGD2011 (vertical) height',NULL,'EPSG','6676','EPSG','6695',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','18601','compound_crs','EPSG','10169','EPSG','4673','EPSG','1092');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','10170','JGD2024 / Japan Plane Rectangular CS IX + JGD2011 (vertical) height',NULL,'EPSG','6677','EPSG','6695',0);
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','10170','JGD2011 / Japan Plane Rectangular CS IX + JGD2011 (vertical) height',NULL,'EPSG','6677','EPSG','6695',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','18602','compound_crs','EPSG','10170','EPSG','4674','EPSG','1092');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','10171','JGD2024 / Japan Plane Rectangular CS X + JGD2011 (vertical) height',NULL,'EPSG','6678','EPSG','6695',0);
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','10171','JGD2011 / Japan Plane Rectangular CS X + JGD2011 (vertical) height',NULL,'EPSG','6678','EPSG','6695',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','18603','compound_crs','EPSG','10171','EPSG','1863','EPSG','1092');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','10172','JGD2024 / Japan Plane Rectangular CS XI + JGD2011 (vertical) height',NULL,'EPSG','6679','EPSG','6695',0);
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','10172','JGD2011 / Japan Plane Rectangular CS XI + JGD2011 (vertical) height',NULL,'EPSG','6679','EPSG','6695',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','18604','compound_crs','EPSG','10172','EPSG','4675','EPSG','1092');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','10173','JGD2024 / Japan Plane Rectangular CS XII + JGD2011 (vertical) height',NULL,'EPSG','6680','EPSG','6695',0);
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','10173','JGD2011 / Japan Plane Rectangular CS XII + JGD2011 (vertical) height',NULL,'EPSG','6680','EPSG','6695',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','18605','compound_crs','EPSG','10173','EPSG','4676','EPSG','1092');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','10174','JGD2024 / Japan Plane Rectangular CS XIII + JGD2011 (vertical) height',NULL,'EPSG','6681','EPSG','6695',0);
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','10174','JGD2011 / Japan Plane Rectangular CS XIII + JGD2011 (vertical) height',NULL,'EPSG','6681','EPSG','6695',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','18606','compound_crs','EPSG','10174','EPSG','1866','EPSG','1092');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','10184','DoPw22 Grid + ODN height',NULL,'EPSG','10183','EPSG','5701',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','18669','compound_crs','EPSG','10184','EPSG','4686','EPSG','1141');
|
||||
@@ -822,15 +822,15 @@ INSERT INTO "compound_crs" VALUES('EPSG','10236','OxWo08 Grid + ODN height',NULL
|
||||
INSERT INTO "usage" VALUES('EPSG','18755','compound_crs','EPSG','10236','EPSG','4680','EPSG','1141');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','10241','SYC20 Grid + ODN height',NULL,'EPSG','10240','EPSG','5701',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','18764','compound_crs','EPSG','10241','EPSG','4679','EPSG','1141');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','10245','ETRS89-SVN [D96] + SVS2010 height',NULL,'EPSG','4765','EPSG','8690',0);
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','10245','Slovenia 1996 + SVS2010 height',NULL,'EPSG','4765','EPSG','8690',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','18847','compound_crs','EPSG','10245','EPSG','3307','EPSG','1026');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','10246','ETRS89-SVN [D96] / Slovene National Grid + SVS2010 height',NULL,'EPSG','3794','EPSG','8690',0);
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','10246','Slovenia 1996 / Slovene National Grid + SVS2010 height',NULL,'EPSG','3794','EPSG','8690',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','18846','compound_crs','EPSG','10246','EPSG','3307','EPSG','1026');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','10276','SMITB20 Grid + ODN height',NULL,'EPSG','10275','EPSG','5701',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','19179','compound_crs','EPSG','10276','EPSG','4688','EPSG','1141');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','10281','RBEPP12 Grid + ODN height',NULL,'EPSG','10280','EPSG','5701',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','19185','compound_crs','EPSG','10281','EPSG','4689','EPSG','1141');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','10293','ETRS89-DEU [ETRS89/DREF91/2016] + DHHN2016 height',NULL,'EPSG','10284','EPSG','7837',0);
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','10293','ETRS89/DREF91/2016 + DHHN2016 height',NULL,'EPSG','10284','EPSG','7837',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','19275','compound_crs','EPSG','10293','EPSG','1103','EPSG','1026');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','10318','RGNC15 (lon-lat) + NGNC08 height',NULL,'EPSG','10312','EPSG','9351',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','19634','compound_crs','EPSG','10318','EPSG','3430','EPSG','1026');
|
||||
@@ -844,322 +844,8 @@ INSERT INTO "compound_crs" VALUES('EPSG','10365','KGD2002 + KVD1964 height',NULL
|
||||
INSERT INTO "usage" VALUES('EPSG','20149','compound_crs','EPSG','10365','EPSG','3266','EPSG','1026');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','10472','COV23 Grid + ODN height',NULL,'EPSG','10471','EPSG','5701',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','20315','compound_crs','EPSG','10472','EPSG','4743','EPSG','1141');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','10486','ETRS89 + DVR90(2002) height',NULL,'EPSG','4258','EPSG','10483',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','20411','compound_crs','EPSG','10486','EPSG','3237','EPSG','1270');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','10487','ETRS89 + DVR90(2013) height',NULL,'EPSG','4258','EPSG','10484',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','20415','compound_crs','EPSG','10487','EPSG','3237','EPSG','1270');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','10488','ETRS89 + DVR90(2023) height',NULL,'EPSG','4258','EPSG','10485',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','20414','compound_crs','EPSG','10488','EPSG','3237','EPSG','1270');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','10497','ETRS89-FRA [RGF93 v2] / Lambert-93 + NGF-IGN69 height',NULL,'EPSG','9793','EPSG','5720',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','20475','compound_crs','EPSG','10497','EPSG','1326','EPSG','1178');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','10498','ETRS89-FRA [RGF93 v2] / Lambert-93 + NGF-IGN78 height',NULL,'EPSG','9793','EPSG','5721',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','20473','compound_crs','EPSG','10498','EPSG','1327','EPSG','1178');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','10499','ETRS89-FRA [RGF93 v2b] / Lambert-93 + NGF-IGN69 height',NULL,'EPSG','9794','EPSG','5720',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','20472','compound_crs','EPSG','10499','EPSG','1326','EPSG','1178');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','10500','ETRS89-FRA [RGF93 v2b] / Lambert-93 + NGF-IGN78 height',NULL,'EPSG','9794','EPSG','5721',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','20476','compound_crs','EPSG','10500','EPSG','1327','EPSG','1178');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','10507','ETRS89-FRA [RGF93 v2b] + NGF-IGN78 height',NULL,'EPSG','9782','EPSG','5721',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','20491','compound_crs','EPSG','10507','EPSG','1327','EPSG','1026');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','10545','ETRS89 + Cascais height',NULL,'EPSG','4258','EPSG','5780',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','20908','compound_crs','EPSG','10545','EPSG','1294','EPSG','1026');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','10553','ETRS89 + DKMSL(2022) depth',NULL,'EPSG','4258','EPSG','10547',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','21026','compound_crs','EPSG','10553','EPSG','4756','EPSG','1272');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','10554','ETRS89 + DKLAT(2022) depth',NULL,'EPSG','4258','EPSG','10548',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','21027','compound_crs','EPSG','10554','EPSG','4756','EPSG','1272');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','10555','ETRS89 + DKMSL(2023) depth',NULL,'EPSG','4258','EPSG','10549',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','21028','compound_crs','EPSG','10555','EPSG','4756','EPSG','1272');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','10556','ETRS89 + DKLAT(2023) depth',NULL,'EPSG','4258','EPSG','10550',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','21029','compound_crs','EPSG','10556','EPSG','4756','EPSG','1272');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','10627','ECML14 Grid + ODN height',NULL,'EPSG','10626','EPSG','5701',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','21376','compound_crs','EPSG','10627','EPSG','4774','EPSG','1141');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','10633','RGAF09 / UTM zone 20N + Martinique 1987 height',NULL,'EPSG','5490','EPSG','5756',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','21399','compound_crs','EPSG','10633','EPSG','3276','EPSG','1178');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','10643','Saba + Saba height',NULL,'EPSG','10636','EPSG','10642',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','21757','compound_crs','EPSG','10643','EPSG','4757','EPSG','1270');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','10644','BES2020 Saba + Saba height',NULL,'EPSG','10639','EPSG','10642',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','21716','compound_crs','EPSG','10644','EPSG','4757','EPSG','1026');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','10645','Saba DPnet + Saba height',NULL,'EPSG','10641','EPSG','10642',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','21872','compound_crs','EPSG','10645','EPSG','4757','EPSG','1142');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','10651','GR96 + GLMSL(2023) depth',NULL,'EPSG','4747','EPSG','10649',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','21455','compound_crs','EPSG','10651','EPSG','4776','EPSG','1272');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','10652','GR96 + GLLAT(2023) depth',NULL,'EPSG','4747','EPSG','10650',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','21452','compound_crs','EPSG','10652','EPSG','4776','EPSG','1272');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','10659','ETRF2000 + EOMA 1980 height',NULL,'EPSG','9067','EPSG','5787',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','21613','compound_crs','EPSG','10659','EPSG','1119','EPSG','1181');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','10660','HD72 / EOV + EOMA 1980 height',NULL,'EPSG','23700','EPSG','5787',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','21616','compound_crs','EPSG','10660','EPSG','1119','EPSG','1056');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','10679','ETRS89 + BSCD2000 depth',NULL,'EPSG','4258','EPSG','10678',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','21815','compound_crs','EPSG','10679','EPSG','4779','EPSG','1291');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','10686','ETRS89-SVN [D96] + SVS2000 height',NULL,'EPSG','4765','EPSG','5779',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','21887','compound_crs','EPSG','10686','EPSG','3307','EPSG','1026');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','10687','ETRS89-SVN [D96] / Slovene National Grid + SVS2000 height',NULL,'EPSG','3794','EPSG','5779',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','21888','compound_crs','EPSG','10687','EPSG','3307','EPSG','1026');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','10691','ETRS89-FIN [EUREF-FIN] + N60 height',NULL,'EPSG','10690','EPSG','5717',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','21985','compound_crs','EPSG','10691','EPSG','3333','EPSG','1270');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','10692','ETRS89-FIN [EUREF-FIN] + N2000 height',NULL,'EPSG','10690','EPSG','3900',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','21986','compound_crs','EPSG','10692','EPSG','3333','EPSG','1270');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','10741','Sint Eustatius + Sint Eustatius height',NULL,'EPSG','10736','EPSG','10740',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','22289','compound_crs','EPSG','10741','EPSG','4788','EPSG','1270');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','10742','BES2020 Sint Eustatius + Sint Eustatius height',NULL,'EPSG','10739','EPSG','10740',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','22290','compound_crs','EPSG','10742','EPSG','4788','EPSG','1026');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','10746','Sint Eustatius DPnet short + Sint Eustatius height',NULL,'EPSG','10744','EPSG','10740',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','22310','compound_crs','EPSG','10746','EPSG','4788','EPSG','1142');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','10747','Sint Eustatius DPnet long + Sint Eustatius height',NULL,'EPSG','10745','EPSG','10740',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','22378','compound_crs','EPSG','10747','EPSG','4788','EPSG','1142');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','10764','Bonaire DPnet + Bonaire height',NULL,'EPSG','10759','EPSG','10763',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','22379','compound_crs','EPSG','10764','EPSG','3822','EPSG','1142');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','10765','Bonaire 2004 + Bonaire height',NULL,'EPSG','10762','EPSG','10763',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','22177','compound_crs','EPSG','10765','EPSG','3822','EPSG','1270');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','10774','ETRS89-FIN [EUREF-FIN] / TM35FIN(E,N) + N2000 height',NULL,'EPSG','3067','EPSG','3900',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','22245','compound_crs','EPSG','10774','EPSG','3333','EPSG','1142');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','10826','ETRS89-LVA [LKS-92] + Latvia 2000 height',NULL,'EPSG','4661','EPSG','7700',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','22632','compound_crs','EPSG','10826','EPSG','3268','EPSG','1270');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','10839','ETRS89-LVA [LKS-2020] + Latvia 2000 height',NULL,'EPSG','10305','EPSG','7700',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','22700','compound_crs','EPSG','10839','EPSG','3268','EPSG','1270');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','10852','EWR3 Grid + ODN height',NULL,'EPSG','10851','EPSG','5701',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','22762','compound_crs','EPSG','10852','EPSG','4799','EPSG','1141');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','10864','WSPG Grid + ODN height',NULL,'EPSG','10863','EPSG','5701',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','22839','compound_crs','EPSG','10864','EPSG','4801','EPSG','1293');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','10865','CGRS93 + Famagusta 1960 height',NULL,'EPSG','6311','EPSG','7446',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','22850','compound_crs','EPSG','10865','EPSG','3236','EPSG','1270');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','10904','Asse 2025 + Asse 2025 height',NULL,'EPSG','10898','EPSG','10900',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','23351','compound_crs','EPSG','10904','EPSG','4805','EPSG','1144');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','10906','Asse 2025 / Gauss-Kruger zone 4 (E-N) + Asse 2025 height',NULL,'EPSG','10899','EPSG','10900',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','23114','compound_crs','EPSG','10906','EPSG','4805','EPSG','1144');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','10920','CSRN2025 (NAD83 2011) + COH88 2025 (NAVD88) height',NULL,'EPSG','10910','EPSG','10918',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','23574','compound_crs','EPSG','10920','EPSG','1375','EPSG','1270');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','10997','ETRS89-GBR [OSNet v2009] + London Survey Grid height',NULL,'EPSG','11009','EPSG','10989',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','24857','compound_crs','EPSG','10997','EPSG','4822','EPSG','1270');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','11000','ETRS89-NOR [EUREF89] + SVD2024 height',NULL,'EPSG','10875','EPSG','10999',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','24134','compound_crs','EPSG','11000','EPSG','4831','EPSG','1270');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','11006','London Survey Grid 2025',NULL,'EPSG','10995','EPSG','10989',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','24862','compound_crs','EPSG','11006','EPSG','4822','EPSG','1297');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','11120','ETRS89-FRO [2008] + FVR09 height',NULL,'EPSG','11087','EPSG','5317',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','24403','compound_crs','EPSG','11120','EPSG','3248','EPSG','1270');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','11158','RGM23 + IGN 2023 Mayotte height',NULL,'EPSG','10671','EPSG','11157',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','24603','compound_crs','EPSG','11158','EPSG','3340','EPSG','1270');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','11169','ETRS89-FIN [EUREF-FIN] / GK19FIN + N2000 height',NULL,'EPSG','3873','EPSG','3900',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','24661','compound_crs','EPSG','11169','EPSG','3595','EPSG','1055');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','11170','ETRS89-FIN [EUREF-FIN] / GK20FIN + N2000 height',NULL,'EPSG','3874','EPSG','3900',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','24662','compound_crs','EPSG','11170','EPSG','3596','EPSG','1055');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','11171','ETRS89-FIN [EUREF-FIN] / GK21FIN + N2000 height',NULL,'EPSG','3128','EPSG','3900',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','24664','compound_crs','EPSG','11171','EPSG','3597','EPSG','1055');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','11172','ETRS89-FIN [EUREF-FIN] / GK22FIN + N2000 height',NULL,'EPSG','3876','EPSG','3900',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','24663','compound_crs','EPSG','11172','EPSG','3598','EPSG','1055');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','11173','ETRS89-FIN [EUREF-FIN] / GK23FIN + N2000 height',NULL,'EPSG','3130','EPSG','3900',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','24665','compound_crs','EPSG','11173','EPSG','3599','EPSG','1055');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','11174','ETRS89-FIN [EUREF-FIN] / GK24FIN + N2000 height',NULL,'EPSG','3878','EPSG','3900',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','24995','compound_crs','EPSG','11174','EPSG','3600','EPSG','1055');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','11175','ETRS89-FIN [EUREF-FIN] / GK25FIN + N2000 height',NULL,'EPSG','3879','EPSG','3900',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','24667','compound_crs','EPSG','11175','EPSG','3601','EPSG','1055');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','11176','ETRS89-FIN [EUREF-FIN] / GK26FIN + N2000 height',NULL,'EPSG','3880','EPSG','3900',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','24668','compound_crs','EPSG','11176','EPSG','3099','EPSG','1055');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','11177','ETRS89-FIN [EUREF-FIN] / GK27FIN + N2000 height',NULL,'EPSG','3881','EPSG','3900',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','24669','compound_crs','EPSG','11177','EPSG','3603','EPSG','1055');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','11178','ETRS89-FIN [EUREF-FIN] / GK28FIN + N2000 height',NULL,'EPSG','3882','EPSG','3900',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','24672','compound_crs','EPSG','11178','EPSG','3604','EPSG','1055');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','11179','ETRS89-FIN [EUREF-FIN] / GK29FIN + N2000 height',NULL,'EPSG','3883','EPSG','3900',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','24676','compound_crs','EPSG','11179','EPSG','3605','EPSG','1055');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','11180','ETRS89-FIN [EUREF-FIN] / GK30FIN + N2000 height',NULL,'EPSG','3884','EPSG','3900',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','24674','compound_crs','EPSG','11180','EPSG','3606','EPSG','1055');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','11181','ETRS89-FIN [EUREF-FIN] / GK31FIN + N2000 height',NULL,'EPSG','3885','EPSG','3900',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','24675','compound_crs','EPSG','11181','EPSG','3607','EPSG','1055');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','11274','SRGI2013 epoch 2021.0 + INAGeoid2020 v2 height',NULL,'EPSG','11033','EPSG','20036',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','24984','compound_crs','EPSG','11274','EPSG','1122','EPSG','1026');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','11311','ETRS89-CZE [2007] + Baltic 1957 height',NULL,'EPSG','11070','EPSG','8357',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','25104','compound_crs','EPSG','11311','EPSG','1079','EPSG','1026');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','11312','ETRS89-SVK [SKTRF09] + Baltic 1957 height',NULL,'EPSG','11076','EPSG','8357',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','25093','compound_crs','EPSG','11312','EPSG','1211','EPSG','1203');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','11314','ETRS89-SVK [SKTRF09] + EVRF2007 height',NULL,'EPSG','11076','EPSG','5621',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','25103','compound_crs','EPSG','11314','EPSG','1211','EPSG','1161');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','11318','JGD2024 + JGD2024 (vertical) height',NULL,'EPSG','6668','EPSG','11317',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','25579','compound_crs','EPSG','11318','EPSG','1129','EPSG','1142');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','11319','JGD2024 / Japan Plane Rectangular CS I + JGD2024 (vertical) height',NULL,'EPSG','6669','EPSG','11317',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','25737','compound_crs','EPSG','11319','EPSG','1854','EPSG','1092');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','11320','JGD2024 / Japan Plane Rectangular CS II + JGD2024 (vertical) height',NULL,'EPSG','6670','EPSG','11317',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','25738','compound_crs','EPSG','11320','EPSG','1855','EPSG','1092');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','11321','JGD2024 / Japan Plane Rectangular CS III + JGD2024 (vertical) height',NULL,'EPSG','6671','EPSG','11317',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','25739','compound_crs','EPSG','11321','EPSG','1856','EPSG','1092');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','11322','JGD2024 / Japan Plane Rectangular CS IV + JGD2024 (vertical) height',NULL,'EPSG','6672','EPSG','11317',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','25582','compound_crs','EPSG','11322','EPSG','1857','EPSG','1092');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','11323','JGD2024 / Japan Plane Rectangular CS V + JGD2024 (vertical) height',NULL,'EPSG','6673','EPSG','11317',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','25586','compound_crs','EPSG','11323','EPSG','1858','EPSG','1092');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','11324','JGD2024 / Japan Plane Rectangular CS VI + JGD2024 (vertical) height',NULL,'EPSG','6674','EPSG','11317',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','25587','compound_crs','EPSG','11324','EPSG','1859','EPSG','1092');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','11325','JGD2024 / Japan Plane Rectangular CS VII + JGD2024 (vertical) height',NULL,'EPSG','6675','EPSG','11317',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','25588','compound_crs','EPSG','11325','EPSG','1860','EPSG','1092');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','11326','JGD2024 / Japan Plane Rectangular CS VIII + JGD2024 (vertical) height',NULL,'EPSG','6676','EPSG','11317',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','25740','compound_crs','EPSG','11326','EPSG','1861','EPSG','1092');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','11327','JGD2024 / Japan Plane Rectangular CS IX + JGD2024 (vertical) height',NULL,'EPSG','6677','EPSG','11317',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','25741','compound_crs','EPSG','11327','EPSG','1862','EPSG','1092');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','11328','JGD2024 / Japan Plane Rectangular CS X + JGD2024 (vertical) height',NULL,'EPSG','6678','EPSG','11317',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','25591','compound_crs','EPSG','11328','EPSG','1863','EPSG','1092');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','11329','JGD2024 / Japan Plane Rectangular CS XI + JGD2024 (vertical) height',NULL,'EPSG','6679','EPSG','11317',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','25742','compound_crs','EPSG','11329','EPSG','1864','EPSG','1092');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','11330','JGD2024 / Japan Plane Rectangular CS XII + JGD2024 (vertical) height',NULL,'EPSG','6680','EPSG','11317',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','25743','compound_crs','EPSG','11330','EPSG','1865','EPSG','1092');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','11333','JGD2024 / Japan Plane Rectangular CS XIII + JGD2024 (vertical) height',NULL,'EPSG','6681','EPSG','11317',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','25594','compound_crs','EPSG','11333','EPSG','1866','EPSG','1092');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','11336','JGD2024 / Japan Plane Rectangular CS XIV + JGD2024 (vertical) height',NULL,'EPSG','6682','EPSG','11317',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','25676','compound_crs','EPSG','11336','EPSG','1867','EPSG','1092');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','11383','DrukRef23 + Bhutan Vertical Datum 2022 height',NULL,'EPSG','11226','EPSG','11338',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','25561','compound_crs','EPSG','11383','EPSG','1048','EPSG','1270');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','11385','Mexico ITRF2008 + NAVD88 height',NULL,'EPSG','6365','EPSG','5703',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','25372','compound_crs','EPSG','11385','EPSG','3278','EPSG','1270');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','11399','ETRS89-NOR [EUREF89] + NN2000:2025 height',NULL,'EPSG','10875','EPSG','11394',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','25499','compound_crs','EPSG','11399','EPSG','1352','EPSG','1027');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','11400','ETRS89-NOR [EUREF89] / UTM zone 31N + NN2000:2025 height',NULL,'EPSG','11021','EPSG','11394',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','25505','compound_crs','EPSG','11400','EPSG','3636','EPSG','1153');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','11403','ETRS89-NOR [EUREF89] / UTM zone 32N + NN2000:2025 height',NULL,'EPSG','11022','EPSG','11394',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','25506','compound_crs','EPSG','11403','EPSG','4066','EPSG','1153');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','11404','ETRS89-NOR [EUREF89] / UTM zone 33N + NN2000:2025 height',NULL,'EPSG','11023','EPSG','11394',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','25511','compound_crs','EPSG','11404','EPSG','4067','EPSG','1153');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','11405','ETRS89-NOR [EUREF89] / UTM zone 34N + NN2000:2025 height',NULL,'EPSG','11024','EPSG','11394',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','25512','compound_crs','EPSG','11405','EPSG','4068','EPSG','1153');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','11406','ETRS89-NOR [EUREF89] / UTM zone 35N + NN2000:2025 height',NULL,'EPSG','11025','EPSG','11394',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','25513','compound_crs','EPSG','11406','EPSG','4069','EPSG','1153');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','11407','ETRS89-NOR [EUREF89] / UTM zone 36N + NN2000:2025 height',NULL,'EPSG','11026','EPSG','11394',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','25514','compound_crs','EPSG','11407','EPSG','3676','EPSG','1153');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','11408','ETRS89-NOR [EUREF89] / NTM zone 8 + NN2000:2025 height',NULL,'EPSG','5108','EPSG','11394',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','25524','compound_crs','EPSG','11408','EPSG','3648','EPSG','1029');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','11409','ETRS89-NOR [EUREF89] / NTM zone 9 + NN2000:2025 height',NULL,'EPSG','5109','EPSG','11394',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','25525','compound_crs','EPSG','11409','EPSG','3649','EPSG','1029');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','11410','ETRS89-NOR [EUREF89] / NTM zone 10 + NN2000:2025 height',NULL,'EPSG','5110','EPSG','11394',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','25526','compound_crs','EPSG','11410','EPSG','3650','EPSG','1029');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','11411','ETRS89-NOR [EUREF89] / NTM zone 11 + NN2000:2025 height',NULL,'EPSG','5111','EPSG','11394',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','25527','compound_crs','EPSG','11411','EPSG','3651','EPSG','1029');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','11412','ETRS89-NOR [EUREF89] / NTM zone 12 + NN2000:2025 height',NULL,'EPSG','5112','EPSG','11394',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','25528','compound_crs','EPSG','11412','EPSG','3653','EPSG','1029');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','11413','ETRS89-NOR [EUREF89] / NTM zone 13 + NN2000:2025 height',NULL,'EPSG','5113','EPSG','11394',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','25529','compound_crs','EPSG','11413','EPSG','3654','EPSG','1029');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','11414','ETRS89-NOR [EUREF89] / NTM zone 14 + NN2000:2025 height',NULL,'EPSG','5114','EPSG','11394',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','25548','compound_crs','EPSG','11414','EPSG','3655','EPSG','1029');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','11415','ETRS89-NOR [EUREF89] / NTM zone 15 + NN2000:2025 height',NULL,'EPSG','5115','EPSG','11394',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','25531','compound_crs','EPSG','11415','EPSG','3656','EPSG','1029');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','11416','ETRS89-NOR [EUREF89] / NTM zone 16 + NN2000:2025 height',NULL,'EPSG','5116','EPSG','11394',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','25532','compound_crs','EPSG','11416','EPSG','3657','EPSG','1029');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','11417','ETRS89-NOR [EUREF89] / NTM zone 17 + NN2000:2025 height',NULL,'EPSG','5117','EPSG','11394',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','25533','compound_crs','EPSG','11417','EPSG','3658','EPSG','1029');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','11418','ETRS89-NOR [EUREF89] / NTM zone 18 + NN2000:2025 height',NULL,'EPSG','5118','EPSG','11394',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','25534','compound_crs','EPSG','11418','EPSG','3660','EPSG','1029');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','11419','ETRS89-NOR [EUREF89] / NTM zone 19 + NN2000:2025 height',NULL,'EPSG','5119','EPSG','11394',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','25535','compound_crs','EPSG','11419','EPSG','3661','EPSG','1029');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','11420','ETRS89-NOR [EUREF89] / NTM zone 20 + NN2000:2025 height',NULL,'EPSG','5120','EPSG','11394',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','25536','compound_crs','EPSG','11420','EPSG','3662','EPSG','1029');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','11421','ETRS89-NOR [EUREF89] / NTM zone 21 + NN2000:2025 height',NULL,'EPSG','5121','EPSG','11394',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','25538','compound_crs','EPSG','11421','EPSG','3663','EPSG','1029');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','11422','ETRS89-NOR [EUREF89] / NTM zone 22 + NN2000:2025 height',NULL,'EPSG','5122','EPSG','11394',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','25539','compound_crs','EPSG','11422','EPSG','3665','EPSG','1029');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','11423','ETRS89-NOR [EUREF89] / NTM zone 23 + NN2000:2025 height',NULL,'EPSG','5123','EPSG','11394',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','25540','compound_crs','EPSG','11423','EPSG','3667','EPSG','1029');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','11424','ETRS89-NOR [EUREF89] / NTM zone 24 + NN2000:2025 height',NULL,'EPSG','5124','EPSG','11394',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','25541','compound_crs','EPSG','11424','EPSG','3668','EPSG','1029');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','11425','ETRS89-NOR [EUREF89] / NTM zone 25 + NN2000:2025 height',NULL,'EPSG','5125','EPSG','11394',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','25542','compound_crs','EPSG','11425','EPSG','3669','EPSG','1029');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','11426','ETRS89-NOR [EUREF89] / NTM zone 26 + NN2000:2025 height',NULL,'EPSG','5126','EPSG','11394',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','25543','compound_crs','EPSG','11426','EPSG','3671','EPSG','1029');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','11427','ETRS89-NOR [EUREF89] / NTM zone 27 + NN2000:2025 height',NULL,'EPSG','5127','EPSG','11394',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','25544','compound_crs','EPSG','11427','EPSG','3672','EPSG','1029');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','11428','ETRS89-NOR [EUREF89] / NTM zone 28 + NN2000:2025 height',NULL,'EPSG','5128','EPSG','11394',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','25545','compound_crs','EPSG','11428','EPSG','3673','EPSG','1029');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','11429','ETRS89-NOR [EUREF89] / NTM zone 29 + NN2000:2025 height',NULL,'EPSG','5129','EPSG','11394',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','25546','compound_crs','EPSG','11429','EPSG','3674','EPSG','1029');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','11430','ETRS89-NOR [EUREF89] / NTM zone 30 + NN2000:2025 height',NULL,'EPSG','5130','EPSG','11394',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','25547','compound_crs','EPSG','11430','EPSG','3676','EPSG','1029');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','11434','JGD2024 / Japan Plane Rectangular CS XV + JGD2024 (vertical) height',NULL,'EPSG','6683','EPSG','11317',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','25677','compound_crs','EPSG','11434','EPSG','1868','EPSG','1092');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','11435','ETRS89-NOR [EUREF89] / NTM zone 5 + NN2000:2025 height',NULL,'EPSG','5105','EPSG','11394',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','25550','compound_crs','EPSG','11435','EPSG','3636','EPSG','1029');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','11436','ETRS89-NOR [EUREF89] / NTM zone 6 + NN2000:2025 height',NULL,'EPSG','5106','EPSG','11394',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','25551','compound_crs','EPSG','11436','EPSG','3639','EPSG','1029');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','11437','ETRS89-NOR [EUREF89] / NTM zone 7 + NN2000:2025 height',NULL,'EPSG','5107','EPSG','11394',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','25552','compound_crs','EPSG','11437','EPSG','3647','EPSG','1029');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','11442','JGD2024 / Japan Plane Rectangular CS XVI + JGD2024 (vertical) height',NULL,'EPSG','6684','EPSG','11317',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','25678','compound_crs','EPSG','11442','EPSG','1869','EPSG','1092');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','11443','JGD2024 / Japan Plane Rectangular CS XVII + JGD2024 (vertical) height',NULL,'EPSG','6685','EPSG','11317',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','25679','compound_crs','EPSG','11443','EPSG','1870','EPSG','1092');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','11444','JGD2024 / Japan Plane Rectangular CS XVIII + JGD2024 (vertical) height',NULL,'EPSG','6686','EPSG','11317',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','25680','compound_crs','EPSG','11444','EPSG','1871','EPSG','1092');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','11445','JGD2024 / Japan Plane Rectangular CS XIX + JGD2024 (vertical) height',NULL,'EPSG','6687','EPSG','11317',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','25682','compound_crs','EPSG','11445','EPSG','1872','EPSG','1092');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','11447','RGWF96 + NGFA 2022 height',NULL,'EPSG','8900','EPSG','11446',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','25698','compound_crs','EPSG','11447','EPSG','4855','EPSG','1026');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','11452','GR96 + GLLAT(2025) depth',NULL,'EPSG','4747','EPSG','11450',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','25756','compound_crs','EPSG','11452','EPSG','4776','EPSG','1272');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','11453','GR96 + GLMSL(2025) depth',NULL,'EPSG','4747','EPSG','11451',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','25757','compound_crs','EPSG','11453','EPSG','4776','EPSG','1272');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','11460','NZGD2000 / New Zealand Transverse Mercator 2000 + NZVD2016 height',NULL,'EPSG','2193','EPSG','7839',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','25773','compound_crs','EPSG','11460','EPSG','3973','EPSG','1026');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','11465','Dart+26 Grid + Malin Head height',NULL,'EPSG','11464','EPSG','5731',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','26016','compound_crs','EPSG','11465','EPSG','4858','EPSG','1141');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','11470','SZCTW Grid + ODN height',NULL,'EPSG','11469','EPSG','5701',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','26034','compound_crs','EPSG','11470','EPSG','4863','EPSG','1144');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','11484','ETRS89-NLD [AGRS2010] + NAP height',NULL,'EPSG','11037','EPSG','5709',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','26361','compound_crs','EPSG','11484','EPSG','1172','EPSG','1026');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','11499','ETRS89-GBR [OSNet v2009] + Douglas height',NULL,'EPSG','11009','EPSG','5750',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','26674','compound_crs','EPSG','11499','EPSG','2803','EPSG','1026');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','11500','ETRS89-AUT [2002] + EVRF2000 Austria height',NULL,'EPSG','11057','EPSG','9274',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','26469','compound_crs','EPSG','11500','EPSG','1037','EPSG','1026');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','11511','ETRS89-GBR [OSNet v2009] + Lerwick height',NULL,'EPSG','11009','EPSG','5742',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','26689','compound_crs','EPSG','11511','EPSG','2795','EPSG','1026');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','11512','ETRS89-BEL [BEREF2011] + Ostend height',NULL,'EPSG','11215','EPSG','5710',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','26499','compound_crs','EPSG','11512','EPSG','1347','EPSG','1026');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','11533','ETRS89-HUN [ETRF2000] + EOMA 1980 height',NULL,'EPSG','11163','EPSG','5787',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','26974','compound_crs','EPSG','11533','EPSG','1119','EPSG','1181');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','11558','ETRS89-NOR [EUREF89] + NN2000:2018 height',NULL,'EPSG','10875','EPSG','5941',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','26583','compound_crs','EPSG','11558','EPSG','1352','EPSG','1027');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','11560','ETRS89-NOR [EUREF89] + NN54 height',NULL,'EPSG','10875','EPSG','5776',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','26863','compound_crs','EPSG','11560','EPSG','1352','EPSG','1027');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','11563','ETRS89-NOR [EUREF89] + SVD2006 height',NULL,'EPSG','10875','EPSG','20000',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','26599','compound_crs','EPSG','11563','EPSG','4860','EPSG','1026');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','11565','ETRS89-NOR [EUREF89] + CD Norway depth',NULL,'EPSG','10875','EPSG','9672',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','26602','compound_crs','EPSG','11565','EPSG','4656','EPSG','1198');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','11579','ETRS89-PRT [1995] + Cascais height',NULL,'EPSG','11108','EPSG','5780',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','26626','compound_crs','EPSG','11579','EPSG','1294','EPSG','1026');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','11584','ETRS89-ESP [REGENTE] + Alboran height',NULL,'EPSG','11134','EPSG','10353',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','26632','compound_crs','EPSG','11584','EPSG','4741','EPSG','1026');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','11585','ETRS89-ESP [REGENTE] + Alicante height',NULL,'EPSG','11134','EPSG','5782',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','26633','compound_crs','EPSG','11585','EPSG','4188','EPSG','1026');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','11586','ETRS89-ESP [REGENTE] + Ceuta 2 height',NULL,'EPSG','11134','EPSG','9402',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','26634','compound_crs','EPSG','11586','EPSG','4590','EPSG','1026');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','11587','ETRS89-ESP [REGENTE] + Formentera height',NULL,'EPSG','11134','EPSG','10352',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','26635','compound_crs','EPSG','11587','EPSG','4739','EPSG','1026');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','11588','ETRS89-ESP [REGENTE] + Ibiza height',NULL,'EPSG','11134','EPSG','9394',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','26636','compound_crs','EPSG','11588','EPSG','4604','EPSG','1026');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','11589','ETRS89-ESP [REGENTE] + Mallorca height',NULL,'EPSG','11134','EPSG','9392',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','26740','compound_crs','EPSG','11589','EPSG','4602','EPSG','1026');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','11590','ETRS89-ESP [REGENTE] + Melilla height',NULL,'EPSG','11134','EPSG','10354',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','26638','compound_crs','EPSG','11590','EPSG','4740','EPSG','1026');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','11591','ETRS89-ESP [REGENTE] + Menorca height',NULL,'EPSG','11134','EPSG','9393',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','26639','compound_crs','EPSG','11591','EPSG','4603','EPSG','1026');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','11819','ETRS89-GBR [OSNet v2009] + ODN height',NULL,'EPSG','11009','EPSG','5701',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','26690','compound_crs','EPSG','11819','EPSG','2792','EPSG','1026');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','11820','ETRS89-GBR [OSNet v2009] + ODN Orkney height',NULL,'EPSG','11009','EPSG','5740',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','26691','compound_crs','EPSG','11820','EPSG','2793','EPSG','1026');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','11821','ETRS89-GBR [OSNet v2009] + St. Marys height',NULL,'EPSG','11009','EPSG','5749',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','26692','compound_crs','EPSG','11821','EPSG','2802','EPSG','1026');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','11822','ETRS89-GBR [OSNet v2009] + Stornoway height',NULL,'EPSG','11009','EPSG','5746',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','26693','compound_crs','EPSG','11822','EPSG','2799','EPSG','1026');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','11895','MAGNA-SIRGAS 2018 + COLGVD2023 height',NULL,'EPSG','20046','EPSG','11513',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','26871','compound_crs','EPSG','11895','EPSG','3229','EPSG','1026');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','12209','RGM23 / UTM zone 38S + IGN 2023 Mayotte height',NULL,'EPSG','10674','EPSG','11157',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','26939','compound_crs','EPSG','12209','EPSG','3340','EPSG','1178');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','12215','ETRS89-NLD [AGRS2010] + LAT-NLD depth',NULL,'EPSG','11037','EPSG','9287',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','27152','compound_crs','EPSG','12215','EPSG','4859','EPSG','1198');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','12216','ETRS89-NLD [AGRS2010] + MSL-NLD depth',NULL,'EPSG','11037','EPSG','9288',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','27151','compound_crs','EPSG','12216','EPSG','4859','EPSG','1265');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','12229','ETRS89-IRE [ETRF2000] + Malin Head height',NULL,'EPSG','4173','EPSG','5731',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','27135','compound_crs','EPSG','12229','EPSG','1305','EPSG','1026');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','12230','ETRS89-IRE [ETRF2000] + Belfast height',NULL,'EPSG','4173','EPSG','5732',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','27133','compound_crs','EPSG','12230','EPSG','2530','EPSG','1026');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','12245','ETRS89-ITA [RDN2008] + Genoa 1942 height',NULL,'EPSG','6706','EPSG','5214',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','27140','compound_crs','EPSG','12245','EPSG','3736','EPSG','1270');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','12248','ETRS89-ITA [RDN2008] + Cagliari 1956 height',NULL,'EPSG','6706','EPSG','9722',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','27143','compound_crs','EPSG','12248','EPSG','2339','EPSG','1270');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','12293','ETRS89-BEL [BEREF2011] / Belgian Lambert 2008 + Ostend height',NULL,'EPSG','11219','EPSG','5710',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','27423','compound_crs','EPSG','12293','EPSG','1347','EPSG','1142');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','20001','ETRS89 + SVD2006 height',NULL,'EPSG','4258','EPSG','20000',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','17956','compound_crs','EPSG','20001','EPSG','4860','EPSG','1026');
|
||||
INSERT INTO "usage" VALUES('EPSG','17956','compound_crs','EPSG','20001','EPSG','4058','EPSG','1026');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','20003','MWC18 Grid + ODN height',NULL,'EPSG','20002','EPSG','5701',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','18337','compound_crs','EPSG','20003','EPSG','4666','EPSG','1141');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','20037','NAD83(CSRS)v4 + CGVD2013a(2002) height',NULL,'EPSG','8246','EPSG','20034',0);
|
||||
|
||||
@@ -7,7 +7,7 @@ INSERT INTO "usage" VALUES('EPSG','9014','concatenated_operation','EPSG','3966',
|
||||
INSERT INTO "concatenated_operation" VALUES('EPSG','4435','Puerto Rico to NAD83(HARN) (1)','Accuracy 0.1m at 67% confidence level. May be taken as approximate transformation Puerto Rico to WGS 84 - see code 8583.','EPSG','4139','EPSG','4152',0.08,'NGS-PRVI',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','9074','concatenated_operation','EPSG','4435','EPSG','3634','EPSG','1031');
|
||||
INSERT INTO "concatenated_operation" VALUES('EPSG','4837','Amersfoort to ED50 (1)','Adopted by NAM in 2006, replacing polynomial tfms 1046, 6304, 1050 and 6306.','EPSG','4289','EPSG','4230',1.5,'NAM-Nld 2006',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','9130','concatenated_operation','EPSG','4837','EPSG','1172','EPSG','1136');
|
||||
INSERT INTO "usage" VALUES('EPSG','9130','concatenated_operation','EPSG','4837','EPSG','1275','EPSG','1136');
|
||||
INSERT INTO "concatenated_operation" VALUES('EPSG','5190','Tokyo 1892 to KGD2002 (1)','','EPSG','5132','EPSG','4737',1.0,'OGP-Kor',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','9275','concatenated_operation','EPSG','5190','EPSG','3266','EPSG','1050');
|
||||
INSERT INTO "concatenated_operation" VALUES('EPSG','5192','Tokyo 1892 to WGS 84 (1)','','EPSG','5132','EPSG','4326',1.0,'OGP-Kor',0);
|
||||
@@ -20,13 +20,13 @@ INSERT INTO "concatenated_operation" VALUES('EPSG','5242','S-JTSK (Ferro) to WGS
|
||||
INSERT INTO "usage" VALUES('EPSG','9314','concatenated_operation','EPSG','5242','EPSG','1079','EPSG','1252');
|
||||
INSERT INTO "concatenated_operation" VALUES('EPSG','5838','Lisbon (Lisbon) to WGS 84 (2)','','EPSG','4803','EPSG','4326',2.0,'OGP-Prt 2009',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','9511','concatenated_operation','EPSG','5838','EPSG','1294','EPSG','1042');
|
||||
INSERT INTO "concatenated_operation" VALUES('EPSG','6714','Tokyo to JGD2024 (1)','See Tokyo to JGD2024 (2) (code 6740) for areas other than northern Honshu. On adoption of JGD2024 (vertical) with effect from 1st April 2025, the name of the target CRS was changed from JGD2011 to JGD2024; there is no change of definition or of coordinate values.','EPSG','4301','EPSG','6668',0.3,'OGP-Jpn N Honshu',0);
|
||||
INSERT INTO "concatenated_operation" VALUES('EPSG','6714','Tokyo to JGD2011 (1)','See Tokyo to JGD2011 (2) (code 6740) for areas other than northern Honshu.','EPSG','4301','EPSG','6668',0.3,'OGP-Jpn N Honshu',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','9742','concatenated_operation','EPSG','6714','EPSG','4170','EPSG','1142');
|
||||
INSERT INTO "concatenated_operation" VALUES('EPSG','6739','NAD27 to NAD83(HARN) (22)','May be taken as approximate transformation NAD27 to WGS 84 - see code 8622.','EPSG','4267','EPSG','4152',0.2,'NGS-Usa SD',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','9755','concatenated_operation','EPSG','6739','EPSG','1410','EPSG','1032');
|
||||
INSERT INTO "concatenated_operation" VALUES('EPSG','6874','Tananarive (Paris) to WGS 84 (2)','Used by OMV.','EPSG','4810','EPSG','4326',3.0,'OGP-Mdg',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','9803','concatenated_operation','EPSG','6874','EPSG','3273','EPSG','1043');
|
||||
INSERT INTO "concatenated_operation" VALUES('EPSG','7811','NTF (Paris) to ETRS89-FRA [RGF93 v1] (2)','Second step is an emulation (using the NTv2 method) of the geocentric interpolation method described in CT code 9337. Note that the grid file parameters are of opposite sign.','EPSG','4807','EPSG','4171',1.0,'IOGP-Fra NTv2',0);
|
||||
INSERT INTO "concatenated_operation" VALUES('EPSG','7811','NTF (Paris) to RGF93 v1 (2)','Second step is an emulation (using the NTv2 method) of the geocentric interpolation method described in CT code 9337. Note that the grid file parameters are of opposite sign.','EPSG','4807','EPSG','4171',1.0,'IOGP-Fra NTv2',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','10276','concatenated_operation','EPSG','7811','EPSG','3694','EPSG','1041');
|
||||
INSERT INTO "concatenated_operation" VALUES('EPSG','7965','Poolbeg height (ft(Br36)) to Malin Head height (1)','','EPSG','5754','EPSG','5731',0.1,'EPSG-Ire',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','10349','concatenated_operation','EPSG','7965','EPSG','1305','EPSG','1059');
|
||||
@@ -95,7 +95,7 @@ INSERT INTO "concatenated_operation" VALUES('EPSG','8245','NAD27 to WGS 84 (26)'
|
||||
INSERT INTO "usage" VALUES('EPSG','10450','concatenated_operation','EPSG','8245','EPSG','1061','EPSG','1252');
|
||||
INSERT INTO "concatenated_operation" VALUES('EPSG','8263','MGI (Ferro) to WGS 84 (1)','Accuracy estimate is not available.','EPSG','4805','EPSG','4326',NULL,'DMA-balk',1);
|
||||
INSERT INTO "usage" VALUES('EPSG','10458','concatenated_operation','EPSG','8263','EPSG','2370','EPSG','1160');
|
||||
INSERT INTO "concatenated_operation" VALUES('EPSG','8363','ETRS89 + Baltic 1957 height to ETRS89 + EVRF2007 height (1)','Recommended method for transforming coordinates between Baltic 1957 height and EVRF2007 height and vice-versa in Slovakia. Compound transformation using two separate quasigeoid models (DVRM05 and DMQSK2014E).','EPSG','8360','EPSG','7423',0.05,'UGKK-Svk',1);
|
||||
INSERT INTO "concatenated_operation" VALUES('EPSG','8363','ETRS89 + Baltic 1957 height to ETRS89 + EVRF2007 height (1)','Recommended method for transforming coordinates between Baltic 1957 height and EVRF2007 height and vice-versa in Slovakia. Compound transformation using two separate quasigeoid models (DVRM05 and DMQSK2014E).','EPSG','8360','EPSG','7423',0.05,'UGKK-Svk',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','10510','concatenated_operation','EPSG','8363','EPSG','1211','EPSG','1059');
|
||||
INSERT INTO "concatenated_operation" VALUES('EPSG','8386','Old Hawaiian to WGS 84 (1)','Approximation at the +/- 1m level assuming that NAD83 is equivalent to WGS 84.','EPSG','4135','EPSG','4326',NULL,'EPSG-Usa Hi',1);
|
||||
INSERT INTO "usage" VALUES('EPSG','10523','concatenated_operation','EPSG','8386','EPSG','1334','EPSG','1252');
|
||||
@@ -371,9 +371,9 @@ INSERT INTO "concatenated_operation" VALUES('EPSG','8631','Garoua to WGS 84 (1)'
|
||||
INSERT INTO "usage" VALUES('EPSG','10723','concatenated_operation','EPSG','8631','EPSG','2590','EPSG','1136');
|
||||
INSERT INTO "concatenated_operation" VALUES('EPSG','8632','Kousseri to WGS 84 (1)','','EPSG','4198','EPSG','4326',6.0,'EPSG-Cmr',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','10724','concatenated_operation','EPSG','8632','EPSG','2591','EPSG','1136');
|
||||
INSERT INTO "concatenated_operation" VALUES('EPSG','8633','Yoff to WGS 84 (1)','Derived via WGS72. Can be used as a single position vector transformation with parameter values of dX = -37 m, dY = +157 m, dZ = +89.5 m, rX = rY = 0 sec, rZ = 0.554 sec, dS = 0.219 ppm','EPSG','4310','EPSG','4326',26.0,'EPSG-SEN',0);
|
||||
INSERT INTO "concatenated_operation" VALUES('EPSG','8633','Yoff to WGS 84 (1)','Derived via WGS72. Can be used as a single positon vector transformation with parameter vaues of dX = -37 m, dY = +157 m, dZ = +89.5 m, rX = rY = 0 sec, rZ = 0.554 sec, dS = 0.219 ppm','EPSG','4310','EPSG','4326',26.0,'EPSG-SEN',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','10725','concatenated_operation','EPSG','8633','EPSG','1207','EPSG','1160');
|
||||
INSERT INTO "concatenated_operation" VALUES('EPSG','8634','Beduaram to WGS 84 (1)','Derived via WGS72BE. Can be used as a single position vector transformation with parameter values of dX = -101 m, dY = -111 m, dZ = +188.9 m, rX = rY = 0 sec, rZ = 0.814 sec, dS = -0.38 ppm','EPSG','4213','EPSG','4326',16.0,'ELF-Ner SE',0);
|
||||
INSERT INTO "concatenated_operation" VALUES('EPSG','8634','Beduaram to WGS 84 (1)','Derived via WGS72BE. Can be used as a single positon vector transformation with parameter vaues of dX = -101 m, dY = -111 m, dZ = +188.9 m, rX = rY = 0 sec, rZ = 0.814 sec, dS = -0.38 ppm','EPSG','4213','EPSG','4326',16.0,'ELF-Ner SE',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','10726','concatenated_operation','EPSG','8634','EPSG','2771','EPSG','1136');
|
||||
INSERT INTO "concatenated_operation" VALUES('EPSG','8635','NAD27 to NAD83(CSRS) (3)','Can be taken as an approximate transformation NAD27 to WGS 84 - see code 8585.','EPSG','4267','EPSG','4617',2.5,'EPSG-Can AB',1);
|
||||
INSERT INTO "usage" VALUES('EPSG','10727','concatenated_operation','EPSG','8635','EPSG','2376','EPSG','1151');
|
||||
@@ -411,47 +411,23 @@ INSERT INTO "concatenated_operation" VALUES('EPSG','8651','Vientiane 1982 to WGS
|
||||
INSERT INTO "usage" VALUES('EPSG','10743','concatenated_operation','EPSG','8651','EPSG','1138','EPSG','1045');
|
||||
INSERT INTO "concatenated_operation" VALUES('EPSG','8652','Lao 1993 to WGS 84 (1)','Can be implemented as a geocentric translation tfm with param. values dX = 43.933m, dY = -129.593m, dZ= -39.331m.','EPSG','4677','EPSG','4326',6.0,'EPSG-Lao',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','10744','concatenated_operation','EPSG','8652','EPSG','1138','EPSG','1045');
|
||||
INSERT INTO "concatenated_operation" VALUES('EPSG','8655','Manoca 1962 to WGS 84 (2)','Derived via WGS 72BE. Can be implemented as a single position vector transformation with parameter values of dX = -56.7 m, dY = -171.8 m, dZ = -38.7 m, rX = rY = 0 sec, rZ = 0.814 sec, dS = -0.38 ppm.','EPSG','4193','EPSG','4326',6.0,'OGP-Cmr',0);
|
||||
INSERT INTO "concatenated_operation" VALUES('EPSG','8655','Manoca 1962 to WGS 84 (2)','Derived via WGS 72BE. Can be implemented as a single positon vector transformation with parameter vaues of dX = -56.7 m, dY = -171.8 m, dZ = -38.7 m, rX = rY = 0 sec, rZ = 0.814 sec, dS = -0.38 ppm.','EPSG','4193','EPSG','4326',6.0,'OGP-Cmr',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','10747','concatenated_operation','EPSG','8655','EPSG','2555','EPSG','1136');
|
||||
INSERT INTO "concatenated_operation" VALUES('EPSG','8656','Mhast (offshore) to WGS 84 (1)','Derived via WGS 72BE. Can be implemented as a single position vector transformation with parameter values of dX = -255.0 m, dY = -29.0 m, dZ = -103.1 m, rX = rY = 0 sec, rZ = 0.814 sec, dS = -0.38 ppm.','EPSG','4705','EPSG','4326',11.0,'OGP-Ago Cab',0);
|
||||
INSERT INTO "concatenated_operation" VALUES('EPSG','8656','Mhast (offshore) to WGS 84 (1)','Derived via WGS 72BE. Can be implemented as a single positon vector transformation with parameter vaues of dX = -255.0 m, dY = -29.0 m, dZ = -103.1 m, rX = rY = 0 sec, rZ = 0.814 sec, dS = -0.38 ppm.','EPSG','4705','EPSG','4326',11.0,'OGP-Ago Cab',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','10748','concatenated_operation','EPSG','8656','EPSG','3180','EPSG','1136');
|
||||
INSERT INTO "concatenated_operation" VALUES('EPSG','8657','Egypt Gulf of Suez S-650 TL to WGS 84 (1)','Can be implemented as a single position vector transformation with parameter values of dX = -123.0 m, dY = 98.0 m, dZ = 3.9 m, rX = rY = 0 sec, rZ = 0.814 sec, dS = -0.38 ppm. Replaced by Egypt Gulf of Suez S-650 TL to WGS 84 (2) (tfm code 15846).','EPSG','4706','EPSG','4326',6.0,'OGP-Egy GoS',0);
|
||||
INSERT INTO "concatenated_operation" VALUES('EPSG','8657','Egypt Gulf of Suez S-650 TL to WGS 84 (1)','Can be implemented as a single positon vector transformation with parameter vaues of dX = -123.0 m, dY = 98.0 m, dZ = 3.9 m, rX = rY = 0 sec, rZ = 0.814 sec, dS = -0.38 ppm. Replaced by Egypt Gulf of Suez S-650 TL to WGS 84 (2) (tfm code 15846).','EPSG','4706','EPSG','4326',6.0,'OGP-Egy GoS',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','10749','concatenated_operation','EPSG','8657','EPSG','2341','EPSG','1136');
|
||||
INSERT INTO "concatenated_operation" VALUES('EPSG','8659','Kertau (RSO) to WGS 84 (1)','Step 1 is necessary to rescale the grid units before using step 2.','EPSG','4751','EPSG','4326',15.0,'OGP-Mys',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','10751','concatenated_operation','EPSG','8659','EPSG','1309','EPSG','1164');
|
||||
INSERT INTO "concatenated_operation" VALUES('EPSG','9091','ITRF97 to NZGD2000 (1)','Step 1 is in geocentric coordinate domain, step 2 in geographic 3D coordinate domain. See CT 1565 for low accuracy applications.','EPSG','4918','EPSG','4959',0.03,'IOGP-Nzl 2000-01-01',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','10905','concatenated_operation','EPSG','9091','EPSG','3285','EPSG','1027');
|
||||
INSERT INTO "concatenated_operation" VALUES('EPSG','9092','ITRF2000 to NZGD2000 (1)','Step 1 is in geocentric coordinate domain, step 2 in geographic 3D coordinate domain. See CT 1565 for low accuracy applications.','EPSG','4919','EPSG','4959',0.03,'IOGP-Nzl 2000-01-01',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','10906','concatenated_operation','EPSG','9092','EPSG','3285','EPSG','1027');
|
||||
INSERT INTO "concatenated_operation" VALUES('EPSG','9093','ITRF2005 to NZGD2000 (1)','Step 1 is in geocentric coordinate domain, step 2 in geographic 3D coordinate domain. See CT 1565 for low accuracy applications.','EPSG','4896','EPSG','4959',0.03,'IOGP-Nzl 2000-01-01',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','10907','concatenated_operation','EPSG','9093','EPSG','3285','EPSG','1027');
|
||||
INSERT INTO "concatenated_operation" VALUES('EPSG','9094','ITRF2008 to NZGD2000 (1)','Step 1 is in geocentric coordinate domain, step 2 in geographic 3D coordinate domain. Replaced by concatenated operation ITRF2008 to NZGD2000 (2) (CT code 9095) which uses the 2013-08-01 model. See CT 1565 for low accuracy applications.','EPSG','5332','EPSG','4959',0.03,'IOGP-Nzl 2000-01-01',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','10908','concatenated_operation','EPSG','9094','EPSG','3285','EPSG','1027');
|
||||
INSERT INTO "concatenated_operation" VALUES('EPSG','9095','ITRF2008 to NZGD2000 (2)','Step 1 is in geocentric coordinate domain, step 2 in geographic 3D domain. Replaces concatenated op. ITRF2008 to NZGD2000 (1) (CT code 9094). Replaced by concatenated op. ITRF2008 to NZGD2000 (3) (CT code 9096). See CT 1565 for low accuracy applications.','EPSG','5332','EPSG','4959',0.03,'IOGP-Nzl 2013-08-01',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','10909','concatenated_operation','EPSG','9095','EPSG','3285','EPSG','1027');
|
||||
INSERT INTO "concatenated_operation" VALUES('EPSG','9096','ITRF2008 to NZGD2000 (3)','Step 1 is in geocentric coordinate domain, step 2 in geographic 3D domain. Replaces concatenated op. ITRF2008 to NZGD2000 (2) (CT code 9095). Replaced by concatenated op. ITRF2008 to NZGD2000 (4) (CT code 9097). See CT 1565 for low accuracy applications.','EPSG','5332','EPSG','4959',0.03,'IOGP-Nzl 2014-02-01',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','10910','concatenated_operation','EPSG','9096','EPSG','3285','EPSG','1027');
|
||||
INSERT INTO "concatenated_operation" VALUES('EPSG','9097','ITRF2008 to NZGD2000 (4)','Step 1 is in geocentric coordinate domain, step 2 in geographic 3D domain. Replaces concatenated op. ITRF2008 to NZGD2000 (3) (CT code 9096). Replaced by concatenated op. ITRF2008 to NZGD2000 (5) (CT code 9098). See CT 1565 for low accuracy applications.','EPSG','5332','EPSG','4959',0.03,'IOGP-Nzl 2015-01-01',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','10911','concatenated_operation','EPSG','9097','EPSG','3285','EPSG','1027');
|
||||
INSERT INTO "concatenated_operation" VALUES('EPSG','9098','ITRF2008 to NZGD2000 (5)','Step 1 is in geocentric coordinate domain, step 2 in geographic 3D domain. Replaces concatenated op. ITRF2008 to NZGD2000 (4) (CT code 9097). Replaced by concatenated op. ITRF2008 to NZGD2000 (6) (CT code 9099). See CT 1565 for low accuracy applications.','EPSG','5332','EPSG','4959',0.03,'IOGP-Nzl 2016-07-01',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','10912','concatenated_operation','EPSG','9098','EPSG','3285','EPSG','1027');
|
||||
INSERT INTO "concatenated_operation" VALUES('EPSG','9099','ITRF2008 to NZGD2000 (6)','Step 1 is in geocentric coordinate domain, step 2 in geographic 3D domain. Replaces concatenated op. ITRF2008 to NZGD2000 (5) (CT code 9098). See CT 1565 for low accuracy applications.','EPSG','5332','EPSG','4959',0.03,'IOGP-Nzl 2017-12-01',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','10913','concatenated_operation','EPSG','9099','EPSG','3285','EPSG','1027');
|
||||
INSERT INTO "concatenated_operation" VALUES('EPSG','9100','ITRF2014 to NZGD2000 (1)','Step 1 is in geocentric coordinate domain, step 2 in geographic 3D coordinate domain. Replaced by 2017-12-01 model (CT code 9101). See CT 1565 for low accuracy applications.','EPSG','7789','EPSG','4959',0.03,'IOGP-Nzl 2016-07-01',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','10914','concatenated_operation','EPSG','9100','EPSG','3285','EPSG','1027');
|
||||
INSERT INTO "concatenated_operation" VALUES('EPSG','9101','ITRF2014 to NZGD2000 (2)','Step 1 is in geocentric coordinate domain, step 2 in geographic 3D domain. Replaces concatenated op. ITRF2014 to NZGD2000 (1) (CT code 9100). Replaced by concatenated op. ITRF2014 to NZGD2000 (3) (CT code 9102). See CT 1565 for low accuracy applications.','EPSG','7789','EPSG','4959',0.03,'IOGP-Nzl 2017-12-01',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','10915','concatenated_operation','EPSG','9101','EPSG','3285','EPSG','1027');
|
||||
INSERT INTO "concatenated_operation" VALUES('EPSG','9102','ITRF2014 to NZGD2000 (3)','Step 1 is in geocentric coordinate domain, step 2 in geographic 3D domain. Replaces concatenated op. ITRF2014 to NZGD2000 (2) (CT code 9101). See CT 1565 for low accuracy applications.','EPSG','7789','EPSG','4959',0.03,'IOGP-Nzl 2018-07-01',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','10916','concatenated_operation','EPSG','9102','EPSG','3285','EPSG','1027');
|
||||
INSERT INTO "concatenated_operation" VALUES('EPSG','9103','NAD27 to ITRF2014 (1)','For use with legacy data - see CT code 9104 for alternative for new areas. Note that steps 1 and 2 are documented in the geog2D domain, steps 3 and 4 in the geocentric domain. Steps 3 and 4 may be implemented in one operation using CT code 8970.','EPSG','4267','EPSG','7789',1.5,'IOGP-Usa GoM legacy',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','10917','concatenated_operation','EPSG','9103','EPSG','3357','EPSG','1136');
|
||||
INSERT INTO "concatenated_operation" VALUES('EPSG','9104','NAD27 to ITRF2014 (2)','For use in new operations - see CT code 9103 for alternative for legacy data. Note that steps 1 to 5 are documented in the geog2D domain, steps 6 and 7 in the geocentric domain. Steps 6 and 7 may be implemented in one operation using CT code 8970.','EPSG','4267','EPSG','7789',0.2,'IOGP-Usa GoM non-legacy',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','10918','concatenated_operation','EPSG','9104','EPSG','3357','EPSG','1136');
|
||||
INSERT INTO "concatenated_operation" VALUES('EPSG','9336','NAD27 to NAD83(CSRS)v4 (3)','Can be taken as an approximate transformation NAD27 to WGS 84 - see code 8585.','EPSG','4267','EPSG','8246',2.5,'EPSG-Can AB',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','14011','concatenated_operation','EPSG','9336','EPSG','2376','EPSG','1151');
|
||||
INSERT INTO "concatenated_operation" VALUES('EPSG','9337','NTF (Paris) to ETRS89-FRA [RGF93 v1] (1)','See transformation code 7811 for an alternative which uses the NTv2 method as an emulation of the geocentric interpolation in the second step.','EPSG','4807','EPSG','4171',1.0,'IOGP-Fra',0);
|
||||
INSERT INTO "concatenated_operation" VALUES('EPSG','9337','NTF (Paris) to RGF93 v1 (1)','See transformation code 7811 for an alternative which uses the NTv2 method as an emulation of the geocentric interpolation in the second step.','EPSG','4807','EPSG','4171',1.0,'IOGP-Fra',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','14012','concatenated_operation','EPSG','9337','EPSG','3694','EPSG','1041');
|
||||
INSERT INTO "concatenated_operation" VALUES('EPSG','9499','ETRS89 to GHA height (2)','This concatenated operation gives the same result as the Hoehen-Grid plus offset from ETRS89 to GHA height. Hoehen-Grid plus is implemented in BEV-Transformator using MGI (CRS 4312) as the interpolation CRS for the grid.','EPSG','4937','EPSG','5778',0.07,'BEV-Aut',1);
|
||||
INSERT INTO "concatenated_operation" VALUES('EPSG','9499','ETRS89 to GHA height (2)','This concatenated operation gives the same result as the HoehenGrid-plus offset from ETRS89 to GHA height. HoehenGrid-plus is implemented in BEV-Transformator using MGI (CRS 4312) as the interpolation CRS for the grid','EPSG','4937','EPSG','5778',0.07,'BEV-Aut',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','14958','concatenated_operation','EPSG','9499','EPSG','1037','EPSG','1133');
|
||||
INSERT INTO "concatenated_operation" VALUES('EPSG','9683','ITRF2014 to GDA94 (2)','See ITRF2014 to GDA94 (1) (CT 9682) for conformal-only alternative (i.e. without distortion modelling).','EPSG','9000','EPSG','4283',0.06,'ICSM-Aus Conf+Dist',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','14962','concatenated_operation','EPSG','9683','EPSG','2575','EPSG','1234');
|
||||
@@ -461,9 +437,9 @@ INSERT INTO "concatenated_operation" VALUES('EPSG','9687','GDA94 to WGS 84 (G176
|
||||
INSERT INTO "usage" VALUES('EPSG','14964','concatenated_operation','EPSG','9687','EPSG','2575','EPSG','1234');
|
||||
INSERT INTO "concatenated_operation" VALUES('EPSG','9731','ETRS89 to ETRS89 + Catania 1965 height (1)','','EPSG','4937','EPSG','9724',0.035,'IGM-Ita 2005 Sicily',1);
|
||||
INSERT INTO "usage" VALUES('EPSG','15285','concatenated_operation','EPSG','9731','EPSG','2340','EPSG','1270');
|
||||
INSERT INTO "concatenated_operation" VALUES('EPSG','9750','ETRS89 to Catania 1965 height (1)','','EPSG','4937','EPSG','9721',0.035,'IGM-Ita 2005 Sicily',1);
|
||||
INSERT INTO "concatenated_operation" VALUES('EPSG','9750','ETRS89 to Catania 1965 height (1)','','EPSG','4937','EPSG','9721',0.035,'IGM-Ita 2005 Sicily',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','15385','concatenated_operation','EPSG','9750','EPSG','2340','EPSG','1133');
|
||||
INSERT INTO "concatenated_operation" VALUES('EPSG','10146','INAGeoid2020 v1 height to INAGeoid v2 height (1)','In central Java INAGeoid2020 v2 height minus INAGeoid2020 v1 height is approximately +0.2m (v1 surface is above the v2 surface). This difference varies significantly across Indonesia.','EPSG','9471','EPSG','20036',0.2,'BIG-Idn 2022',1);
|
||||
INSERT INTO "concatenated_operation" VALUES('EPSG','10146','INAGeoid2020 v1 height to INAGeoid v2 height (1)','In central Java INAGeoid2020 v2 height minus INAGeoid2020 v1 height is approximately +0.2m (v1 surface is above the v2 surface). This difference varies significantly across Indonesia.','EPSG','9471','EPSG','20036',0.2,'BIG-Idn 2022',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','18452','concatenated_operation','EPSG','10146','EPSG','1122','EPSG','1178');
|
||||
INSERT INTO "concatenated_operation" VALUES('EPSG','10392','Cascais height to ZH Portugal depth (1)','The Zero Hidrografico (CD Portugal) surface is defined to be 2.0m below the Cascais vertical reference surface off mainland Portugal and 2.08 metres below the Cascais vertical reference surface in the Tagus estuary off Lisbon (see CT 10393).','EPSG','5780','EPSG','10349',0.0,'IH-Por mainland',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','20319','concatenated_operation','EPSG','10392','EPSG','4691','EPSG','1198');
|
||||
@@ -489,87 +465,3 @@ INSERT INTO "concatenated_operation" VALUES('EPSG','10410','Ponta Delgada height
|
||||
INSERT INTO "usage" VALUES('EPSG','20084','concatenated_operation','EPSG','10410','EPSG','4736','EPSG','1198');
|
||||
INSERT INTO "concatenated_operation" VALUES('EPSG','10411','Cais da Vila do Porto height to ZH Portugal depth (1)','Offshore of Santa Maria and Formigas islands the Zero Hidrografico (CD Portugal) surface is defined to be 1.0m below the Cais da Vila do Porto vertical reference surface.','EPSG','6186','EPSG','10349',0.0,'IH-Por Santa Maria',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','20102','concatenated_operation','EPSG','10411','EPSG','4737','EPSG','1198');
|
||||
INSERT INTO "concatenated_operation" VALUES('EPSG','10495','ETRS89 + DVR90(2002) height to ETRS89 + DVR90(2013) height (1)','DVR90(2002) height and DVR90(2013) height may be considered to be equivalent for applications with accuracies of 5cm or worse. At this 5cm accuracy, data referenced to either CRS may be merged without transformation. ','EPSG','10486','EPSG','10487',0.06,'SDFI-Dnk 2013',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','20518','concatenated_operation','EPSG','10495','EPSG','3237','EPSG','1079');
|
||||
INSERT INTO "concatenated_operation" VALUES('EPSG','10496','ETRS89 + DVR90(2013) height to ETRS89 + DVR90(2023) height (1)','For applications with accuracies of 5cm or worse, DVR90(2013) height and DVR90(2023) height may be considered to be equivalent. At this 3cm accuracy, data referenced to either CRS may be merged without transformation. ','EPSG','10487','EPSG','10488',0.03,'SDFI-Dnk 2023',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','20516','concatenated_operation','EPSG','10496','EPSG','1080','EPSG','1273');
|
||||
INSERT INTO "concatenated_operation" VALUES('EPSG','10616','SRGI2013 + INAGeoid2020 v1 height to SRGI2013 + INAGeoid v2 height (1)','In central Java INAGeoid2020 v2 height minus INAGeoid2020 v1 height is approximately +0.2m (v1 surface is above the v2 surface). This difference varies significantly across Indonesia.','EPSG','9529','EPSG','20043',0.2,'BIG-Idn 2022',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','21321','concatenated_operation','EPSG','10616','EPSG','1122','EPSG','1178');
|
||||
INSERT INTO "concatenated_operation" VALUES('EPSG','10675','BES2020 Saba to Saba height (1)','This operation is not reversible because step 2 is not reversible. For a reversible alternative see BES2020 Saba to Saba + Saba height (1) (code 10755).','EPSG','10638','EPSG','10642',0.25,'NSGI-Bes Saba 2020',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','21877','concatenated_operation','EPSG','10675','EPSG','4757','EPSG','1133');
|
||||
INSERT INTO "concatenated_operation" VALUES('EPSG','10754','BES2020 Sint Eustatius to Sint Eustatius height (1)','This operation is not reversible because step 2 is not reversible. For a reversible alternative see BES2020 Sint Eustatius to Sint Eustatius + Sint Eustatius height (1) (code 10756).','EPSG','10738','EPSG','10740',0.25,'NSGI-Bes SEu 2020',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','22322','concatenated_operation','EPSG','10754','EPSG','4788','EPSG','1133');
|
||||
INSERT INTO "concatenated_operation" VALUES('EPSG','10755','BES2020 Saba to Saba + Saba height (1)','Reversible alternative to BES2020 Saba to Saba height (1) (code 10675).','EPSG','10638','EPSG','10643',0.25,'NSGI-Bes Saba 2020',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','22323','concatenated_operation','EPSG','10755','EPSG','4757','EPSG','1270');
|
||||
INSERT INTO "concatenated_operation" VALUES('EPSG','10756','BES2020 Sint Eustatius to Sint Eustatius + Sint Eustatius height (1)','Reversible alternative to BES2020 Sint Eustatius to Sint Eustatius height (1) (code 10754).','EPSG','10738','EPSG','10741',0.25,'NSGI-Bes SEu 2020',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','22324','concatenated_operation','EPSG','10756','EPSG','4788','EPSG','1270');
|
||||
INSERT INTO "concatenated_operation" VALUES('EPSG','10778','KKJ to ETRS89-FIN [EUREF-FIN] (3)','Recommended transformation between KKJ and ETRS89-FIN [EUREF-FIN]. Use this in preference to transformation KKJ to ETRS89-FIN [EUREF-FIN] (2) (code 10098).','EPSG','4123','EPSG','10690',0.03,'NLS-FIN TINshift LatLon',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','22361','concatenated_operation','EPSG','10778','EPSG','3333','EPSG','1273');
|
||||
INSERT INTO "concatenated_operation" VALUES('EPSG','10815','ITRF2014 to NKG_ETRF14 (1)','The coordinate epoch (in years) of the coordinates referenced to the source CRS (ITRF2014) is user-defined input and is used as the source epoch in step 2.','EPSG','7789','EPSG','10805',0.001,'NKG2020',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','23998','concatenated_operation','EPSG','10815','EPSG','4795','EPSG','1027');
|
||||
INSERT INTO "concatenated_operation" VALUES('EPSG','10816','ITRF2014 to ETRS89-FIN [EUREF-FIN] (1)','The coordinate epoch (in years) of the coordinates referenced to the source CRS (ITRF2014) is user-defined and is used as the source epoch in step 2.','EPSG','7789','EPSG','10688',0.004,'NKG2020',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','23999','concatenated_operation','EPSG','10816','EPSG','1095','EPSG','1027');
|
||||
INSERT INTO "concatenated_operation" VALUES('EPSG','10817','ITRF2014 to ETRS89-NOR [EUREF89] (1)','The coordinate epoch (in years) of the coordinates referenced to the source CRS (ITRF2014) is user-defined and is used as the source epoch in step 2.','EPSG','7789','EPSG','10873',0.006,'NKG2020',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','24000','concatenated_operation','EPSG','10817','EPSG','1352','EPSG','1027');
|
||||
INSERT INTO "concatenated_operation" VALUES('EPSG','10818','ITRF2014 to ETRS89-LTU [LKS94] (1)','The coordinate epoch (in years) of the coordinates referenced to the source CRS (ITRF2014) is user-defined and is used as the source epoch in step 2.','EPSG','7789','EPSG','4950',0.013,'NKG2020',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','24001','concatenated_operation','EPSG','10818','EPSG','1145','EPSG','1027');
|
||||
INSERT INTO "concatenated_operation" VALUES('EPSG','10824','ITRF2014 to ETRS89-SWE [SWEREF 99] (1)','The coordinate epoch (in years) of the coordinates referenced to the source CRS (ITRF2014) is user-defined and is used as the source epoch in step 2. For coordinates originating before 2021-02-07, the NKG2008 transformation should be used.','EPSG','7789','EPSG','4976',0.004,'NKG2020',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','24002','concatenated_operation','EPSG','10824','EPSG','1225','EPSG','1027');
|
||||
INSERT INTO "concatenated_operation" VALUES('EPSG','10825','ITRF2014 to ETRS89-EST [EST97] (1)','The coordinate epoch (in years) of the coordinates referenced to the source CRS (ITRF2014) is user-defined and is used as the source epoch in step 2.','EPSG','7789','EPSG','4934',0.005,'NKG2020',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','24003','concatenated_operation','EPSG','10825','EPSG','1090','EPSG','1027');
|
||||
INSERT INTO "concatenated_operation" VALUES('EPSG','10868','ITRF2020 to ETRS89-EST [EST97] (1)','The coordinate epoch (in years) of the coordinates referenced to the source CRS (ITRF2020) is user-defined and is used as the source epoch in step 2.','EPSG','9988','EPSG','4934',0.005,'NKG2020',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','24004','concatenated_operation','EPSG','10868','EPSG','1090','EPSG','1027');
|
||||
INSERT INTO "concatenated_operation" VALUES('EPSG','10869','ITRF2020 to ETRS89-FIN [EUREF-FIN] (1)','The coordinate epoch (in years) of the coordinates referenced to the source CRS (ITRF2020) is user-defined and is used as the source epoch in step 2.','EPSG','9988','EPSG','10688',0.004,'NKG2020',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','24005','concatenated_operation','EPSG','10869','EPSG','1095','EPSG','1027');
|
||||
INSERT INTO "concatenated_operation" VALUES('EPSG','10870','ITRF2020 to ETRS89-NOR [EUREF89] (1)','The coordinate epoch (in years) of the coordinates referenced to the source CRS (ITRF2020) is user-defined and is used as the source epoch in step 2.','EPSG','9988','EPSG','10873',0.006,'NKG2020',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','24006','concatenated_operation','EPSG','10870','EPSG','1352','EPSG','1027');
|
||||
INSERT INTO "concatenated_operation" VALUES('EPSG','10871','ITRF2020 to ETRS89-LTU [LKS94] (1)','The coordinate epoch of the coordinates referenced to the source CRS (ITRF2020) is user-defined input and is used as the source epoch in step 2.','EPSG','9988','EPSG','4950',0.013,'NKG2020',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','24013','concatenated_operation','EPSG','10871','EPSG','1145','EPSG','1027');
|
||||
INSERT INTO "concatenated_operation" VALUES('EPSG','10872','ITRF2020 to ETRS89-SWE [SWEREF 99] (1)','The coordinate epoch (in years) of the coordinates referenced to the source CRS (ITRF2020) is user-defined and is used as the source epoch in step 2. For coordinates originating before 2021-02-07, the NKG2008 transformation should be used.','EPSG','9988','EPSG','4976',0.004,'NKG2020',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','24008','concatenated_operation','EPSG','10872','EPSG','1225','EPSG','1027');
|
||||
INSERT INTO "concatenated_operation" VALUES('EPSG','10894','ITRF2014 to ETRS89-DNK (1)','The coordinate epoch (in years) of the coordinates referenced to the source CRS (ITRF2014) is user-defined input and is used as the source epoch in step 2.','EPSG','7789','EPSG','10890',0.006,'NKG2020',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','24010','concatenated_operation','EPSG','10894','EPSG','1080','EPSG','1027');
|
||||
INSERT INTO "concatenated_operation" VALUES('EPSG','10895','ITRF2020 to ETRS89-DNK (1)','The coordinate epoch (in years) of the coordinates referenced to the source CRS (ITRF2020) is user-defined input and is used as the source epoch in step 2.','EPSG','9988','EPSG','10890',0.006,'NKG2020',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','24011','concatenated_operation','EPSG','10895','EPSG','1080','EPSG','1027');
|
||||
INSERT INTO "concatenated_operation" VALUES('EPSG','11005','SVD2006 height to SVD2024 height (1)','Accuracy is RMS of the accuracies of the two concatenated operation steps.','EPSG','20000','EPSG','10999',1.4,'NMA-Sjm SV',1);
|
||||
INSERT INTO "usage" VALUES('EPSG','24141','concatenated_operation','EPSG','11005','EPSG','4831','EPSG','1059');
|
||||
INSERT INTO "concatenated_operation" VALUES('EPSG','11066','ITRF2020 to ETRS89-GBR [OSNet v2009] (1)','Accuracy is approximately 1cm at the ETRS89-GBR [OSNet v2009] anchor epoch of 2009.756 but deteriorates with time due to tectonic deformation and/or glacial isostatic adjustment. Scale difference in ppb and scale difference rate in ppb/yr where 1/billion = 1E-9 or nm/m.','EPSG','9988','EPSG','11007',0.1,'IOGP-Gbr 2009',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','24569','concatenated_operation','EPSG','11066','EPSG','1264','EPSG','1026');
|
||||
INSERT INTO "concatenated_operation" VALUES('EPSG','11110','ITRF2020 to ETRS89-PRT [1995] (1)','Accuracy is approximately 1cm at the ETRS89-PRT [1995] anchor epoch of 1995.4, but deteriorates with time due to tectonic deformation and/or glacial isostatic adjustment.','EPSG','9988','EPSG','11106',0.1,'IOGP-Prt 1995',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','24589','concatenated_operation','EPSG','11110','EPSG','4832','EPSG','1026');
|
||||
INSERT INTO "concatenated_operation" VALUES('EPSG','11140','ITRF2020 to ETRS89-ESP [REGENTE] (1)','Accuracy is approximately 1cm at the ETRS89-ESP [REGENTE] anchor epoch of 1995.4, but deteriorates with time due to tectonic deformation and/or glacial isostatic adjustment.','EPSG','9988','EPSG','11129',0.1,'IOGP-Esp 1995',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','24595','concatenated_operation','EPSG','11140','EPSG','4833','EPSG','1026');
|
||||
INSERT INTO "concatenated_operation" VALUES('EPSG','11194','ITRF2020 to ETRS89-HRV [HTRS96] (1)','','EPSG','9988','EPSG','4888',0.1,'IOGP-Hrv 1995',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','24866','concatenated_operation','EPSG','11194','EPSG','1076','EPSG','1026');
|
||||
INSERT INTO "concatenated_operation" VALUES('EPSG','11196','ITRF2020 to ETRS89-XKX [KOSOVAREF01] (1)','Accuracy is approximately 1cm at the ETRS89-XKX [KOSOVAREF01] anchor epoch of 2010.5 but deteriorates with time due to tectonic deformation and/or glacial isostatic adjustment.','EPSG','9988','EPSG','9138',0.1,'IOGP-Kos 2001',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','24869','concatenated_operation','EPSG','11196','EPSG','4542','EPSG','1026');
|
||||
INSERT INTO "concatenated_operation" VALUES('EPSG','11206','ITRF2020 to ETRS89-MDA [MOLDREF99] (1)','Accuracy is approximately 1cm at the ETRS89-MDA [MOLDREF99] anchor epoch of 1997.4 but deteriorates with time due to tectonic deformation and/or glacial isostatic adjustment.','EPSG','10569','EPSG','4000',0.1,'IOGP-Mda 1999',1);
|
||||
INSERT INTO "usage" VALUES('EPSG','24895','concatenated_operation','EPSG','11206','EPSG','1162','EPSG','1026');
|
||||
INSERT INTO "concatenated_operation" VALUES('EPSG','11285','ITRF2020 to ETRS89-MDA [MOLDREF99] (1)','Accuracy is approximately 1cm at the ETRS89-MDA [MOLDREF99] anchor epoch of 1997.4 but deteriorates with time due to tectonic deformation and/or glacial isostatic adjustment.','EPSG','9988','EPSG','4000',0.1,'IOGP-Mda 1999',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','24996','concatenated_operation','EPSG','11285','EPSG','1162','EPSG','1026');
|
||||
INSERT INTO "concatenated_operation" VALUES('EPSG','11310','ITRF2020 to ETRS89-CHE [CHTRF95] (1)','','EPSG','9988','EPSG','11222',0.1,'IOGP-Che 1995',1);
|
||||
INSERT INTO "usage" VALUES('EPSG','25091','concatenated_operation','EPSG','11310','EPSG','1286','EPSG','1026');
|
||||
INSERT INTO "concatenated_operation" VALUES('EPSG','11315','ITRF2020 to ETRS89-LVA [LKS-2020] (1)','The coordinate epoch (in years) of the coordinates referenced to the source CRS (ITRF2020) is user-defined and is used as the source epoch in step 2. For coordinates originating before 2021-02-07, the NKG2008 transformation should be used.','EPSG','9988','EPSG','10303',0.006,'NKG2020',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','25133','concatenated_operation','EPSG','11315','EPSG','1139','EPSG','1027');
|
||||
INSERT INTO "concatenated_operation" VALUES('EPSG','11398','NN2000:2018 height to NN2000:2025 height (1)','Height difference derived through difference in geoid separation models.','EPSG','5941','EPSG','11394',0.03,'IOGP-Nor 2025',1);
|
||||
INSERT INTO "usage" VALUES('EPSG','25497','concatenated_operation','EPSG','11398','EPSG','1352','EPSG','1059');
|
||||
INSERT INTO "concatenated_operation" VALUES('EPSG','11441','JGD2024 to JGD2024 (vertical) height (2)','This concatenated operation is the path recommended by GSI for deriving JGD2024 (vertical) height from GNSS-derived ellipsoidal height in accordance with Survey Act requirements, as using the JPGEO2024 geoid separation model directly (JGD2024 to JGD2024 (vertical) height (1), CT code 11334) is not aligned with Survey Act requirements for coordinates to be at epoch 2011.395.','EPSG','6667','EPSG','11317',0.04,'GSI-Jpn',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','25734','concatenated_operation','EPSG','11441','EPSG','3263','EPSG','1181');
|
||||
INSERT INTO "concatenated_operation" VALUES('EPSG','11505','ETRS89-AUT [2002] to GHA height (2)','This concatenated operation gives the same result as the Hoehen-Grid plus offset from ETRS89-AUT [2002] to GHA height. HoehenGrid-plus is implemented in BEV-Transformator using MGI (CRS 4312) as the interpolation CRS for the grid.','EPSG','11056','EPSG','5778',0.07,'BEV-Aut 2002',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','26577','concatenated_operation','EPSG','11505','EPSG','1037','EPSG','1133');
|
||||
INSERT INTO "concatenated_operation" VALUES('EPSG','11523','SKTRF09 + Baltic 1957 height to SKTRF09 + EVRF2007 height (2)','Recommended method for transforming coordinates between Baltic 1957 height and EVRF2007 height and vice-versa in Slovakia. Compound transformation using two separate quasigeoid models (DVRM05 and DMQSK2014E).','EPSG','11312','EPSG','11314',0.05,'UGKK-Svk',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','27019','concatenated_operation','EPSG','11523','EPSG','1211','EPSG','1059');
|
||||
INSERT INTO "concatenated_operation" VALUES('EPSG','11528','ETRS89-SVK [SKTRF09] to S-JTSK (5)','Recommended method of a transformation from ETRS89 to S-JTSK in Slovakia. For reverse transformation see S-JTSK to ETRS89-SVK [SKTRF09] (6) (code 11529). Both together replace S-JTSK to ETRS89 (4) (code 4827).','EPSG','11076','EPSG','4156',0.06,'UGKK-Sk JTSK03',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','26526','concatenated_operation','EPSG','11528','EPSG','1211','EPSG','1027');
|
||||
INSERT INTO "concatenated_operation" VALUES('EPSG','11529','S-JTSK to ETRS89-SVK [SKTRF09] (6)','Recommended method of a transformation from S-JTSK to ETRS89 in Slovakia. For reverse transformation see ETRS89-SVK [SKTRF09] to S-JTSK (5) (code 11528). Both together replace S-JTSK to ETRS89 (4) (code 4827).','EPSG','4156','EPSG','11076',0.06,'UGKK-Sk JTSK03',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','26527','concatenated_operation','EPSG','11529','EPSG','1211','EPSG','1027');
|
||||
INSERT INTO "concatenated_operation" VALUES('EPSG','12091','SVD2006 height to SVD2024 height (1)','Height difference derived through difference in geoid separation models. Accuracy is RMS of the accuracies of the two concatenated operation steps.','EPSG','20000','EPSG','10999',1.4,'NMA-Sjm SV',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','27108','concatenated_operation','EPSG','12091','EPSG','4831','EPSG','1059');
|
||||
INSERT INTO "concatenated_operation" VALUES('EPSG','12092','NN2000:2018 height to NN2000:2025 height (1)','Height difference derived through difference in geoid separation models.','EPSG','5941','EPSG','11394',0.03,'IOGP-Nor 2025',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','27105','concatenated_operation','EPSG','12092','EPSG','1352','EPSG','1059');
|
||||
INSERT INTO "concatenated_operation" VALUES('EPSG','12172','ITRF2020 to ETRS89-CHE [CHTRS95] (1)','','EPSG','9988','EPSG','4932',0.1,'IOGP-Che 1995',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','26948','concatenated_operation','EPSG','12172','EPSG','1286','EPSG','1026');
|
||||
INSERT INTO "concatenated_operation" VALUES('EPSG','12191','ITRF2020 to ETRS89-GRC [HTRS07] (2)','Accuracy is approximately 2cm at the ETRS89-GRC [HTRS07] anchor epoch of 2007.5, but deteriorates with time due to tectonic deformation and/or volcanic eruption. Velocities in southern Greece exceed 3 cm/year relative to ETRS89, with co-seismic displacements of several cm and up to 40cm.','EPSG','9988','EPSG','11091',0.8,'IOGP-Grc 2007',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','27009','concatenated_operation','EPSG','12191','EPSG','1106','EPSG','1026');
|
||||
INSERT INTO "concatenated_operation" VALUES('EPSG','12261','ETRS89-ITA [RDN2008] to Catania 1965 height (2)','This operation is reversible because both steps are reversible. Replaces non-reversible ETRS89 to Catania 1965 height (1) (code 9750).','EPSG','6705','EPSG','9721',0.035,'IGM-Ita 2005 Sicily',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','27230','concatenated_operation','EPSG','12261','EPSG','2340','EPSG','1270');
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,734 +0,0 @@
|
||||
-- Insertion triggers that implement consistency checks across tables
|
||||
|
||||
CREATE TRIGGER ellipsoid_insert_trigger
|
||||
BEFORE INSERT ON ellipsoid
|
||||
FOR EACH ROW BEGIN
|
||||
SELECT RAISE(ABORT, 'insert on ellipsoid violates constraint: uom should be of type ''length''')
|
||||
WHERE (SELECT type FROM unit_of_measure WHERE auth_name = NEW.uom_auth_name AND code = NEW.uom_code) != 'length';
|
||||
END;
|
||||
|
||||
CREATE TRIGGER usage_insert_trigger
|
||||
BEFORE INSERT ON usage
|
||||
FOR EACH ROW BEGIN
|
||||
SELECT RAISE(ABORT, 'insert on usage violates constraint: new entry refers to unexisting code')
|
||||
WHERE NOT EXISTS (SELECT 1 FROM object_view o WHERE o.table_name = NEW.object_table_name AND o.auth_name = NEW.object_auth_name AND o.code = NEW.object_code);
|
||||
SELECT RAISE(ABORT, 'insert on usage violates constraint: extent must not be deprecated when object is not deprecated')
|
||||
WHERE EXISTS (
|
||||
SELECT 1 FROM extent JOIN object_view o WHERE
|
||||
NOT (o.table_name IN ('projected_crs', 'vertical_crs', 'vertical_datum', 'conversion') AND o.auth_name = 'ESRI') AND
|
||||
o.table_name = NEW.object_table_name AND
|
||||
o.auth_name = NEW.object_auth_name AND
|
||||
o.code = NEW.object_code AND
|
||||
extent.auth_name = NEW.extent_auth_name AND
|
||||
extent.code = NEW.extent_code AND
|
||||
extent.deprecated = 1 AND
|
||||
o.deprecated = 0);
|
||||
END;
|
||||
|
||||
CREATE TRIGGER prime_meridian_insert_trigger
|
||||
BEFORE INSERT ON prime_meridian
|
||||
FOR EACH ROW BEGIN
|
||||
SELECT RAISE(ABORT, 'insert on prime_meridian violates constraint: uom should be of type ''angle''')
|
||||
WHERE (SELECT type FROM unit_of_measure WHERE auth_name = NEW.uom_auth_name AND code = NEW.uom_code) != 'angle';
|
||||
END;
|
||||
|
||||
CREATE TRIGGER geodetic_datum_insert_trigger
|
||||
BEFORE INSERT ON geodetic_datum
|
||||
FOR EACH ROW BEGIN
|
||||
SELECT RAISE(ABORT, 'insert on geodetic_datum violates constraint: ellipsoid must not be deprecated when geodetic_datum is not deprecated')
|
||||
WHERE EXISTS(SELECT 1 FROM ellipsoid WHERE ellipsoid.auth_name = NEW.ellipsoid_auth_name AND ellipsoid.code = NEW.ellipsoid_code AND ellipsoid.deprecated != 0) AND NEW.deprecated = 0 AND NEW.auth_name != 'ESRI';
|
||||
SELECT RAISE(ABORT, 'insert on geodetic_datum violates constraint: prime_meridian must not be deprecated when geodetic_datum is not deprecated')
|
||||
WHERE EXISTS(SELECT 1 FROM prime_meridian WHERE prime_meridian.auth_name = NEW.prime_meridian_auth_name AND prime_meridian.code = NEW.prime_meridian_code AND prime_meridian.deprecated != 0) AND NEW.deprecated = 0;
|
||||
SELECT RAISE(ABORT, 'frame_reference_epoch and ensemble_accuracy are mutually exclusive')
|
||||
WHERE NEW.frame_reference_epoch IS NOT NULL AND NEW.ensemble_accuracy IS NOT NULL;
|
||||
END;
|
||||
|
||||
CREATE TRIGGER axis_insert_trigger
|
||||
BEFORE INSERT ON axis
|
||||
FOR EACH ROW BEGIN
|
||||
SELECT RAISE(ABORT, 'insert on axis violates constraint: coordinate_system_order should be <= coordinate_system.dimension')
|
||||
WHERE NEW.coordinate_system_order > (SELECT dimension FROM coordinate_system WHERE auth_name = NEW.coordinate_system_auth_name AND code = NEW.coordinate_system_code);
|
||||
SELECT RAISE(ABORT, 'insert on axis violates constraint: uom should be defined unless the coordinate system is ordinal')
|
||||
WHERE EXISTS(SELECT 1 FROM coordinate_system cs WHERE cs.type != 'ordinal' AND (NEW.uom_auth_name IS NULL OR NEW.uom_code IS NULL) AND cs.auth_name = NEW.coordinate_system_auth_name AND cs.code = NEW.coordinate_system_code);
|
||||
END;
|
||||
|
||||
CREATE TRIGGER geodetic_crs_insert_trigger
|
||||
BEFORE INSERT ON geodetic_crs
|
||||
FOR EACH ROW BEGIN
|
||||
|
||||
SELECT RAISE(ABORT, 'insert on geodetic_crs violates constraint: (auth_name, code) must not already exist in crs_view')
|
||||
WHERE EXISTS (SELECT 1 FROM crs_view WHERE crs_view.auth_name = NEW.auth_name AND crs_view.code = NEW.code);
|
||||
|
||||
SELECT RAISE(ABORT, 'insert on geodetic_crs violates constraint: datum must not be deprecated when geodetic_crs is not deprecated')
|
||||
WHERE EXISTS(SELECT 1 FROM geodetic_datum datum WHERE datum.auth_name = NEW.datum_auth_name AND datum.code = NEW.datum_code AND datum.deprecated != 0) AND NEW.deprecated = 0 AND NEW.text_definition IS NOT NULL;
|
||||
|
||||
SELECT RAISE(ABORT, 'insert on geodetic_crs violates constraint: coordinate_system.dimension must be 3 for type = ''geocentric''')
|
||||
WHERE NEW.type = 'geocentric' AND (SELECT dimension FROM coordinate_system WHERE coordinate_system.auth_name = NEW.coordinate_system_auth_name AND coordinate_system.code = NEW.coordinate_system_code) != 3;
|
||||
|
||||
SELECT RAISE(ABORT, 'insert on geodetic_crs violates constraint: coordinate_system.type must be ''Cartesian'' for type = ''geocentric''')
|
||||
WHERE NEW.type = 'geocentric' AND (SELECT type FROM coordinate_system WHERE coordinate_system.auth_name = NEW.coordinate_system_auth_name AND coordinate_system.code = NEW.coordinate_system_code) != 'Cartesian';
|
||||
|
||||
SELECT RAISE(ABORT, 'insert on geodetic_crs violates constraint: coordinate_system.type must be ''ellipsoidal'' for type = ''geographic 2D'' or ''geographic 3D''')
|
||||
WHERE NEW.type IN ('geographic 2D', 'geographic 3D') AND (SELECT type FROM coordinate_system WHERE coordinate_system.auth_name = NEW.coordinate_system_auth_name AND coordinate_system.code = NEW.coordinate_system_code) != 'ellipsoidal';
|
||||
|
||||
SELECT RAISE(ABORT, 'insert on geodetic_crs violates constraint: coordinate_system.dimension must be 2 for type = ''geographic 2D''')
|
||||
WHERE NEW.type = 'geographic 2D' AND NEW.deprecated != 1 AND (SELECT dimension FROM coordinate_system WHERE coordinate_system.auth_name = NEW.coordinate_system_auth_name AND coordinate_system.code = NEW.coordinate_system_code) != 2;
|
||||
|
||||
SELECT RAISE(ABORT, 'insert on geodetic_crs violates constraint: coordinate_system.dimension must be 3 for type = ''geographic 3D''')
|
||||
WHERE NEW.type = 'geographic 3D' AND (SELECT dimension FROM coordinate_system WHERE coordinate_system.auth_name = NEW.coordinate_system_auth_name AND coordinate_system.code = NEW.coordinate_system_code) != 3;
|
||||
END;
|
||||
|
||||
CREATE TRIGGER vertical_crs_insert_trigger
|
||||
BEFORE INSERT ON vertical_crs
|
||||
FOR EACH ROW BEGIN
|
||||
|
||||
SELECT RAISE(ABORT, 'insert on vertical_crs violates constraint: (auth_name, code) must not already exist in crs_view')
|
||||
WHERE EXISTS (SELECT 1 FROM crs_view WHERE crs_view.auth_name = NEW.auth_name AND crs_view.code = NEW.code);
|
||||
|
||||
SELECT RAISE(ABORT, 'insert on vertical_crs violates constraint: name (of a non-deprecated entry) must not already exist in (a non-deprecated entry of) crs_view')
|
||||
WHERE EXISTS (SELECT 1 FROM crs_view WHERE crs_view.name = NEW.name AND crs_view.deprecated = 0 AND NEW.deprecated = 0
|
||||
AND NEW.auth_name IN (SELECT auth_name FROM builtin_authorities WHERE auth_name != 'IGNF')
|
||||
AND NOT(NEW.auth_name = 'ESRI' and crs_view.table_name = 'geodetic_crs') -- some ESRI vertical CRS are an ellipsoidal height CRS derived from a geodetic CRS
|
||||
);
|
||||
|
||||
SELECT RAISE(ABORT, 'insert on vertical_crs violates constraint: datum must not be deprecated when vertical_crs is not deprecated')
|
||||
WHERE EXISTS(SELECT 1 FROM vertical_crs datum WHERE datum.auth_name = NEW.datum_auth_name AND datum.code = NEW.datum_code AND datum.deprecated != 0) AND NEW.deprecated = 0;
|
||||
|
||||
SELECT RAISE(ABORT, 'insert on vertical_crs violates constraint: coordinate_system.type must be ''vertical''')
|
||||
WHERE (SELECT type FROM coordinate_system WHERE coordinate_system.auth_name = NEW.coordinate_system_auth_name AND coordinate_system.code = NEW.coordinate_system_code) != 'vertical';
|
||||
SELECT RAISE(ABORT, 'insert on vertical_crs violates constraint: coordinate_system.dimension must be 1')
|
||||
WHERE (SELECT dimension FROM coordinate_system WHERE coordinate_system.auth_name = NEW.coordinate_system_auth_name AND coordinate_system.code = NEW.coordinate_system_code) != 1;
|
||||
END;
|
||||
|
||||
CREATE TRIGGER engineering_crs_insert_trigger
|
||||
BEFORE INSERT ON engineering_crs
|
||||
FOR EACH ROW BEGIN
|
||||
|
||||
SELECT RAISE(ABORT, 'insert on engineering_crs violates constraint: (auth_name, code) must not already exist in crs_view')
|
||||
WHERE EXISTS (SELECT 1 FROM crs_view WHERE crs_view.auth_name = NEW.auth_name AND crs_view.code = NEW.code);
|
||||
|
||||
SELECT RAISE(ABORT, 'insert on engineering_crs violates constraint: name (of a non-deprecated entry) must not already exist in (a non-deprecated entry of) crs_view')
|
||||
WHERE EXISTS (SELECT 1 FROM crs_view WHERE crs_view.name = NEW.name AND crs_view.deprecated = 0 AND NEW.deprecated = 0
|
||||
);
|
||||
|
||||
SELECT RAISE(ABORT, 'insert on engineering_crs violates constraint: datum must not be deprecated when engineering_crs is not deprecated')
|
||||
WHERE EXISTS(SELECT 1 FROM engineering_crs datum WHERE datum.auth_name = NEW.datum_auth_name AND datum.code = NEW.datum_code AND datum.deprecated != 0) AND NEW.deprecated = 0;
|
||||
|
||||
SELECT RAISE(ABORT, 'insert on engineering_crs violates constraint: coordinate_system.dimension must be 2 or 3')
|
||||
WHERE (SELECT dimension FROM coordinate_system WHERE coordinate_system.auth_name = NEW.coordinate_system_auth_name AND coordinate_system.code = NEW.coordinate_system_code) NOT IN (2, 3);
|
||||
END;
|
||||
|
||||
CREATE TRIGGER conversion_method_insert_trigger
|
||||
BEFORE INSERT ON conversion_method
|
||||
BEGIN
|
||||
|
||||
SELECT RAISE(ABORT, 'insert on conversion violates constraint: method should be known')
|
||||
WHERE (NEW.auth_name || '_' || NEW.code || '_' || NEW.name) NOT IN (
|
||||
'EPSG_1024_Popular Visualisation Pseudo Mercator',
|
||||
'EPSG_1026_Mercator (Spherical)',
|
||||
'EPSG_1027_Lambert Azimuthal Equal Area (Spherical)',
|
||||
'EPSG_1028_Equidistant Cylindrical',
|
||||
'EPSG_1029_Equidistant Cylindrical (Spherical)',
|
||||
'EPSG_1041_Krovak (North Orientated)',
|
||||
'EPSG_1042_Krovak Modified',
|
||||
'EPSG_1043_Krovak Modified (North Orientated)',
|
||||
'EPSG_1051_Lambert Conic Conformal (2SP Michigan)',
|
||||
'EPSG_1052_Colombia Urban',
|
||||
'EPSG_1068_Height Depth Reversal',
|
||||
'EPSG_1069_Change of Vertical Unit',
|
||||
'EPSG_1104_Change of Vertical Unit',
|
||||
'EPSG_1078_Equal Earth',
|
||||
'EPSG_1102_Lambert Conic Conformal (1SP variant B)',
|
||||
'EPSG_1111_Transverse Mercator 3D',
|
||||
'EPSG_1119_Equidistant Conic',
|
||||
'EPSG_1125_Azimuthal Equidistant',
|
||||
'EPSG_1130_Local Orthographic',
|
||||
'EPSG_9602_Geographic/geocentric conversions',
|
||||
'EPSG_9659_Geographic3D to 2D conversion',
|
||||
'EPSG_9801_Lambert Conic Conformal (1SP)',
|
||||
'EPSG_9802_Lambert Conic Conformal (2SP)',
|
||||
'EPSG_9803_Lambert Conic Conformal (2SP Belgium)',
|
||||
'EPSG_9804_Mercator (variant A)',
|
||||
'EPSG_9805_Mercator (variant B)',
|
||||
'EPSG_9806_Cassini-Soldner',
|
||||
'EPSG_9807_Transverse Mercator',
|
||||
'EPSG_9808_Transverse Mercator (South Orientated)',
|
||||
'EPSG_9809_Oblique Stereographic',
|
||||
'EPSG_9810_Polar Stereographic (variant A)',
|
||||
'EPSG_9811_New Zealand Map Grid',
|
||||
'EPSG_9812_Hotine Oblique Mercator (variant A)',
|
||||
'EPSG_9813_Laborde Oblique Mercator',
|
||||
'EPSG_9815_Hotine Oblique Mercator (variant B)',
|
||||
'EPSG_9816_Tunisia Mining Grid',
|
||||
'EPSG_9817_Lambert Conic Near-Conformal',
|
||||
'EPSG_9818_American Polyconic',
|
||||
'EPSG_9819_Krovak',
|
||||
'EPSG_9820_Lambert Azimuthal Equal Area',
|
||||
'EPSG_9821_Lambert Azimuthal Equal Area (Spherical)',
|
||||
'EPSG_9822_Albers Equal Area',
|
||||
'EPSG_9823_Equidistant Cylindrical (Spherical)',
|
||||
'EPSG_9824_Transverse Mercator Zoned Grid System',
|
||||
'EPSG_9826_Lambert Conic Conformal (West Orientated)',
|
||||
'EPSG_9828_Bonne (South Orientated)',
|
||||
'EPSG_9829_Polar Stereographic (variant B)',
|
||||
'EPSG_9830_Polar Stereographic (variant C)',
|
||||
'EPSG_9831_Guam Projection',
|
||||
'EPSG_9832_Modified Azimuthal Equidistant',
|
||||
'EPSG_9833_Hyperbolic Cassini-Soldner',
|
||||
'EPSG_9834_Lambert Cylindrical Equal Area (Spherical)',
|
||||
'EPSG_9835_Lambert Cylindrical Equal Area',
|
||||
'EPSG_9836_Geocentric/topocentric conversions',
|
||||
'EPSG_9837_Geographic/topocentric conversions',
|
||||
'EPSG_9838_Vertical Perspective',
|
||||
'EPSG_9840_Orthographic',
|
||||
'EPSG_9841_Mercator (1SP) (Spherical)',
|
||||
'EPSG_9842_Equidistant Cylindrical',
|
||||
'EPSG_9843_Axis Order Reversal (2D)',
|
||||
'EPSG_9844_Axis Order Reversal (Geographic3D horizontal)',
|
||||
'EPSG_9827_Bonne') AND NEW.auth_name != 'PROJ';
|
||||
END;
|
||||
|
||||
CREATE TRIGGER conversion_table_insert_trigger
|
||||
BEFORE INSERT ON conversion_table
|
||||
BEGIN
|
||||
SELECT RAISE(ABORT, 'insert on conversion_table violates constraint: (auth_name, code) must not already exist in coordinate_operation_with_conversion_view')
|
||||
WHERE EXISTS (SELECT 1 FROM coordinate_operation_with_conversion_view covwv WHERE covwv.auth_name = NEW.auth_name AND covwv.code = NEW.code);
|
||||
END;
|
||||
|
||||
CREATE TRIGGER projected_crs_insert_trigger
|
||||
BEFORE INSERT ON projected_crs
|
||||
FOR EACH ROW BEGIN
|
||||
|
||||
SELECT RAISE(ABORT, 'insert on projected_crs violates constraint: (auth_name, code) must not already exist in crs_view')
|
||||
WHERE EXISTS (SELECT 1 FROM crs_view WHERE crs_view.auth_name = NEW.auth_name AND crs_view.code = NEW.code);
|
||||
|
||||
SELECT RAISE(ABORT, 'insert on projected_crs violates constraint: name (of a non-deprecated entry) must not already exist in (a non-deprecated entry of) crs_view')
|
||||
WHERE EXISTS (SELECT 1 FROM crs_view WHERE crs_view.name = NEW.name AND crs_view.deprecated = 0 AND NEW.deprecated = 0
|
||||
AND NEW.auth_name IN (SELECT auth_name FROM builtin_authorities WHERE auth_name NOT IN ('IGNF', 'ESRI'))
|
||||
);
|
||||
|
||||
SELECT RAISE(ABORT, 'insert on projected_crs violates constraint: geodetic_crs must not be deprecated when projected_crs is not deprecated')
|
||||
WHERE EXISTS(SELECT 1 FROM geodetic_crs WHERE geodetic_crs.auth_name = NEW.geodetic_crs_auth_name AND geodetic_crs.code = NEW.geodetic_crs_code AND geodetic_crs.deprecated != 0 AND geodetic_crs.name NOT LIKE 'Unknown datum%' AND geodetic_crs.name NOT LIKE 'Unspecified datum%') AND NEW.deprecated = 0 AND NOT (NEW.auth_name = 'ESRI' AND NEW.geodetic_crs_auth_name != 'ESRI');
|
||||
|
||||
SELECT RAISE(ABORT, 'insert on projected_crs violates constraint: conversion must exist when text_definition is NULL')
|
||||
WHERE NOT EXISTS(SELECT 1 FROM conversion WHERE conversion.auth_name = NEW.conversion_auth_name AND conversion.code = NEW.conversion_code) AND NEW.text_definition IS NULL;
|
||||
|
||||
SELECT RAISE(ABORT, 'insert on projected_crs violates constraint: conversion must not be deprecated when projected_crs is not deprecated')
|
||||
WHERE EXISTS(SELECT 1 FROM conversion WHERE conversion.auth_name = NEW.conversion_auth_name AND conversion.code = NEW.conversion_code AND conversion.deprecated != 0) AND NEW.deprecated = 0;
|
||||
|
||||
--SELECT RAISE(ABORT, 'insert on projected_crs violates constraint: geodetic_crs must NOT be defined when text_definition is NOT NULL')
|
||||
-- WHERE (NOT(NEW.geodetic_crs_auth_name IS NULL OR NEW.geodetic_crs_code IS NULL)) AND NEW.text_definition IS NOT NULL;
|
||||
|
||||
SELECT RAISE(ABORT, 'insert on projected_crs violates constraint: coordinate_system.type must be ''cartesian''')
|
||||
WHERE (SELECT type FROM coordinate_system WHERE coordinate_system.auth_name = NEW.coordinate_system_auth_name AND coordinate_system.code = NEW.coordinate_system_code) != 'Cartesian';
|
||||
|
||||
SELECT RAISE(ABORT, 'insert on projected_crs violates constraint: coordinate_system.dimension must be 2 or 3')
|
||||
-- EPSG:4461 is topocentric
|
||||
WHERE NOT(NEW.coordinate_system_auth_name = 'EPSG' AND NEW.coordinate_system_code = '4461') AND (SELECT dimension FROM coordinate_system WHERE coordinate_system.auth_name = NEW.coordinate_system_auth_name AND coordinate_system.code = NEW.coordinate_system_code) NOT IN (2,3);
|
||||
END;
|
||||
|
||||
CREATE TRIGGER compound_crs_insert_trigger
|
||||
BEFORE INSERT ON compound_crs
|
||||
FOR EACH ROW BEGIN
|
||||
|
||||
SELECT RAISE(ABORT, 'insert on compound_crs violates constraint: (auth_name, code) must not already exist in crs_view')
|
||||
WHERE EXISTS (SELECT 1 FROM crs_view WHERE crs_view.auth_name = NEW.auth_name AND crs_view.code = NEW.code);
|
||||
|
||||
SELECT RAISE(ABORT, 'insert on compound_crs violates constraint: name (of a non-deprecated entry) must not already exist in (a non-deprecated entry of) crs_view')
|
||||
WHERE EXISTS (SELECT 1 FROM crs_view WHERE crs_view.name = NEW.name AND crs_view.deprecated = 0 AND NEW.deprecated = 0
|
||||
AND NEW.auth_name IN (SELECT auth_name FROM builtin_authorities WHERE auth_name != 'IGNF')
|
||||
);
|
||||
|
||||
SELECT RAISE(ABORT, 'insert on compound_crs violates constraint: horiz_crs(auth_name, code) not found')
|
||||
WHERE NOT EXISTS (SELECT 1 FROM crs_view WHERE crs_view.auth_name = NEW.horiz_crs_auth_name AND crs_view.code = NEW.horiz_crs_code);
|
||||
|
||||
SELECT RAISE(ABORT, 'insert on compound_crs violates constraint: horiz_crs must be equal to ''geographic 2D'', ''projected'', ''derived projected'' or ''engineering''')
|
||||
WHERE (SELECT type FROM crs_view WHERE crs_view.auth_name = NEW.horiz_crs_auth_name AND crs_view.code = NEW.horiz_crs_code) NOT IN ('geographic 2D', 'projected', 'derived projected', 'engineering');
|
||||
|
||||
SELECT RAISE(ABORT, 'insert on compound_crs violates constraint: vertical_crs must be equal to ''vertical''')
|
||||
WHERE (SELECT type FROM crs_view WHERE crs_view.auth_name = NEW.vertical_crs_auth_name AND crs_view.code = NEW.vertical_crs_code) NOT IN ('vertical');
|
||||
|
||||
SELECT RAISE(ABORT, 'insert on compound_crs violates constraint: horiz_crs must not be deprecated when compound_crs is not deprecated')
|
||||
WHERE EXISTS (SELECT 1 FROM crs_view WHERE crs_view.auth_name = NEW.horiz_crs_auth_name AND crs_view.code = NEW.horiz_crs_code AND crs_view.deprecated != 0) AND NEW.deprecated = 0;
|
||||
|
||||
SELECT RAISE(ABORT, 'insert on compound_crs violates constraint: vertical_crs must not be deprecated when compound_crs is not deprecated')
|
||||
WHERE EXISTS (SELECT 1 FROM vertical_crs WHERE vertical_crs.auth_name = NEW.vertical_crs_auth_name AND vertical_crs.code = NEW.vertical_crs_code AND vertical_crs.deprecated != 0) AND NEW.deprecated = 0;
|
||||
END;
|
||||
|
||||
CREATE TRIGGER coordinate_metadata_insert_trigger
|
||||
BEFORE INSERT ON coordinate_metadata
|
||||
FOR EACH ROW BEGIN
|
||||
SELECT RAISE(ABORT, 'insert on coordinate_metadata violates constraint: (crs_auth_name, crs_code) must already exist in crs_view')
|
||||
WHERE NOT EXISTS (
|
||||
SELECT 1 FROM crs_view WHERE
|
||||
NEW.crs_auth_name IS NOT NULL AND
|
||||
crs_view.auth_name = NEW.crs_auth_name AND
|
||||
crs_view.code = NEW.crs_code
|
||||
UNION ALL SELECT 1 WHERE NEW.crs_auth_name IS NULL);
|
||||
SELECT RAISE(ABORT, 'insert on coordinate_metadata violates constraint: (crs_auth_name, crs_code) and crs_text_definition are mutually exclusive')
|
||||
WHERE NEW.crs_auth_name IS NOT NULL AND NEW.crs_text_definition IS NOT NULL;
|
||||
SELECT RAISE(ABORT, 'insert on coordinate_metadata violates constraint: one of (crs_auth_name, crs_code) or crs_text_definition must be set')
|
||||
WHERE NEW.crs_auth_name IS NULL AND NEW.crs_text_definition IS NULL;
|
||||
END;
|
||||
|
||||
CREATE TRIGGER helmert_transformation_insert_trigger
|
||||
BEFORE INSERT ON helmert_transformation_table
|
||||
FOR EACH ROW BEGIN
|
||||
SELECT RAISE(ABORT, 'insert on helmert_transformation violates constraint: (auth_name, code) must not already exist in coordinate_operation_with_conversion_view')
|
||||
WHERE EXISTS (SELECT 1 FROM coordinate_operation_with_conversion_view covwv WHERE covwv.auth_name = NEW.auth_name AND covwv.code = NEW.code);
|
||||
|
||||
SELECT RAISE(ABORT, 'insert on helmert_transformation violates constraint: name (of a non-deprecated entry) must not already exist in (a non-deprecated entry of) coordinate_operation_with_conversion_view')
|
||||
WHERE EXISTS (SELECT 1 FROM coordinate_operation_with_conversion_view covwv WHERE covwv.name = NEW.name AND covwv.deprecated = 0 AND NEW.deprecated = 0
|
||||
AND NEW.auth_name IN (SELECT auth_name FROM builtin_authorities WHERE auth_name != 'IGNF')
|
||||
);
|
||||
|
||||
SELECT RAISE(ABORT, 'insert on helmert_transformation violates constraint: translation_uom.type must be ''length''')
|
||||
WHERE (SELECT type FROM unit_of_measure WHERE unit_of_measure.auth_name = NEW.translation_uom_auth_name AND unit_of_measure.code = NEW.translation_uom_code) != 'length';
|
||||
SELECT RAISE(ABORT, 'insert on helmert_transformation violates constraint: rotation_uom.type must be ''angle''')
|
||||
WHERE (SELECT type FROM unit_of_measure WHERE unit_of_measure.auth_name = NEW.rotation_uom_auth_name AND unit_of_measure.code = NEW.rotation_uom_code) != 'angle';
|
||||
SELECT RAISE(ABORT, 'insert on helmert_transformation violates constraint: scale_difference_uom.type must be ''scale''')
|
||||
WHERE (SELECT type FROM unit_of_measure WHERE unit_of_measure.auth_name = NEW.scale_difference_uom_auth_name AND unit_of_measure.code = NEW.scale_difference_uom_code) != 'scale';
|
||||
SELECT RAISE(ABORT, 'insert on helmert_transformation violates constraint: rate_translation_uom.type must be ''length''')
|
||||
WHERE (SELECT type FROM unit_of_measure WHERE unit_of_measure.auth_name = NEW.rate_translation_uom_auth_name AND unit_of_measure.code = NEW.rate_translation_uom_code) != 'length';
|
||||
SELECT RAISE(ABORT, 'insert on helmert_transformation violates constraint: rate_rotation_uom.type must be ''angle''')
|
||||
WHERE (SELECT type FROM unit_of_measure WHERE unit_of_measure.auth_name = NEW.rate_rotation_uom_auth_name AND unit_of_measure.code = NEW.rate_rotation_uom_code) != 'angle';
|
||||
SELECT RAISE(ABORT, 'insert on helmert_transformation violates constraint: rate_scale_difference_uom.type must be ''scale''')
|
||||
WHERE (SELECT type FROM unit_of_measure WHERE unit_of_measure.auth_name = NEW.rate_scale_difference_uom_auth_name AND unit_of_measure.code = NEW.rate_scale_difference_uom_code) != 'scale';
|
||||
SELECT RAISE(ABORT, 'insert on helmert_transformation violates constraint: epoch_uom.type must be ''time''')
|
||||
WHERE (SELECT type FROM unit_of_measure WHERE unit_of_measure.auth_name = NEW.epoch_uom_auth_name AND unit_of_measure.code = NEW.epoch_uom_code) != 'time';
|
||||
SELECT RAISE(ABORT, 'insert on helmert_transformation violates constraint: pivot_uom.type must be ''length''')
|
||||
WHERE (SELECT type FROM unit_of_measure WHERE unit_of_measure.auth_name = NEW.pivot_uom_auth_name AND unit_of_measure.code = NEW.pivot_uom_code) != 'length';
|
||||
SELECT RAISE(ABORT, 'insert on helmert_transformation violates constraint: source_crs must not be deprecated when helmert_transformation is not deprecated')
|
||||
WHERE EXISTS(SELECT 1 FROM crs_view crs WHERE crs.auth_name = NEW.source_crs_auth_name AND crs.code = NEW.source_crs_code AND crs.deprecated != 0) AND NEW.deprecated = 0 AND NOT (NEW.auth_name = 'ESRI') AND NOT (NEW.auth_name = 'PROJ' AND NEW.code LIKE 'OLD_EPSG_%') AND NOT (NEW.auth_name = 'EPSG' AND NEW.code = 10786);
|
||||
SELECT RAISE(ABORT, 'insert on helmert_transformation violates constraint: target_crs must not be deprecated when helmert_transformation is not deprecated')
|
||||
WHERE EXISTS(SELECT 1 FROM crs_view crs WHERE crs.auth_name = NEW.target_crs_auth_name AND crs.code = NEW.target_crs_code AND crs.deprecated != 0) AND NEW.deprecated = 0 AND NOT (NEW.auth_name = 'ESRI') AND NOT (NEW.auth_name = 'PROJ' AND NEW.code LIKE 'OLD_EPSG_%') AND NOT (NEW.auth_name = 'EPSG' AND NEW.code IN (10786, 10787));
|
||||
|
||||
SELECT RAISE(ABORT, 'insert on helmert_transformation violates constraint: target_crs(auth_name, code) not found')
|
||||
WHERE NOT EXISTS (SELECT 1 FROM crs_view WHERE crs_view.auth_name = NEW.target_crs_auth_name AND crs_view.code = NEW.target_crs_code);
|
||||
|
||||
SELECT RAISE(ABORT, 'insert on helmert_transformation violates constraint: target_crs must be geodetic or compound')
|
||||
WHERE NOT EXISTS (SELECT 1 FROM crs_view WHERE crs_view.auth_name = NEW.target_crs_auth_name AND crs_view.code = NEW.target_crs_code AND crs_view.type IN ('geographic 2D', 'geographic 3D', 'geocentric', 'compound'));
|
||||
|
||||
-- check that source and target of the same nature
|
||||
SELECT RAISE(ABORT, 'insert on helmert_transformation violates constraint: source CRS and target CRS must have consistent geodetic_crs.type')
|
||||
WHERE EXISTS (SELECT 1 FROM crs_view crs1, crs_view crs2 WHERE
|
||||
crs1.auth_name = NEW.source_crs_auth_name AND crs1.code = NEW.source_crs_code
|
||||
AND crs2.auth_name = NEW.target_crs_auth_name AND crs2.code = NEW.target_crs_code
|
||||
AND NEW.deprecated = 0 AND (
|
||||
NOT ((crs1.type = crs2.type AND crs1.type IN ('geographic 2D', 'geographic 3D', 'geocentric') AND
|
||||
NOT(NEW.method_auth_name = 'EPSG' AND NEW.method_code = 1149)) OR
|
||||
(crs1.type = 'geographic 3D' and crs2.type = 'compound' AND
|
||||
NEW.method_auth_name = 'EPSG' AND NEW.method_code = 1149))));
|
||||
|
||||
-- check that the method used by a Helmert transformation is consistent with the dimensionality of the CRS
|
||||
SELECT RAISE(ABORT, 'insert on helmert_transformation violates constraint: the domain of the method of helmert_transformation should be consistent with the dimensionality of the CRS')
|
||||
WHERE NEW.deprecated = 0 AND
|
||||
(NOT(NEW.method_auth_name = 'EPSG' AND NEW.method_code = 1149) AND EXISTS (SELECT 1 FROM geodetic_crs crs
|
||||
LEFT JOIN coordinate_operation_method m ON
|
||||
NEW.method_auth_name = m.auth_name AND NEW.method_code = m.code
|
||||
WHERE
|
||||
crs.auth_name = NEW.source_crs_auth_name AND crs.code = NEW.source_crs_code AND
|
||||
((m.name LIKE '%geog2D domain%' AND crs.type != 'geographic 2D') OR
|
||||
(m.name LIKE '%geog3D domain%' AND crs.type != 'geographic 3D') OR
|
||||
(m.name LIKE '%geocentric domain%' AND crs.type != 'geocentric')))
|
||||
OR (NEW.method_auth_name = 'EPSG' AND NEW.method_code = 1149 AND EXISTS (SELECT 1 FROM compound_crs crs
|
||||
LEFT JOIN coordinate_operation_method m ON
|
||||
NEW.method_auth_name = m.auth_name AND NEW.method_code = m.code
|
||||
WHERE
|
||||
crs.auth_name = NEW.target_crs_auth_name AND crs.code = NEW.target_crs_code AND
|
||||
m.name NOT LIKE '%geog3D domain%')));
|
||||
|
||||
-- check that a time-dependent Helmert transformation has its source or target CRS being dynamic
|
||||
SELECT RAISE(ABORT, 'insert on helmert_transformation violates constraint: a time-dependent Helmert transformations should have at least one of its source or target CRS dynamic')
|
||||
WHERE NEW.deprecated = 0
|
||||
AND EXISTS (SELECT 1 FROM coordinate_operation_method m
|
||||
WHERE NEW.method_auth_name = m.auth_name AND NEW.method_code = m.code AND
|
||||
m.name LIKE 'Time-dependent%')
|
||||
AND EXISTS (
|
||||
SELECT 1 FROM geodetic_crs crs
|
||||
JOIN geodetic_datum gd ON
|
||||
gd.auth_name = crs.datum_auth_name AND gd.code = crs.datum_code
|
||||
WHERE crs.auth_name = NEW.source_crs_auth_name AND
|
||||
crs.code = NEW.source_crs_code AND
|
||||
gd.frame_reference_epoch IS NULL)
|
||||
AND EXISTS (
|
||||
SELECT 1 FROM geodetic_crs crs
|
||||
JOIN geodetic_datum gd ON
|
||||
gd.auth_name = crs.datum_auth_name AND gd.code = crs.datum_code
|
||||
WHERE crs.auth_name = NEW.target_crs_auth_name AND
|
||||
crs.code = NEW.target_crs_code AND
|
||||
gd.frame_reference_epoch IS NULL);
|
||||
|
||||
END;
|
||||
|
||||
CREATE TRIGGER grid_transformation_insert_trigger
|
||||
BEFORE INSERT ON grid_transformation
|
||||
FOR EACH ROW BEGIN
|
||||
SELECT RAISE(ABORT, 'insert on grid_transformation violates constraint: (auth_name, code) must not already exist in coordinate_operation_with_conversion_view')
|
||||
WHERE EXISTS (SELECT 1 FROM coordinate_operation_with_conversion_view covwv WHERE covwv.auth_name = NEW.auth_name AND covwv.code = NEW.code);
|
||||
|
||||
SELECT RAISE(ABORT, 'insert on grid_transformation violates constraint: name (of a non-deprecated entry) must not already exist in (a non-deprecated entry of) coordinate_operation_with_conversion_view')
|
||||
WHERE EXISTS (SELECT 1 FROM coordinate_operation_with_conversion_view covwv WHERE covwv.name = NEW.name AND covwv.deprecated = 0 AND NEW.deprecated = 0
|
||||
AND NEW.auth_name IN (SELECT auth_name FROM builtin_authorities WHERE auth_name != 'IGNF')
|
||||
AND NOT (NEW.description LIKE 'Reversible alternative to%' AND covwv.description NOT LIKE 'Reversible alternative to%')
|
||||
AND NEW.code NOT LIKE '%_WITH_NAD83CSRSV7_INTERPOLATION'
|
||||
);
|
||||
|
||||
SELECT RAISE(ABORT, 'insert on grid_transformation violates constraint: source_crs(auth_name, code) not found')
|
||||
WHERE NOT EXISTS (SELECT 1 FROM crs_view WHERE crs_view.auth_name = NEW.source_crs_auth_name AND crs_view.code = NEW.source_crs_code);
|
||||
|
||||
SELECT RAISE(ABORT, 'insert on grid_transformation violates constraint: target_crs(auth_name, code) not found')
|
||||
WHERE NOT EXISTS (SELECT 1 FROM crs_view WHERE crs_view.auth_name = NEW.target_crs_auth_name AND crs_view.code = NEW.target_crs_code);
|
||||
|
||||
SELECT RAISE(ABORT, 'insert on grid_transformation violates constraint: interpolation_crs(auth_name, code) not found')
|
||||
WHERE NEW.interpolation_crs_code IS NOT NULL AND NOT EXISTS (SELECT 1 FROM crs_view WHERE crs_view.auth_name = NEW.interpolation_crs_auth_name AND crs_view.code = NEW.interpolation_crs_code);
|
||||
|
||||
SELECT RAISE(ABORT, 'insert on grid_transformation violates constraint: interpolation_crs must be a GeodeticCRS on non-TIN shift based files')
|
||||
WHERE NEW.method_name NOT LIKE '%JSON%' AND NEW.interpolation_crs_code IS NOT NULL AND NOT EXISTS (SELECT 1 FROM geodetic_crs WHERE geodetic_crs.auth_name = NEW.interpolation_crs_auth_name AND geodetic_crs.code = NEW.interpolation_crs_code);
|
||||
|
||||
SELECT RAISE(ABORT, 'insert on grid_transformation violates constraint: source_crs must not be deprecated when grid_transformation is not deprecated')
|
||||
WHERE EXISTS(SELECT 1 FROM crs_view crs WHERE crs.auth_name = NEW.source_crs_auth_name AND crs.code = NEW.source_crs_code AND crs.deprecated != 0) AND NEW.deprecated = 0 AND NOT (NEW.auth_name = 'ESRI') AND NOT (NEW.auth_name = 'PROJ' AND NEW.code LIKE 'OLD_EPSG_%');
|
||||
SELECT RAISE(ABORT, 'insert on grid_transformation violates constraint: target_crs must not be deprecated when grid_transformation is not deprecated')
|
||||
WHERE EXISTS(SELECT 1 FROM crs_view crs WHERE crs.auth_name = NEW.target_crs_auth_name AND crs.code = NEW.target_crs_code AND crs.deprecated != 0) AND NEW.deprecated = 0 AND NOT (NEW.auth_name = 'ESRI') AND NOT (NEW.auth_name = 'PROJ' AND NEW.code LIKE 'OLD_EPSG_%');
|
||||
|
||||
-- check that grids with NTv2 method are properly registered
|
||||
SELECT RAISE(ABORT, 'insert on grid_transformation violates constraint: grid_transformation with NTv2 must have its source_crs in geodetic_crs table with type = ''geographic 2D''')
|
||||
WHERE NEW.method_name = 'NTv2' AND
|
||||
NOT EXISTS (SELECT 1 FROM geodetic_crs crs WHERE
|
||||
NEW.source_crs_auth_name = crs.auth_name AND
|
||||
NEW.source_crs_code = crs.code AND
|
||||
crs.type = 'geographic 2D');
|
||||
|
||||
SELECT RAISE(ABORT, 'insert on grid_transformation violates constraint: grid_transformation with NTv2 has have its target_crs in geodetic_crs table with type = ''geographic 2D''')
|
||||
WHERE NEW.method_name = 'NTv2' AND
|
||||
NOT EXISTS (SELECT 1 FROM geodetic_crs crs WHERE
|
||||
NEW.target_crs_auth_name = crs.auth_name AND
|
||||
NEW.target_crs_code = crs.code AND
|
||||
crs.type = 'geographic 2D');
|
||||
|
||||
-- check that grids with Geographic3D to GravityRelatedHeight method are properly registered
|
||||
SELECT RAISE(ABORT, 'insert on grid_transformation violates constraint: grid_transformation with Geographic3D to GravityRelatedHeight must have its target_crs in vertical_crs table')
|
||||
WHERE NEW.deprecated = 0 AND
|
||||
NEW.method_name LIKE 'Geographic3D to GravityRelatedHeight%' AND
|
||||
NOT EXISTS (SELECT 1 FROM vertical_crs crs WHERE
|
||||
NEW.target_crs_auth_name = crs.auth_name AND
|
||||
NEW.target_crs_code = crs.code);
|
||||
|
||||
SELECT RAISE(ABORT, 'insert on grid_transformation violates constraint: grid_transformation with Geographic3D to GravityRelatedHeight or Geog3D to Geog2D+XXX must have its source_crs in geodetic_crs table with type = ''geographic 3D''')
|
||||
WHERE NEW.deprecated = 0 AND
|
||||
(NEW.method_name LIKE 'Geographic3D to %' OR NEW.method_name LIKE 'Geog3D to %') AND
|
||||
NOT EXISTS (SELECT 1 FROM geodetic_crs crs WHERE
|
||||
NEW.source_crs_auth_name = crs.auth_name AND
|
||||
NEW.source_crs_code = crs.code AND
|
||||
crs.type = 'geographic 3D');
|
||||
|
||||
-- check that transformations with Geog3D to Geog2D+GravityRelatedHeight/Depth family of methods are properly registered
|
||||
SELECT RAISE(ABORT, 'insert on grid_transformation violates constraint: a transformation Geog3D to Geog2D+GravityRelatedHeight/Depth must have a geog3D CRS as source')
|
||||
WHERE NEW.deprecated = 0 AND
|
||||
NEW.method_name LIKE 'Geog3D to Geog2D+%' AND
|
||||
NOT EXISTS (SELECT 1 FROM geodetic_crs gcrs WHERE
|
||||
gcrs.auth_name = NEW.source_crs_auth_name AND gcrs.code = NEW.source_crs_code
|
||||
AND gcrs.type = 'geographic 3D');
|
||||
|
||||
SELECT RAISE(ABORT, 'insert on grid_transformation violates constraint: a transformation Geog3D to Geog2D+GravityRelatedHeight/Depth must have a compound CRS with a geog2D CRS as target')
|
||||
WHERE NEW.deprecated = 0 AND
|
||||
NEW.method_name LIKE 'Geog3D to Geog2D+%' AND
|
||||
NOT EXISTS (SELECT 1 FROM compound_crs ccrs
|
||||
LEFT JOIN geodetic_crs gcrs ON
|
||||
gcrs.auth_name = horiz_crs_auth_name AND gcrs.code = horiz_crs_code
|
||||
WHERE
|
||||
ccrs.auth_name = NEW.target_crs_auth_name AND ccrs.code = NEW.target_crs_code
|
||||
AND gcrs.type = 'geographic 2D');
|
||||
|
||||
SELECT RAISE(ABORT, 'insert on grid_transformation violates constraint: a transformation Geog3D to Geog2D+GravityRelatedHeight/Depth must use the same geodetic datum for the source and target CRS')
|
||||
WHERE NEW.deprecated = 0 AND
|
||||
NEW.method_name LIKE 'Geog3D to Geog2D+%' AND
|
||||
-- Exception for following CRS 'ETRS89-CZE [2007] to ETRS89-CZE [2007] + Baltic 1957 height (2)'
|
||||
(NOT (NEW.auth_name = 'EPSG' AND NEW.code = 10568)) AND
|
||||
NOT EXISTS (SELECT 1 FROM compound_crs ccrs
|
||||
LEFT JOIN geodetic_crs target_gcrs ON
|
||||
target_gcrs.auth_name = horiz_crs_auth_name AND target_gcrs.code = horiz_crs_code
|
||||
LEFT JOIN geodetic_crs source_gcrs ON
|
||||
source_gcrs.auth_name = NEW.source_crs_auth_name AND source_gcrs.code = NEW.source_crs_code
|
||||
WHERE
|
||||
ccrs.auth_name = NEW.target_crs_auth_name AND ccrs.code = NEW.target_crs_code
|
||||
AND source_gcrs.name = target_gcrs.name);
|
||||
|
||||
-- check that grids with 'Vertical Offset by Grid Interpolation' methods are properly registered
|
||||
SELECT RAISE(ABORT, 'insert on grid_transformation violates constraint: grid_transformation with Vertical Offset by Grid Interpolation must have its source_crs in vertical_crs table')
|
||||
WHERE NEW.method_name LIKE 'Vertical Offset by Grid Interpolation%' AND
|
||||
NOT EXISTS (SELECT 1 FROM vertical_crs crs WHERE
|
||||
NEW.source_crs_auth_name = crs.auth_name AND
|
||||
NEW.source_crs_code = crs.code);
|
||||
|
||||
SELECT RAISE(ABORT, 'insert on grid_transformation violates constraint: grid_transformation with Vertical Offset by Grid Interpolation must have its target_crs in vertical_crs table')
|
||||
WHERE NEW.method_name LIKE 'Vertical Offset by Grid Interpolation%' AND
|
||||
NOT EXISTS (SELECT 1 FROM vertical_crs crs WHERE
|
||||
NEW.target_crs_auth_name = crs.auth_name AND
|
||||
NEW.target_crs_code = crs.code);
|
||||
|
||||
-- check that grids with 'Geocentric translations using NEU velocity grid (gtg)' method are properly registered
|
||||
SELECT RAISE(ABORT, 'insert on grid_transformation violates constraint: source_crs(auth_name, code) must be Geocentric')
|
||||
WHERE NEW.method_name IN ('Geocentric translations using NEU velocity grid (gtg)') AND NOT EXISTS (SELECT 1 FROM geodetic_crs gcrs WHERE gcrs.auth_name = NEW.source_crs_auth_name AND gcrs.code = NEW.source_crs_code AND type = 'geocentric');
|
||||
|
||||
SELECT RAISE(ABORT, 'insert on grid_transformation violates constraint: target_crs(auth_name, code) must be Geocentric')
|
||||
WHERE NEW.method_name IN ('Geocentric translations using NEU velocity grid (gtg)') AND NOT EXISTS (SELECT 1 FROM geodetic_crs gcrs WHERE gcrs.auth_name = NEW.target_crs_auth_name AND gcrs.code = NEW.target_crs_code AND type = 'geocentric');
|
||||
END;
|
||||
|
||||
CREATE TRIGGER grid_packages_insert_trigger
|
||||
BEFORE INSERT ON grid_packages
|
||||
FOR EACH ROW BEGIN
|
||||
SELECT RAISE(ABORT, 'insert on grid_packages violates constraint: open_license must be set when url is not NULL')
|
||||
WHERE NEW.open_license IS NULL AND NEW.url IS NOT NULL;
|
||||
SELECT RAISE(ABORT, 'insert on grid_packages violates constraint: direct_download must be set when url is not NULL')
|
||||
WHERE NEW.direct_download IS NULL AND NEW.url IS NOT NULL;
|
||||
END;
|
||||
|
||||
CREATE TRIGGER grid_alternatives_insert_trigger
|
||||
BEFORE INSERT ON grid_alternatives
|
||||
FOR EACH ROW BEGIN
|
||||
SELECT RAISE(ABORT, 'insert on grid_alternatives violates constraint: original_grid_name must be referenced in grid_transformation.grid_name or in other_transformation.method_name')
|
||||
WHERE NEW.original_grid_name NOT LIKE 'NOT-YET-IN-GRID-TRANSFORMATION-%' AND
|
||||
NOT EXISTS (
|
||||
SELECT 1 FROM grid_transformation WHERE grid_name = NEW.original_grid_name
|
||||
UNION ALL
|
||||
SELECT 1 FROM other_transformation WHERE
|
||||
(method_auth_name = 'PROJ' AND
|
||||
method_name LIKE '%' || NEW.original_grid_name || '%') OR grid_name = NEW.original_grid_name);
|
||||
END;
|
||||
|
||||
CREATE TRIGGER other_transformation_insert_trigger
|
||||
BEFORE INSERT ON other_transformation
|
||||
FOR EACH ROW BEGIN
|
||||
SELECT RAISE(ABORT, 'insert on other_transformation violates constraint: (auth_name, code) must not already exist in coordinate_operation_with_conversion_view')
|
||||
WHERE EXISTS (SELECT 1 FROM coordinate_operation_with_conversion_view covwv WHERE covwv.auth_name = NEW.auth_name AND covwv.code = NEW.code);
|
||||
|
||||
SELECT RAISE(ABORT, 'insert on other_transformation violates constraint: name (of a non-deprecated entry) must not already exist in (a non-deprecated entry of) coordinate_operation_with_conversion_view')
|
||||
WHERE EXISTS (SELECT 1 FROM coordinate_operation_with_conversion_view covwv WHERE covwv.name = NEW.name AND covwv.deprecated = 0 AND NEW.deprecated = 0
|
||||
AND NEW.auth_name IN (SELECT auth_name FROM builtin_authorities WHERE auth_name != 'IGNF')
|
||||
);
|
||||
|
||||
SELECT RAISE(ABORT, 'insert on other_transformation violates constraint: source_crs(auth_name, code) not found')
|
||||
WHERE NOT EXISTS (SELECT 1 FROM crs_view WHERE crs_view.auth_name = NEW.source_crs_auth_name AND crs_view.code = NEW.source_crs_code);
|
||||
|
||||
SELECT RAISE(ABORT, 'insert on other_transformation violates constraint: target_crs(auth_name, code) not found')
|
||||
WHERE NOT EXISTS (SELECT 1 FROM crs_view WHERE crs_view.auth_name = NEW.target_crs_auth_name AND crs_view.code = NEW.target_crs_code);
|
||||
|
||||
SELECT RAISE(ABORT, 'insert on other_transformation violates constraint: source_crs must not be deprecated when other_transformation is not deprecated')
|
||||
WHERE EXISTS(SELECT 1 FROM crs_view crs WHERE crs.auth_name = NEW.source_crs_auth_name AND crs.code = NEW.source_crs_code AND crs.deprecated != 0) AND NEW.deprecated = 0 AND NOT (NEW.auth_name = 'ESRI');
|
||||
SELECT RAISE(ABORT, 'insert on other_transformation violates constraint: target_crs must not be deprecated when other_transformation is not deprecated')
|
||||
WHERE EXISTS(SELECT 1 FROM crs_view crs WHERE crs.auth_name = NEW.target_crs_auth_name AND crs.code = NEW.target_crs_code AND crs.deprecated != 0) AND NEW.deprecated = 0 AND NOT (NEW.auth_name = 'ESRI');
|
||||
|
||||
-- check that transformations operations between vertical CRS are from/into a vertical CRS
|
||||
SELECT RAISE(ABORT, 'insert on other_transformation violates constraint: transformation operating on vertical CRS must have a source CRS being a vertical CRS')
|
||||
WHERE NEW.deprecated = 0 AND
|
||||
NEW.method_name IN ('Vertical Offset', 'Height Depth Reversal', 'Change of Vertical Unit') AND
|
||||
NOT EXISTS (SELECT 1 FROM vertical_crs crs WHERE
|
||||
crs.auth_name = NEW.source_crs_auth_name AND crs.code = NEW.source_crs_code);
|
||||
|
||||
SELECT RAISE(ABORT, 'insert on other_transformation violates constraint: transformation operating on vertical CRS must have a target CRS being a vertical CRS')
|
||||
WHERE NEW.deprecated = 0 AND
|
||||
NEW.method_name IN ('Vertical Offset', 'Height Depth Reversal', 'Change of Vertical Unit') AND
|
||||
NOT EXISTS (SELECT 1 FROM vertical_crs crs WHERE
|
||||
crs.auth_name = NEW.target_crs_auth_name AND crs.code = NEW.target_crs_code);
|
||||
|
||||
-- check that 'Geographic2D with Height Offsets' transformations have a compound CRS with a geog2D as source
|
||||
SELECT RAISE(ABORT, 'insert on other_transformation violates constraint: a transformation Geographic2D with Height Offsets must have a compound CRS with a geog2D as source')
|
||||
WHERE NEW.deprecated = 0 AND
|
||||
NEW.method_name = 'Geographic2D with Height Offsets' AND
|
||||
NOT EXISTS (SELECT 1 FROM compound_crs ccrs
|
||||
LEFT JOIN geodetic_crs gcrs ON
|
||||
gcrs.auth_name = horiz_crs_auth_name AND gcrs.code = horiz_crs_code
|
||||
WHERE
|
||||
ccrs.auth_name = NEW.source_crs_auth_name AND ccrs.code = NEW.source_crs_code
|
||||
AND gcrs.type = 'geographic 2D');
|
||||
|
||||
SELECT RAISE(ABORT, 'insert on other_transformation violates constraint: a transformation Geographic2D with Height Offsets must have a geographic 3D CRS as target')
|
||||
WHERE NEW.deprecated = 0 AND
|
||||
NEW.method_name = 'Geographic2D with Height Offsets' AND
|
||||
NOT EXISTS (SELECT 1 FROM geodetic_crs gcrs WHERE
|
||||
gcrs.auth_name = NEW.target_crs_auth_name AND gcrs.code = NEW.target_crs_code
|
||||
AND gcrs.type = 'geographic 3D');
|
||||
|
||||
-- check that operations with 'Geocen translations by grid (gtg) & Geocen translations NEU velocities (gtg)' and 'Position Vector (geocen) & Geocen translations NEU velocities (gtg)' methods are properly registered
|
||||
SELECT RAISE(ABORT, 'insert on other_transformation violates constraint: source_crs(auth_name, code) must be Geocentric')
|
||||
WHERE NEW.method_name IN ('Geocen translations by grid (gtg) & Geocen translations NEU velocities (gtg)', 'Position Vector (geocen) & Geocen translations NEU velocities (gtg)') AND NOT EXISTS (SELECT 1 FROM geodetic_crs gcrs WHERE gcrs.auth_name = NEW.source_crs_auth_name AND gcrs.code = NEW.source_crs_code AND type = 'geocentric');
|
||||
|
||||
SELECT RAISE(ABORT, 'insert on other_transformation violates constraint: target_crs(auth_name, code) must be Geocentric')
|
||||
WHERE NEW.method_name IN ('Geocen translations by grid (gtg) & Geocen translations NEU velocities (gtg)', 'Position Vector (geocen) & Geocen translations NEU velocities (gtg)') AND NOT EXISTS (SELECT 1 FROM geodetic_crs gcrs WHERE gcrs.auth_name = NEW.target_crs_auth_name AND gcrs.code = NEW.target_crs_code AND type = 'geocentric');
|
||||
|
||||
END;
|
||||
|
||||
CREATE TRIGGER concatenated_operation_insert_trigger
|
||||
BEFORE INSERT ON concatenated_operation
|
||||
FOR EACH ROW BEGIN
|
||||
|
||||
SELECT RAISE(ABORT, 'insert on concatenated_operation violates constraint: (auth_name, code) must not already exist in coordinate_operation_with_conversion_view')
|
||||
WHERE EXISTS (SELECT 1 FROM coordinate_operation_with_conversion_view covwv WHERE covwv.auth_name = NEW.auth_name AND covwv.code = NEW.code);
|
||||
|
||||
SELECT RAISE(ABORT, 'insert on concatenated_operation violates constraint: name (of a non-deprecated entry) must not already exist in (a non-deprecated entry of) coordinate_operation_with_conversion_view')
|
||||
WHERE EXISTS (SELECT 1 FROM coordinate_operation_with_conversion_view covwv WHERE covwv.name = NEW.name AND covwv.deprecated = 0 AND NEW.deprecated = 0
|
||||
AND NEW.auth_name IN (SELECT auth_name FROM builtin_authorities WHERE auth_name != 'IGNF')
|
||||
);
|
||||
|
||||
SELECT RAISE(ABORT, 'insert on concatenated_operation violates constraint: source_crs(auth_name, code) not found')
|
||||
WHERE NOT EXISTS (SELECT 1 FROM crs_view WHERE crs_view.auth_name = NEW.source_crs_auth_name AND crs_view.code = NEW.source_crs_code);
|
||||
|
||||
SELECT RAISE(ABORT, 'insert on concatenated_operation violates constraint: target_crs(auth_name, code) not found')
|
||||
WHERE NOT EXISTS (SELECT 1 FROM crs_view WHERE crs_view.auth_name = NEW.target_crs_auth_name AND crs_view.code = NEW.target_crs_code);
|
||||
|
||||
SELECT RAISE(ABORT, 'insert on concatenated_operation violates constraint: source_crs must not be deprecated when concatenated_operation is not deprecated')
|
||||
WHERE EXISTS(SELECT 1 FROM crs_view crs WHERE crs.auth_name = NEW.source_crs_auth_name AND crs.code = NEW.source_crs_code AND crs.deprecated != 0) AND NEW.deprecated = 0 AND NOT (NEW.auth_name = 'ESRI');
|
||||
SELECT RAISE(ABORT, 'insert on concatenated_operation violates constraint: target_crs must not be deprecated when concatenated_operation is not deprecated')
|
||||
WHERE EXISTS(SELECT 1 FROM crs_view crs WHERE crs.auth_name = NEW.target_crs_auth_name AND crs.code = NEW.target_crs_code AND crs.deprecated != 0) AND NEW.deprecated = 0 AND NOT (NEW.auth_name = 'ESRI');
|
||||
END;
|
||||
|
||||
CREATE TRIGGER concatenated_operation_step_insert_trigger
|
||||
BEFORE INSERT ON concatenated_operation_step
|
||||
FOR EACH ROW BEGIN
|
||||
|
||||
SELECT RAISE(ABORT, 'insert on concatenated_operation_step violates constraint: (step_auth_name, step_code) must already exist in coordinate_operation_with_conversion_view')
|
||||
WHERE NOT EXISTS (SELECT 1 FROM coordinate_operation_with_conversion_view covwv WHERE covwv.auth_name = NEW.step_auth_name AND covwv.code = NEW.step_code);
|
||||
|
||||
SELECT RAISE(ABORT, 'insert on concatenated_operation_step violates constraint: step should not be a concatenated_operation')
|
||||
WHERE EXISTS(SELECT 1 FROM concatenated_operation WHERE auth_name = NEW.step_auth_name AND code = NEW.step_code);
|
||||
|
||||
-- NOTE: it would be good to be able to do the same for the last step, but
|
||||
-- we don't know at INSERT time which one is going to be the last one...
|
||||
SELECT RAISE(ABORT, 'insert on concatenated_operation_step violates constraint: step 1 must be a conversion or its source_crs or target_crs must be the source_crs of the concatenated_operation')
|
||||
WHERE
|
||||
NEW.step_number = 1
|
||||
-- skip deprecated concatenated operations, or some blocklisted EPSG operations
|
||||
AND NOT EXISTS (
|
||||
SELECT 1 FROM concatenated_operation concat_op WHERE
|
||||
concat_op.auth_name = NEW.operation_auth_name AND concat_op.code = NEW.operation_code
|
||||
AND concat_op.deprecated = 1)
|
||||
|
||||
-- check if source_crs of step 1 is the source_crs of the concatenated_operation (by CRS code)
|
||||
AND NOT EXISTS (
|
||||
SELECT 1 FROM coordinate_operation_view step_op
|
||||
LEFT JOIN concatenated_operation concat_op ON
|
||||
concat_op.auth_name = NEW.operation_auth_name AND concat_op.code = NEW.operation_code
|
||||
WHERE concat_op.deprecated = 0
|
||||
AND step_op.auth_name = NEW.step_auth_name AND step_op.code = NEW.step_code
|
||||
AND concat_op.source_crs_auth_name = step_op.source_crs_auth_name
|
||||
AND concat_op.source_crs_code = step_op.source_crs_code)
|
||||
|
||||
-- same as above, but check by CRS name, and only for geodetic CRS.
|
||||
-- For example the concatenated operation EPSG:9683 ("ITRF2014 to GDA94 (2)")
|
||||
-- has EPSG:9000 "ITRF2014" (geographic 2D) as source CRS
|
||||
-- but its first step is EPSG:8049 ("ITRF2014 to GDA2020 (1)") which has
|
||||
-- EPSG:7789 "ITRF2014" (geocentric) as source CRS !
|
||||
AND NOT EXISTS (
|
||||
SELECT 1 FROM coordinate_operation_view step_op
|
||||
LEFT JOIN concatenated_operation concat_op ON
|
||||
concat_op.auth_name = NEW.operation_auth_name AND concat_op.code = NEW.operation_code
|
||||
LEFT JOIN geodetic_crs concat_op_source_crs ON
|
||||
concat_op_source_crs.auth_name = concat_op.source_crs_auth_name
|
||||
AND concat_op_source_crs.code = concat_op.source_crs_code
|
||||
LEFT JOIN geodetic_crs step_op_source_crs ON
|
||||
step_op_source_crs.auth_name = step_op.source_crs_auth_name
|
||||
AND step_op_source_crs.code = step_op.source_crs_code
|
||||
WHERE concat_op.deprecated = 0
|
||||
AND step_op.auth_name = NEW.step_auth_name AND step_op.code = NEW.step_code
|
||||
AND concat_op_source_crs.name = step_op_source_crs.name)
|
||||
|
||||
-- case for EPSG:10146 "INAGeoid2020 v1 height to INAGeoid v2 height (1)"
|
||||
-- that has EPSG:9471 "INAGeoid2020 v1 height" as source CRS
|
||||
-- but its first step is EPSG:9629 "SRGI2013 to SRGI2013 + INAGeoid2020 v1 height (1)"
|
||||
-- that has EPSG:9529 "SRGI2013 + INAGeoid2020 v1 height" as target CRS
|
||||
AND NOT EXISTS (
|
||||
SELECT 1 FROM coordinate_operation_view step_op
|
||||
LEFT JOIN concatenated_operation concat_op ON
|
||||
concat_op.auth_name = NEW.operation_auth_name AND concat_op.code = NEW.operation_code
|
||||
LEFT JOIN vertical_crs concat_op_source_crs ON
|
||||
concat_op_source_crs.auth_name = concat_op.source_crs_auth_name
|
||||
AND concat_op_source_crs.code = concat_op.source_crs_code
|
||||
LEFT JOIN compound_crs step_op_target_crs ON
|
||||
step_op_target_crs.auth_name = step_op.target_crs_auth_name
|
||||
AND step_op_target_crs.code = step_op.target_crs_code
|
||||
WHERE concat_op.deprecated = 0
|
||||
AND step_op.auth_name = NEW.step_auth_name AND step_op.code = NEW.step_code
|
||||
AND step_op_target_crs.name LIKE '% + '|| concat_op_source_crs.name)
|
||||
|
||||
-- or if source_crs of step 1 is the target_crs of the concatenated_operation
|
||||
AND NOT EXISTS (
|
||||
SELECT 1 FROM coordinate_operation_view step_op
|
||||
LEFT JOIN concatenated_operation concat_op ON
|
||||
concat_op.auth_name = NEW.operation_auth_name AND concat_op.code = NEW.operation_code
|
||||
WHERE concat_op.deprecated = 0
|
||||
AND step_op.auth_name = NEW.step_auth_name AND step_op.code = NEW.step_code
|
||||
AND concat_op.source_crs_auth_name = step_op.target_crs_auth_name
|
||||
AND concat_op.source_crs_code = step_op.target_crs_code)
|
||||
|
||||
-- or if source_crs of step 1 is a conversion
|
||||
AND NOT EXISTS (
|
||||
SELECT 1 FROM conversion_table step_op
|
||||
LEFT JOIN concatenated_operation concat_op ON
|
||||
concat_op.auth_name = NEW.operation_auth_name AND concat_op.code = NEW.operation_code
|
||||
WHERE concat_op.deprecated = 0
|
||||
AND step_op.auth_name = NEW.step_auth_name AND step_op.code = NEW.step_code)
|
||||
;
|
||||
END;
|
||||
|
||||
CREATE TRIGGER geoid_model_insert_trigger
|
||||
BEFORE INSERT ON geoid_model
|
||||
FOR EACH ROW BEGIN
|
||||
SELECT RAISE(ABORT, 'insert on geoid_model violates constraint: (operation_auth_name, operation_code) must already exist in coordinate_operation_with_conversion_view')
|
||||
WHERE NOT EXISTS (SELECT 1 FROM coordinate_operation_with_conversion_view covwv WHERE covwv.auth_name = NEW.operation_auth_name AND covwv.code = NEW.operation_code);
|
||||
END;
|
||||
|
||||
CREATE TRIGGER alias_name_insert_trigger
|
||||
BEFORE INSERT ON alias_name
|
||||
FOR EACH ROW BEGIN
|
||||
SELECT RAISE(ABORT, 'insert on alias_name violates constraint: new entry refers to unexisting code')
|
||||
WHERE NOT EXISTS (SELECT 1 FROM object_view o WHERE o.table_name = NEW.table_name AND o.auth_name = NEW.auth_name AND o.code = NEW.code);
|
||||
END;
|
||||
|
||||
CREATE TRIGGER derived_projected_crs_insert_trigger
|
||||
BEFORE INSERT ON derived_projected_crs
|
||||
FOR EACH ROW BEGIN
|
||||
|
||||
SELECT RAISE(ABORT, 'insert on derived_projected_crs violates constraint: (auth_name, code) must not already exist in crs_view')
|
||||
WHERE EXISTS (SELECT 1 FROM crs_view WHERE crs_view.auth_name = NEW.auth_name AND crs_view.code = NEW.code);
|
||||
|
||||
SELECT RAISE(ABORT, 'insert on derived_projected_crs violates constraint: name (of a non-deprecated entry) must not already exist in (a non-deprecated entry of) crs_view')
|
||||
WHERE EXISTS (SELECT 1 FROM crs_view WHERE crs_view.name = NEW.name AND crs_view.deprecated = 0 AND NEW.deprecated = 0
|
||||
);
|
||||
|
||||
SELECT RAISE(ABORT, 'insert on derived_projected_crs violates constraint: base_crs must not be deprecated when derived_projected_crs is not deprecated')
|
||||
WHERE EXISTS(SELECT 1 FROM projected_crs WHERE projected_crs.auth_name = NEW.base_crs_auth_name AND projected_crs.code = NEW.base_crs_code AND projected_crs.deprecated != 0) AND NEW.deprecated = 0;
|
||||
|
||||
SELECT RAISE(ABORT, 'insert on derived_projected_crs violates constraint: conversion must exist when text_definition is NULL')
|
||||
WHERE NOT EXISTS(SELECT 1 FROM conversion WHERE conversion.auth_name = NEW.conversion_auth_name AND conversion.code = NEW.conversion_code) AND NEW.text_definition IS NULL;
|
||||
|
||||
SELECT RAISE(ABORT, 'insert on derived_projected_crs violates constraint: conversion must not be deprecated when derived_projected_crs is not deprecated')
|
||||
WHERE EXISTS(SELECT 1 FROM conversion WHERE conversion.auth_name = NEW.conversion_auth_name AND conversion.code = NEW.conversion_code AND conversion.deprecated != 0) AND NEW.deprecated = 0;
|
||||
|
||||
SELECT RAISE(ABORT, 'insert on derived_projected_crs violates constraint: coordinate_system.type must be one of ''affine'', ''Cartesian'', ''cylindrical'', ''ordinal'', ''polar'', ''spherical''')
|
||||
WHERE (SELECT type FROM coordinate_system WHERE coordinate_system.auth_name = NEW.coordinate_system_auth_name AND coordinate_system.code = NEW.coordinate_system_code) NOT IN ('affine', 'Cartesian', 'cylindrical', 'ordinal', 'polar', 'spherical');
|
||||
|
||||
SELECT RAISE(ABORT, 'insert on derived_projected_crs violates constraint: coordinate_system.dimension must be 1, 2 or 3')
|
||||
WHERE (SELECT dimension FROM coordinate_system WHERE coordinate_system.auth_name = NEW.coordinate_system_auth_name AND coordinate_system.code = NEW.coordinate_system_code) NOT IN (1, 2, 3);
|
||||
|
||||
END;
|
||||
|
||||
CREATE TRIGGER supersession_insert_trigger
|
||||
BEFORE INSERT ON supersession
|
||||
FOR EACH ROW BEGIN
|
||||
SELECT RAISE(ABORT, 'insert on supersession violates constraint: superseded entry refers to unexisting code')
|
||||
WHERE NOT EXISTS (SELECT 1 FROM object_view o WHERE o.table_name = NEW.superseded_table_name AND o.auth_name = NEW.superseded_auth_name AND o.code = NEW.superseded_code);
|
||||
|
||||
SELECT RAISE(ABORT, 'insert on supersession violates constraint: replacement entry refers to unexisting code')
|
||||
WHERE NOT EXISTS (SELECT 1 FROM object_view o WHERE o.table_name = NEW.replacement_table_name AND o.auth_name = NEW.replacement_auth_name AND o.code = NEW.replacement_code);
|
||||
END;
|
||||
|
||||
CREATE TRIGGER deprecation_insert_trigger
|
||||
BEFORE INSERT ON deprecation
|
||||
FOR EACH ROW BEGIN
|
||||
SELECT RAISE(ABORT, 'insert on deprecation violates constraint: deprecated entry refers to unexisting code')
|
||||
WHERE NOT EXISTS (SELECT 1 FROM object_view o WHERE o.table_name = NEW.table_name AND o.auth_name = NEW.deprecated_auth_name AND o.code = NEW.deprecated_code);
|
||||
|
||||
SELECT RAISE(ABORT, 'insert on deprecation violates constraint: replacement entry refers to unexisting code')
|
||||
WHERE NOT EXISTS (SELECT 1 FROM object_view o WHERE o.table_name = NEW.table_name AND o.auth_name = NEW.replacement_auth_name AND o.code = NEW.replacement_code);
|
||||
END;
|
||||
+454
-628
File diff suppressed because it is too large
Load Diff
@@ -71,7 +71,7 @@ BEGIN
|
||||
WHERE NEW.deprecated != 1 AND NEW.method_auth_name = 'EPSG' AND NEW.method_code = '1052' AND (NEW.method_name != 'Colombia Urban' OR NEW.param1_auth_name != 'EPSG' OR NEW.param1_code != '8801' OR NEW.param1_name != 'Latitude of natural origin' OR NEW.param1_value IS NULL OR NEW.param1_uom_auth_name IS NULL OR NEW.param1_uom_code IS NULL OR (SELECT type FROM unit_of_measure WHERE auth_name = NEW.param1_uom_auth_name AND code = NEW.param1_uom_code) != 'angle' OR NEW.param2_auth_name != 'EPSG' OR NEW.param2_code != '8802' OR NEW.param2_name != 'Longitude of natural origin' OR NEW.param2_value IS NULL OR NEW.param2_uom_auth_name IS NULL OR NEW.param2_uom_code IS NULL OR (SELECT type FROM unit_of_measure WHERE auth_name = NEW.param2_uom_auth_name AND code = NEW.param2_uom_code) != 'angle' OR NEW.param3_auth_name != 'EPSG' OR NEW.param3_code != '8806' OR NEW.param3_name != 'False easting' OR NEW.param3_value IS NULL OR NEW.param3_uom_auth_name IS NULL OR NEW.param3_uom_code IS NULL OR (SELECT type FROM unit_of_measure WHERE auth_name = NEW.param3_uom_auth_name AND code = NEW.param3_uom_code) != 'length' OR NEW.param4_auth_name != 'EPSG' OR NEW.param4_code != '8807' OR NEW.param4_name != 'False northing' OR NEW.param4_value IS NULL OR NEW.param4_uom_auth_name IS NULL OR NEW.param4_uom_code IS NULL OR (SELECT type FROM unit_of_measure WHERE auth_name = NEW.param4_uom_auth_name AND code = NEW.param4_uom_code) != 'length' OR NEW.param5_auth_name != 'EPSG' OR NEW.param5_code != '1039' OR NEW.param5_name != 'Projection plane origin height' OR NEW.param5_value IS NULL OR NEW.param5_uom_auth_name IS NULL OR NEW.param5_uom_code IS NULL OR (SELECT type FROM unit_of_measure WHERE auth_name = NEW.param5_uom_auth_name AND code = NEW.param5_uom_code) != 'length' OR NEW.param6_auth_name IS NOT NULL OR NEW.param6_code IS NOT NULL OR NEW.param6_name IS NOT NULL OR NEW.param6_value IS NOT NULL OR NEW.param6_uom_auth_name IS NOT NULL OR NEW.param6_uom_code IS NOT NULL OR NEW.param7_auth_name IS NOT NULL OR NEW.param7_code IS NOT NULL OR NEW.param7_name IS NOT NULL OR NEW.param7_value IS NOT NULL OR NEW.param7_uom_auth_name IS NOT NULL OR NEW.param7_uom_code IS NOT NULL);
|
||||
|
||||
SELECT RAISE(ABORT, 'insert on conversion violates constraint: bad parameters for Hotine Oblique Mercator (variant A)')
|
||||
WHERE NEW.deprecated != 1 AND NEW.method_auth_name = 'EPSG' AND NEW.method_code = '9812' AND (NEW.method_name != 'Hotine Oblique Mercator (variant A)' OR NEW.param1_auth_name != 'EPSG' OR NEW.param1_code != '8811' OR NEW.param1_name != 'Latitude of projection centre' OR NEW.param1_value IS NULL OR NEW.param1_uom_auth_name IS NULL OR NEW.param1_uom_code IS NULL OR (SELECT type FROM unit_of_measure WHERE auth_name = NEW.param1_uom_auth_name AND code = NEW.param1_uom_code) != 'angle' OR NEW.param2_auth_name != 'EPSG' OR NEW.param2_code != '8812' OR NEW.param2_name != 'Longitude of projection centre' OR NEW.param2_value IS NULL OR NEW.param2_uom_auth_name IS NULL OR NEW.param2_uom_code IS NULL OR (SELECT type FROM unit_of_measure WHERE auth_name = NEW.param2_uom_auth_name AND code = NEW.param2_uom_code) != 'angle' OR NEW.param3_auth_name != 'EPSG' OR NEW.param3_code != '8813' OR NEW.param3_name != 'Azimuth at projection centre' OR NEW.param3_value IS NULL OR NEW.param3_uom_auth_name IS NULL OR NEW.param3_uom_code IS NULL OR (SELECT type FROM unit_of_measure WHERE auth_name = NEW.param3_uom_auth_name AND code = NEW.param3_uom_code) != 'angle' OR NEW.param4_auth_name != 'EPSG' OR NEW.param4_code != '8814' OR NEW.param4_name != 'Angle from Rectified to Skew Grid' OR NEW.param4_value IS NULL OR NEW.param4_uom_auth_name IS NULL OR NEW.param4_uom_code IS NULL OR (SELECT type FROM unit_of_measure WHERE auth_name = NEW.param4_uom_auth_name AND code = NEW.param4_uom_code) != 'angle' OR NEW.param5_auth_name != 'EPSG' OR NEW.param5_code != '8815' OR NEW.param5_name != 'Scale factor at projection centre' OR NEW.param5_value IS NULL OR NEW.param5_uom_auth_name IS NULL OR NEW.param5_uom_code IS NULL OR (SELECT type FROM unit_of_measure WHERE auth_name = NEW.param5_uom_auth_name AND code = NEW.param5_uom_code) != 'scale' OR NEW.param6_auth_name != 'EPSG' OR NEW.param6_code != '8806' OR NEW.param6_name != 'False easting' OR NEW.param6_value IS NULL OR NEW.param6_uom_auth_name IS NULL OR NEW.param6_uom_code IS NULL OR (SELECT type FROM unit_of_measure WHERE auth_name = NEW.param6_uom_auth_name AND code = NEW.param6_uom_code) != 'length' OR NEW.param7_auth_name != 'EPSG' OR NEW.param7_code != '8807' OR NEW.param7_name != 'False northing' OR NEW.param7_value IS NULL OR NEW.param7_uom_auth_name IS NULL OR NEW.param7_uom_code IS NULL OR (SELECT type FROM unit_of_measure WHERE auth_name = NEW.param7_uom_auth_name AND code = NEW.param7_uom_code) != 'length');
|
||||
WHERE NEW.deprecated != 1 AND NEW.method_auth_name = 'EPSG' AND NEW.method_code = '9812' AND (NEW.method_name != 'Hotine Oblique Mercator (variant A)' OR NEW.param1_auth_name != 'EPSG' OR NEW.param1_code != '8811' OR NEW.param1_name != 'Latitude of projection centre' OR NEW.param1_value IS NULL OR NEW.param1_uom_auth_name IS NULL OR NEW.param1_uom_code IS NULL OR (SELECT type FROM unit_of_measure WHERE auth_name = NEW.param1_uom_auth_name AND code = NEW.param1_uom_code) != 'angle' OR NEW.param2_auth_name != 'EPSG' OR NEW.param2_code != '8812' OR NEW.param2_name != 'Longitude of projection centre' OR NEW.param2_value IS NULL OR NEW.param2_uom_auth_name IS NULL OR NEW.param2_uom_code IS NULL OR (SELECT type FROM unit_of_measure WHERE auth_name = NEW.param2_uom_auth_name AND code = NEW.param2_uom_code) != 'angle' OR NEW.param3_auth_name != 'EPSG' OR NEW.param3_code != '8813' OR NEW.param3_name != 'Azimuth of initial line' OR NEW.param3_value IS NULL OR NEW.param3_uom_auth_name IS NULL OR NEW.param3_uom_code IS NULL OR (SELECT type FROM unit_of_measure WHERE auth_name = NEW.param3_uom_auth_name AND code = NEW.param3_uom_code) != 'angle' OR NEW.param4_auth_name != 'EPSG' OR NEW.param4_code != '8814' OR NEW.param4_name != 'Angle from Rectified to Skew Grid' OR NEW.param4_value IS NULL OR NEW.param4_uom_auth_name IS NULL OR NEW.param4_uom_code IS NULL OR (SELECT type FROM unit_of_measure WHERE auth_name = NEW.param4_uom_auth_name AND code = NEW.param4_uom_code) != 'angle' OR NEW.param5_auth_name != 'EPSG' OR NEW.param5_code != '8815' OR NEW.param5_name != 'Scale factor on initial line' OR NEW.param5_value IS NULL OR NEW.param5_uom_auth_name IS NULL OR NEW.param5_uom_code IS NULL OR (SELECT type FROM unit_of_measure WHERE auth_name = NEW.param5_uom_auth_name AND code = NEW.param5_uom_code) != 'scale' OR NEW.param6_auth_name != 'EPSG' OR NEW.param6_code != '8806' OR NEW.param6_name != 'False easting' OR NEW.param6_value IS NULL OR NEW.param6_uom_auth_name IS NULL OR NEW.param6_uom_code IS NULL OR (SELECT type FROM unit_of_measure WHERE auth_name = NEW.param6_uom_auth_name AND code = NEW.param6_uom_code) != 'length' OR NEW.param7_auth_name != 'EPSG' OR NEW.param7_code != '8807' OR NEW.param7_name != 'False northing' OR NEW.param7_value IS NULL OR NEW.param7_uom_auth_name IS NULL OR NEW.param7_uom_code IS NULL OR (SELECT type FROM unit_of_measure WHERE auth_name = NEW.param7_uom_auth_name AND code = NEW.param7_uom_code) != 'length');
|
||||
|
||||
SELECT RAISE(ABORT, 'insert on conversion violates constraint: bad parameters for Lambert Cylindrical Equal Area')
|
||||
WHERE NEW.deprecated != 1 AND NEW.method_auth_name = 'EPSG' AND NEW.method_code = '9835' AND (NEW.method_name != 'Lambert Cylindrical Equal Area' OR NEW.param1_auth_name != 'EPSG' OR NEW.param1_code != '8823' OR NEW.param1_name != 'Latitude of 1st standard parallel' OR NEW.param1_value IS NULL OR NEW.param1_uom_auth_name IS NULL OR NEW.param1_uom_code IS NULL OR (SELECT type FROM unit_of_measure WHERE auth_name = NEW.param1_uom_auth_name AND code = NEW.param1_uom_code) != 'angle' OR NEW.param2_auth_name != 'EPSG' OR NEW.param2_code != '8802' OR NEW.param2_name != 'Longitude of natural origin' OR NEW.param2_value IS NULL OR NEW.param2_uom_auth_name IS NULL OR NEW.param2_uom_code IS NULL OR (SELECT type FROM unit_of_measure WHERE auth_name = NEW.param2_uom_auth_name AND code = NEW.param2_uom_code) != 'angle' OR NEW.param3_auth_name != 'EPSG' OR NEW.param3_code != '8806' OR NEW.param3_name != 'False easting' OR NEW.param3_value IS NULL OR NEW.param3_uom_auth_name IS NULL OR NEW.param3_uom_code IS NULL OR (SELECT type FROM unit_of_measure WHERE auth_name = NEW.param3_uom_auth_name AND code = NEW.param3_uom_code) != 'length' OR NEW.param4_auth_name != 'EPSG' OR NEW.param4_code != '8807' OR NEW.param4_name != 'False northing' OR NEW.param4_value IS NULL OR NEW.param4_uom_auth_name IS NULL OR NEW.param4_uom_code IS NULL OR (SELECT type FROM unit_of_measure WHERE auth_name = NEW.param4_uom_auth_name AND code = NEW.param4_uom_code) != 'length' OR NEW.param5_auth_name IS NOT NULL OR NEW.param5_code IS NOT NULL OR NEW.param5_name IS NOT NULL OR NEW.param5_value IS NOT NULL OR NEW.param5_uom_auth_name IS NOT NULL OR NEW.param5_uom_code IS NOT NULL OR NEW.param6_auth_name IS NOT NULL OR NEW.param6_code IS NOT NULL OR NEW.param6_name IS NOT NULL OR NEW.param6_value IS NOT NULL OR NEW.param6_uom_auth_name IS NOT NULL OR NEW.param6_uom_code IS NOT NULL OR NEW.param7_auth_name IS NOT NULL OR NEW.param7_code IS NOT NULL OR NEW.param7_name IS NOT NULL OR NEW.param7_value IS NOT NULL OR NEW.param7_uom_auth_name IS NOT NULL OR NEW.param7_uom_code IS NOT NULL);
|
||||
@@ -86,10 +86,10 @@ BEGIN
|
||||
WHERE NEW.deprecated != 1 AND NEW.method_auth_name = 'EPSG' AND NEW.method_code = '1104' AND (NEW.method_name != 'Change of Vertical Unit' OR NEW.param1_auth_name IS NOT NULL OR NEW.param1_code IS NOT NULL OR NEW.param1_name IS NOT NULL OR NEW.param1_value IS NOT NULL OR NEW.param1_uom_auth_name IS NOT NULL OR NEW.param1_uom_code IS NOT NULL OR NEW.param2_auth_name IS NOT NULL OR NEW.param2_code IS NOT NULL OR NEW.param2_name IS NOT NULL OR NEW.param2_value IS NOT NULL OR NEW.param2_uom_auth_name IS NOT NULL OR NEW.param2_uom_code IS NOT NULL OR NEW.param3_auth_name IS NOT NULL OR NEW.param3_code IS NOT NULL OR NEW.param3_name IS NOT NULL OR NEW.param3_value IS NOT NULL OR NEW.param3_uom_auth_name IS NOT NULL OR NEW.param3_uom_code IS NOT NULL OR NEW.param4_auth_name IS NOT NULL OR NEW.param4_code IS NOT NULL OR NEW.param4_name IS NOT NULL OR NEW.param4_value IS NOT NULL OR NEW.param4_uom_auth_name IS NOT NULL OR NEW.param4_uom_code IS NOT NULL OR NEW.param5_auth_name IS NOT NULL OR NEW.param5_code IS NOT NULL OR NEW.param5_name IS NOT NULL OR NEW.param5_value IS NOT NULL OR NEW.param5_uom_auth_name IS NOT NULL OR NEW.param5_uom_code IS NOT NULL OR NEW.param6_auth_name IS NOT NULL OR NEW.param6_code IS NOT NULL OR NEW.param6_name IS NOT NULL OR NEW.param6_value IS NOT NULL OR NEW.param6_uom_auth_name IS NOT NULL OR NEW.param6_uom_code IS NOT NULL OR NEW.param7_auth_name IS NOT NULL OR NEW.param7_code IS NOT NULL OR NEW.param7_name IS NOT NULL OR NEW.param7_value IS NOT NULL OR NEW.param7_uom_auth_name IS NOT NULL OR NEW.param7_uom_code IS NOT NULL);
|
||||
|
||||
SELECT RAISE(ABORT, 'insert on conversion violates constraint: bad parameters for Hotine Oblique Mercator (variant B)')
|
||||
WHERE NEW.deprecated != 1 AND NEW.method_auth_name = 'EPSG' AND NEW.method_code = '9815' AND (NEW.method_name != 'Hotine Oblique Mercator (variant B)' OR NEW.param1_auth_name != 'EPSG' OR NEW.param1_code != '8811' OR NEW.param1_name != 'Latitude of projection centre' OR NEW.param1_value IS NULL OR NEW.param1_uom_auth_name IS NULL OR NEW.param1_uom_code IS NULL OR (SELECT type FROM unit_of_measure WHERE auth_name = NEW.param1_uom_auth_name AND code = NEW.param1_uom_code) != 'angle' OR NEW.param2_auth_name != 'EPSG' OR NEW.param2_code != '8812' OR NEW.param2_name != 'Longitude of projection centre' OR NEW.param2_value IS NULL OR NEW.param2_uom_auth_name IS NULL OR NEW.param2_uom_code IS NULL OR (SELECT type FROM unit_of_measure WHERE auth_name = NEW.param2_uom_auth_name AND code = NEW.param2_uom_code) != 'angle' OR NEW.param3_auth_name != 'EPSG' OR NEW.param3_code != '8813' OR NEW.param3_name != 'Azimuth at projection centre' OR NEW.param3_value IS NULL OR NEW.param3_uom_auth_name IS NULL OR NEW.param3_uom_code IS NULL OR (SELECT type FROM unit_of_measure WHERE auth_name = NEW.param3_uom_auth_name AND code = NEW.param3_uom_code) != 'angle' OR NEW.param4_auth_name != 'EPSG' OR NEW.param4_code != '8814' OR NEW.param4_name != 'Angle from Rectified to Skew Grid' OR NEW.param4_value IS NULL OR NEW.param4_uom_auth_name IS NULL OR NEW.param4_uom_code IS NULL OR (SELECT type FROM unit_of_measure WHERE auth_name = NEW.param4_uom_auth_name AND code = NEW.param4_uom_code) != 'angle' OR NEW.param5_auth_name != 'EPSG' OR NEW.param5_code != '8815' OR NEW.param5_name != 'Scale factor at projection centre' OR NEW.param5_value IS NULL OR NEW.param5_uom_auth_name IS NULL OR NEW.param5_uom_code IS NULL OR (SELECT type FROM unit_of_measure WHERE auth_name = NEW.param5_uom_auth_name AND code = NEW.param5_uom_code) != 'scale' OR NEW.param6_auth_name != 'EPSG' OR NEW.param6_code != '8816' OR NEW.param6_name != 'Easting at projection centre' OR NEW.param6_value IS NULL OR NEW.param6_uom_auth_name IS NULL OR NEW.param6_uom_code IS NULL OR (SELECT type FROM unit_of_measure WHERE auth_name = NEW.param6_uom_auth_name AND code = NEW.param6_uom_code) != 'length' OR NEW.param7_auth_name != 'EPSG' OR NEW.param7_code != '8817' OR NEW.param7_name != 'Northing at projection centre' OR NEW.param7_value IS NULL OR NEW.param7_uom_auth_name IS NULL OR NEW.param7_uom_code IS NULL OR (SELECT type FROM unit_of_measure WHERE auth_name = NEW.param7_uom_auth_name AND code = NEW.param7_uom_code) != 'length');
|
||||
WHERE NEW.deprecated != 1 AND NEW.method_auth_name = 'EPSG' AND NEW.method_code = '9815' AND (NEW.method_name != 'Hotine Oblique Mercator (variant B)' OR NEW.param1_auth_name != 'EPSG' OR NEW.param1_code != '8811' OR NEW.param1_name != 'Latitude of projection centre' OR NEW.param1_value IS NULL OR NEW.param1_uom_auth_name IS NULL OR NEW.param1_uom_code IS NULL OR (SELECT type FROM unit_of_measure WHERE auth_name = NEW.param1_uom_auth_name AND code = NEW.param1_uom_code) != 'angle' OR NEW.param2_auth_name != 'EPSG' OR NEW.param2_code != '8812' OR NEW.param2_name != 'Longitude of projection centre' OR NEW.param2_value IS NULL OR NEW.param2_uom_auth_name IS NULL OR NEW.param2_uom_code IS NULL OR (SELECT type FROM unit_of_measure WHERE auth_name = NEW.param2_uom_auth_name AND code = NEW.param2_uom_code) != 'angle' OR NEW.param3_auth_name != 'EPSG' OR NEW.param3_code != '8813' OR NEW.param3_name != 'Azimuth of initial line' OR NEW.param3_value IS NULL OR NEW.param3_uom_auth_name IS NULL OR NEW.param3_uom_code IS NULL OR (SELECT type FROM unit_of_measure WHERE auth_name = NEW.param3_uom_auth_name AND code = NEW.param3_uom_code) != 'angle' OR NEW.param4_auth_name != 'EPSG' OR NEW.param4_code != '8814' OR NEW.param4_name != 'Angle from Rectified to Skew Grid' OR NEW.param4_value IS NULL OR NEW.param4_uom_auth_name IS NULL OR NEW.param4_uom_code IS NULL OR (SELECT type FROM unit_of_measure WHERE auth_name = NEW.param4_uom_auth_name AND code = NEW.param4_uom_code) != 'angle' OR NEW.param5_auth_name != 'EPSG' OR NEW.param5_code != '8815' OR NEW.param5_name != 'Scale factor on initial line' OR NEW.param5_value IS NULL OR NEW.param5_uom_auth_name IS NULL OR NEW.param5_uom_code IS NULL OR (SELECT type FROM unit_of_measure WHERE auth_name = NEW.param5_uom_auth_name AND code = NEW.param5_uom_code) != 'scale' OR NEW.param6_auth_name != 'EPSG' OR NEW.param6_code != '8816' OR NEW.param6_name != 'Easting at projection centre' OR NEW.param6_value IS NULL OR NEW.param6_uom_auth_name IS NULL OR NEW.param6_uom_code IS NULL OR (SELECT type FROM unit_of_measure WHERE auth_name = NEW.param6_uom_auth_name AND code = NEW.param6_uom_code) != 'length' OR NEW.param7_auth_name != 'EPSG' OR NEW.param7_code != '8817' OR NEW.param7_name != 'Northing at projection centre' OR NEW.param7_value IS NULL OR NEW.param7_uom_auth_name IS NULL OR NEW.param7_uom_code IS NULL OR (SELECT type FROM unit_of_measure WHERE auth_name = NEW.param7_uom_auth_name AND code = NEW.param7_uom_code) != 'length');
|
||||
|
||||
SELECT RAISE(ABORT, 'insert on conversion violates constraint: bad parameters for Laborde Oblique Mercator')
|
||||
WHERE NEW.deprecated != 1 AND NEW.method_auth_name = 'EPSG' AND NEW.method_code = '9813' AND (NEW.method_name != 'Laborde Oblique Mercator' OR NEW.param1_auth_name != 'EPSG' OR NEW.param1_code != '8811' OR NEW.param1_name != 'Latitude of projection centre' OR NEW.param1_value IS NULL OR NEW.param1_uom_auth_name IS NULL OR NEW.param1_uom_code IS NULL OR (SELECT type FROM unit_of_measure WHERE auth_name = NEW.param1_uom_auth_name AND code = NEW.param1_uom_code) != 'angle' OR NEW.param2_auth_name != 'EPSG' OR NEW.param2_code != '8812' OR NEW.param2_name != 'Longitude of projection centre' OR NEW.param2_value IS NULL OR NEW.param2_uom_auth_name IS NULL OR NEW.param2_uom_code IS NULL OR (SELECT type FROM unit_of_measure WHERE auth_name = NEW.param2_uom_auth_name AND code = NEW.param2_uom_code) != 'angle' OR NEW.param3_auth_name != 'EPSG' OR NEW.param3_code != '8813' OR NEW.param3_name != 'Azimuth at projection centre' OR NEW.param3_value IS NULL OR NEW.param3_uom_auth_name IS NULL OR NEW.param3_uom_code IS NULL OR (SELECT type FROM unit_of_measure WHERE auth_name = NEW.param3_uom_auth_name AND code = NEW.param3_uom_code) != 'angle' OR NEW.param4_auth_name != 'EPSG' OR NEW.param4_code != '8815' OR NEW.param4_name != 'Scale factor at projection centre' OR NEW.param4_value IS NULL OR NEW.param4_uom_auth_name IS NULL OR NEW.param4_uom_code IS NULL OR (SELECT type FROM unit_of_measure WHERE auth_name = NEW.param4_uom_auth_name AND code = NEW.param4_uom_code) != 'scale' OR NEW.param5_auth_name != 'EPSG' OR NEW.param5_code != '8806' OR NEW.param5_name != 'False easting' OR NEW.param5_value IS NULL OR NEW.param5_uom_auth_name IS NULL OR NEW.param5_uom_code IS NULL OR (SELECT type FROM unit_of_measure WHERE auth_name = NEW.param5_uom_auth_name AND code = NEW.param5_uom_code) != 'length' OR NEW.param6_auth_name != 'EPSG' OR NEW.param6_code != '8807' OR NEW.param6_name != 'False northing' OR NEW.param6_value IS NULL OR NEW.param6_uom_auth_name IS NULL OR NEW.param6_uom_code IS NULL OR (SELECT type FROM unit_of_measure WHERE auth_name = NEW.param6_uom_auth_name AND code = NEW.param6_uom_code) != 'length' OR NEW.param7_auth_name IS NOT NULL OR NEW.param7_code IS NOT NULL OR NEW.param7_name IS NOT NULL OR NEW.param7_value IS NOT NULL OR NEW.param7_uom_auth_name IS NOT NULL OR NEW.param7_uom_code IS NOT NULL);
|
||||
WHERE NEW.deprecated != 1 AND NEW.method_auth_name = 'EPSG' AND NEW.method_code = '9813' AND (NEW.method_name != 'Laborde Oblique Mercator' OR NEW.param1_auth_name != 'EPSG' OR NEW.param1_code != '8811' OR NEW.param1_name != 'Latitude of projection centre' OR NEW.param1_value IS NULL OR NEW.param1_uom_auth_name IS NULL OR NEW.param1_uom_code IS NULL OR (SELECT type FROM unit_of_measure WHERE auth_name = NEW.param1_uom_auth_name AND code = NEW.param1_uom_code) != 'angle' OR NEW.param2_auth_name != 'EPSG' OR NEW.param2_code != '8812' OR NEW.param2_name != 'Longitude of projection centre' OR NEW.param2_value IS NULL OR NEW.param2_uom_auth_name IS NULL OR NEW.param2_uom_code IS NULL OR (SELECT type FROM unit_of_measure WHERE auth_name = NEW.param2_uom_auth_name AND code = NEW.param2_uom_code) != 'angle' OR NEW.param3_auth_name != 'EPSG' OR NEW.param3_code != '8813' OR NEW.param3_name != 'Azimuth of initial line' OR NEW.param3_value IS NULL OR NEW.param3_uom_auth_name IS NULL OR NEW.param3_uom_code IS NULL OR (SELECT type FROM unit_of_measure WHERE auth_name = NEW.param3_uom_auth_name AND code = NEW.param3_uom_code) != 'angle' OR NEW.param4_auth_name != 'EPSG' OR NEW.param4_code != '8815' OR NEW.param4_name != 'Scale factor on initial line' OR NEW.param4_value IS NULL OR NEW.param4_uom_auth_name IS NULL OR NEW.param4_uom_code IS NULL OR (SELECT type FROM unit_of_measure WHERE auth_name = NEW.param4_uom_auth_name AND code = NEW.param4_uom_code) != 'scale' OR NEW.param5_auth_name != 'EPSG' OR NEW.param5_code != '8806' OR NEW.param5_name != 'False easting' OR NEW.param5_value IS NULL OR NEW.param5_uom_auth_name IS NULL OR NEW.param5_uom_code IS NULL OR (SELECT type FROM unit_of_measure WHERE auth_name = NEW.param5_uom_auth_name AND code = NEW.param5_uom_code) != 'length' OR NEW.param6_auth_name != 'EPSG' OR NEW.param6_code != '8807' OR NEW.param6_name != 'False northing' OR NEW.param6_value IS NULL OR NEW.param6_uom_auth_name IS NULL OR NEW.param6_uom_code IS NULL OR (SELECT type FROM unit_of_measure WHERE auth_name = NEW.param6_uom_auth_name AND code = NEW.param6_uom_code) != 'length' OR NEW.param7_auth_name IS NOT NULL OR NEW.param7_code IS NOT NULL OR NEW.param7_name IS NOT NULL OR NEW.param7_value IS NOT NULL OR NEW.param7_uom_auth_name IS NOT NULL OR NEW.param7_uom_code IS NOT NULL);
|
||||
|
||||
SELECT RAISE(ABORT, 'insert on conversion violates constraint: bad parameters for Equal Earth')
|
||||
WHERE NEW.deprecated != 1 AND NEW.method_auth_name = 'EPSG' AND NEW.method_code = '1078' AND (NEW.method_name != 'Equal Earth' OR NEW.param1_auth_name != 'EPSG' OR NEW.param1_code != '8802' OR NEW.param1_name != 'Longitude of natural origin' OR NEW.param1_value IS NULL OR NEW.param1_uom_auth_name IS NULL OR NEW.param1_uom_code IS NULL OR (SELECT type FROM unit_of_measure WHERE auth_name = NEW.param1_uom_auth_name AND code = NEW.param1_uom_code) != 'angle' OR NEW.param2_auth_name != 'EPSG' OR NEW.param2_code != '8806' OR NEW.param2_name != 'False easting' OR NEW.param2_value IS NULL OR NEW.param2_uom_auth_name IS NULL OR NEW.param2_uom_code IS NULL OR (SELECT type FROM unit_of_measure WHERE auth_name = NEW.param2_uom_auth_name AND code = NEW.param2_uom_code) != 'length' OR NEW.param3_auth_name != 'EPSG' OR NEW.param3_code != '8807' OR NEW.param3_name != 'False northing' OR NEW.param3_value IS NULL OR NEW.param3_uom_auth_name IS NULL OR NEW.param3_uom_code IS NULL OR (SELECT type FROM unit_of_measure WHERE auth_name = NEW.param3_uom_auth_name AND code = NEW.param3_uom_code) != 'length' OR NEW.param4_auth_name IS NOT NULL OR NEW.param4_code IS NOT NULL OR NEW.param4_name IS NOT NULL OR NEW.param4_value IS NOT NULL OR NEW.param4_uom_auth_name IS NOT NULL OR NEW.param4_uom_code IS NOT NULL OR NEW.param5_auth_name IS NOT NULL OR NEW.param5_code IS NOT NULL OR NEW.param5_name IS NOT NULL OR NEW.param5_value IS NOT NULL OR NEW.param5_uom_auth_name IS NOT NULL OR NEW.param5_uom_code IS NOT NULL OR NEW.param6_auth_name IS NOT NULL OR NEW.param6_code IS NOT NULL OR NEW.param6_name IS NOT NULL OR NEW.param6_value IS NOT NULL OR NEW.param6_uom_auth_name IS NOT NULL OR NEW.param6_uom_code IS NOT NULL OR NEW.param7_auth_name IS NOT NULL OR NEW.param7_code IS NOT NULL OR NEW.param7_name IS NOT NULL OR NEW.param7_value IS NOT NULL OR NEW.param7_uom_auth_name IS NOT NULL OR NEW.param7_uom_code IS NOT NULL);
|
||||
@@ -100,9 +100,6 @@ BEGIN
|
||||
SELECT RAISE(ABORT, 'insert on conversion violates constraint: bad parameters for Transverse Mercator 3D')
|
||||
WHERE NEW.deprecated != 1 AND NEW.method_auth_name = 'EPSG' AND NEW.method_code = '1111' AND (NEW.method_name != 'Transverse Mercator 3D' OR NEW.param1_auth_name != 'EPSG' OR NEW.param1_code != '8801' OR NEW.param1_name != 'Latitude of natural origin' OR NEW.param1_value IS NULL OR NEW.param1_uom_auth_name IS NULL OR NEW.param1_uom_code IS NULL OR (SELECT type FROM unit_of_measure WHERE auth_name = NEW.param1_uom_auth_name AND code = NEW.param1_uom_code) != 'angle' OR NEW.param2_auth_name != 'EPSG' OR NEW.param2_code != '8802' OR NEW.param2_name != 'Longitude of natural origin' OR NEW.param2_value IS NULL OR NEW.param2_uom_auth_name IS NULL OR NEW.param2_uom_code IS NULL OR (SELECT type FROM unit_of_measure WHERE auth_name = NEW.param2_uom_auth_name AND code = NEW.param2_uom_code) != 'angle' OR NEW.param3_auth_name != 'EPSG' OR NEW.param3_code != '8805' OR NEW.param3_name != 'Scale factor at natural origin' OR NEW.param3_value IS NULL OR NEW.param3_uom_auth_name IS NULL OR NEW.param3_uom_code IS NULL OR (SELECT type FROM unit_of_measure WHERE auth_name = NEW.param3_uom_auth_name AND code = NEW.param3_uom_code) != 'scale' OR NEW.param4_auth_name != 'EPSG' OR NEW.param4_code != '8806' OR NEW.param4_name != 'False easting' OR NEW.param4_value IS NULL OR NEW.param4_uom_auth_name IS NULL OR NEW.param4_uom_code IS NULL OR (SELECT type FROM unit_of_measure WHERE auth_name = NEW.param4_uom_auth_name AND code = NEW.param4_uom_code) != 'length' OR NEW.param5_auth_name != 'EPSG' OR NEW.param5_code != '8807' OR NEW.param5_name != 'False northing' OR NEW.param5_value IS NULL OR NEW.param5_uom_auth_name IS NULL OR NEW.param5_uom_code IS NULL OR (SELECT type FROM unit_of_measure WHERE auth_name = NEW.param5_uom_auth_name AND code = NEW.param5_uom_code) != 'length' OR NEW.param6_auth_name IS NOT NULL OR NEW.param6_code IS NOT NULL OR NEW.param6_name IS NOT NULL OR NEW.param6_value IS NOT NULL OR NEW.param6_uom_auth_name IS NOT NULL OR NEW.param6_uom_code IS NOT NULL OR NEW.param7_auth_name IS NOT NULL OR NEW.param7_code IS NOT NULL OR NEW.param7_name IS NOT NULL OR NEW.param7_value IS NOT NULL OR NEW.param7_uom_auth_name IS NOT NULL OR NEW.param7_uom_code IS NOT NULL);
|
||||
|
||||
SELECT RAISE(ABORT, 'insert on conversion violates constraint: bad parameters for Local Orthographic')
|
||||
WHERE NEW.deprecated != 1 AND NEW.method_auth_name = 'EPSG' AND NEW.method_code = '1130' AND (NEW.method_name != 'Local Orthographic' OR NEW.param1_auth_name != 'EPSG' OR NEW.param1_code != '8811' OR NEW.param1_name != 'Latitude of projection centre' OR NEW.param1_value IS NULL OR NEW.param1_uom_auth_name IS NULL OR NEW.param1_uom_code IS NULL OR (SELECT type FROM unit_of_measure WHERE auth_name = NEW.param1_uom_auth_name AND code = NEW.param1_uom_code) != 'angle' OR NEW.param2_auth_name != 'EPSG' OR NEW.param2_code != '8812' OR NEW.param2_name != 'Longitude of projection centre' OR NEW.param2_value IS NULL OR NEW.param2_uom_auth_name IS NULL OR NEW.param2_uom_code IS NULL OR (SELECT type FROM unit_of_measure WHERE auth_name = NEW.param2_uom_auth_name AND code = NEW.param2_uom_code) != 'angle' OR NEW.param3_auth_name != 'EPSG' OR NEW.param3_code != '8813' OR NEW.param3_name != 'Azimuth at projection centre' OR NEW.param3_value IS NULL OR NEW.param3_uom_auth_name IS NULL OR NEW.param3_uom_code IS NULL OR (SELECT type FROM unit_of_measure WHERE auth_name = NEW.param3_uom_auth_name AND code = NEW.param3_uom_code) != 'angle' OR NEW.param4_auth_name != 'EPSG' OR NEW.param4_code != '8815' OR NEW.param4_name != 'Scale factor at projection centre' OR NEW.param4_value IS NULL OR NEW.param4_uom_auth_name IS NULL OR NEW.param4_uom_code IS NULL OR (SELECT type FROM unit_of_measure WHERE auth_name = NEW.param4_uom_auth_name AND code = NEW.param4_uom_code) != 'scale' OR NEW.param5_auth_name != 'EPSG' OR NEW.param5_code != '8816' OR NEW.param5_name != 'Easting at projection centre' OR NEW.param5_value IS NULL OR NEW.param5_uom_auth_name IS NULL OR NEW.param5_uom_code IS NULL OR (SELECT type FROM unit_of_measure WHERE auth_name = NEW.param5_uom_auth_name AND code = NEW.param5_uom_code) != 'length' OR NEW.param6_auth_name != 'EPSG' OR NEW.param6_code != '8817' OR NEW.param6_name != 'Northing at projection centre' OR NEW.param6_value IS NULL OR NEW.param6_uom_auth_name IS NULL OR NEW.param6_uom_code IS NULL OR (SELECT type FROM unit_of_measure WHERE auth_name = NEW.param6_uom_auth_name AND code = NEW.param6_uom_code) != 'length' OR NEW.param7_auth_name IS NOT NULL OR NEW.param7_code IS NOT NULL OR NEW.param7_name IS NOT NULL OR NEW.param7_value IS NOT NULL OR NEW.param7_uom_auth_name IS NOT NULL OR NEW.param7_uom_code IS NOT NULL);
|
||||
|
||||
SELECT RAISE(ABORT, 'insert on conversion violates constraint: bad parameters for Modified Azimuthal Equidistant')
|
||||
WHERE NEW.deprecated != 1 AND NEW.method_auth_name = 'EPSG' AND NEW.method_code = '9832' AND (NEW.method_name != 'Modified Azimuthal Equidistant' OR NEW.param1_auth_name != 'EPSG' OR NEW.param1_code != '8801' OR NEW.param1_name != 'Latitude of natural origin' OR NEW.param1_value IS NULL OR NEW.param1_uom_auth_name IS NULL OR NEW.param1_uom_code IS NULL OR (SELECT type FROM unit_of_measure WHERE auth_name = NEW.param1_uom_auth_name AND code = NEW.param1_uom_code) != 'angle' OR NEW.param2_auth_name != 'EPSG' OR NEW.param2_code != '8802' OR NEW.param2_name != 'Longitude of natural origin' OR NEW.param2_value IS NULL OR NEW.param2_uom_auth_name IS NULL OR NEW.param2_uom_code IS NULL OR (SELECT type FROM unit_of_measure WHERE auth_name = NEW.param2_uom_auth_name AND code = NEW.param2_uom_code) != 'angle' OR NEW.param3_auth_name != 'EPSG' OR NEW.param3_code != '8806' OR NEW.param3_name != 'False easting' OR NEW.param3_value IS NULL OR NEW.param3_uom_auth_name IS NULL OR NEW.param3_uom_code IS NULL OR (SELECT type FROM unit_of_measure WHERE auth_name = NEW.param3_uom_auth_name AND code = NEW.param3_uom_code) != 'length' OR NEW.param4_auth_name != 'EPSG' OR NEW.param4_code != '8807' OR NEW.param4_name != 'False northing' OR NEW.param4_value IS NULL OR NEW.param4_uom_auth_name IS NULL OR NEW.param4_uom_code IS NULL OR (SELECT type FROM unit_of_measure WHERE auth_name = NEW.param4_uom_auth_name AND code = NEW.param4_uom_code) != 'length' OR NEW.param5_auth_name IS NOT NULL OR NEW.param5_code IS NOT NULL OR NEW.param5_name IS NOT NULL OR NEW.param5_value IS NOT NULL OR NEW.param5_uom_auth_name IS NOT NULL OR NEW.param5_uom_code IS NOT NULL OR NEW.param6_auth_name IS NOT NULL OR NEW.param6_code IS NOT NULL OR NEW.param6_name IS NOT NULL OR NEW.param6_value IS NOT NULL OR NEW.param6_uom_auth_name IS NOT NULL OR NEW.param6_uom_code IS NOT NULL OR NEW.param7_auth_name IS NOT NULL OR NEW.param7_code IS NOT NULL OR NEW.param7_name IS NOT NULL OR NEW.param7_value IS NOT NULL OR NEW.param7_uom_auth_name IS NOT NULL OR NEW.param7_uom_code IS NOT NULL);
|
||||
|
||||
@@ -133,9 +130,6 @@ BEGIN
|
||||
SELECT RAISE(ABORT, 'insert on conversion violates constraint: bad parameters for Transverse Mercator (South Orientated)')
|
||||
WHERE NEW.deprecated != 1 AND NEW.method_auth_name = 'EPSG' AND NEW.method_code = '9808' AND (NEW.method_name != 'Transverse Mercator (South Orientated)' OR NEW.param1_auth_name != 'EPSG' OR NEW.param1_code != '8801' OR NEW.param1_name != 'Latitude of natural origin' OR NEW.param1_value IS NULL OR NEW.param1_uom_auth_name IS NULL OR NEW.param1_uom_code IS NULL OR (SELECT type FROM unit_of_measure WHERE auth_name = NEW.param1_uom_auth_name AND code = NEW.param1_uom_code) != 'angle' OR NEW.param2_auth_name != 'EPSG' OR NEW.param2_code != '8802' OR NEW.param2_name != 'Longitude of natural origin' OR NEW.param2_value IS NULL OR NEW.param2_uom_auth_name IS NULL OR NEW.param2_uom_code IS NULL OR (SELECT type FROM unit_of_measure WHERE auth_name = NEW.param2_uom_auth_name AND code = NEW.param2_uom_code) != 'angle' OR NEW.param3_auth_name != 'EPSG' OR NEW.param3_code != '8805' OR NEW.param3_name != 'Scale factor at natural origin' OR NEW.param3_value IS NULL OR NEW.param3_uom_auth_name IS NULL OR NEW.param3_uom_code IS NULL OR (SELECT type FROM unit_of_measure WHERE auth_name = NEW.param3_uom_auth_name AND code = NEW.param3_uom_code) != 'scale' OR NEW.param4_auth_name != 'EPSG' OR NEW.param4_code != '8806' OR NEW.param4_name != 'False easting' OR NEW.param4_value IS NULL OR NEW.param4_uom_auth_name IS NULL OR NEW.param4_uom_code IS NULL OR (SELECT type FROM unit_of_measure WHERE auth_name = NEW.param4_uom_auth_name AND code = NEW.param4_uom_code) != 'length' OR NEW.param5_auth_name != 'EPSG' OR NEW.param5_code != '8807' OR NEW.param5_name != 'False northing' OR NEW.param5_value IS NULL OR NEW.param5_uom_auth_name IS NULL OR NEW.param5_uom_code IS NULL OR (SELECT type FROM unit_of_measure WHERE auth_name = NEW.param5_uom_auth_name AND code = NEW.param5_uom_code) != 'length' OR NEW.param6_auth_name IS NOT NULL OR NEW.param6_code IS NOT NULL OR NEW.param6_name IS NOT NULL OR NEW.param6_value IS NOT NULL OR NEW.param6_uom_auth_name IS NOT NULL OR NEW.param6_uom_code IS NOT NULL OR NEW.param7_auth_name IS NOT NULL OR NEW.param7_code IS NOT NULL OR NEW.param7_name IS NOT NULL OR NEW.param7_value IS NOT NULL OR NEW.param7_uom_auth_name IS NOT NULL OR NEW.param7_uom_code IS NOT NULL);
|
||||
|
||||
SELECT RAISE(ABORT, 'insert on conversion violates constraint: bad parameters for Azimuthal Equidistant')
|
||||
WHERE NEW.deprecated != 1 AND NEW.method_auth_name = 'EPSG' AND NEW.method_code = '1125' AND (NEW.method_name != 'Azimuthal Equidistant' OR NEW.param1_auth_name != 'EPSG' OR NEW.param1_code != '8801' OR NEW.param1_name != 'Latitude of natural origin' OR NEW.param1_value IS NULL OR NEW.param1_uom_auth_name IS NULL OR NEW.param1_uom_code IS NULL OR (SELECT type FROM unit_of_measure WHERE auth_name = NEW.param1_uom_auth_name AND code = NEW.param1_uom_code) != 'angle' OR NEW.param2_auth_name != 'EPSG' OR NEW.param2_code != '8802' OR NEW.param2_name != 'Longitude of natural origin' OR NEW.param2_value IS NULL OR NEW.param2_uom_auth_name IS NULL OR NEW.param2_uom_code IS NULL OR (SELECT type FROM unit_of_measure WHERE auth_name = NEW.param2_uom_auth_name AND code = NEW.param2_uom_code) != 'angle' OR NEW.param3_auth_name != 'EPSG' OR NEW.param3_code != '8806' OR NEW.param3_name != 'False easting' OR NEW.param3_value IS NULL OR NEW.param3_uom_auth_name IS NULL OR NEW.param3_uom_code IS NULL OR (SELECT type FROM unit_of_measure WHERE auth_name = NEW.param3_uom_auth_name AND code = NEW.param3_uom_code) != 'length' OR NEW.param4_auth_name != 'EPSG' OR NEW.param4_code != '8807' OR NEW.param4_name != 'False northing' OR NEW.param4_value IS NULL OR NEW.param4_uom_auth_name IS NULL OR NEW.param4_uom_code IS NULL OR (SELECT type FROM unit_of_measure WHERE auth_name = NEW.param4_uom_auth_name AND code = NEW.param4_uom_code) != 'length' OR NEW.param5_auth_name IS NOT NULL OR NEW.param5_code IS NOT NULL OR NEW.param5_name IS NOT NULL OR NEW.param5_value IS NOT NULL OR NEW.param5_uom_auth_name IS NOT NULL OR NEW.param5_uom_code IS NOT NULL OR NEW.param6_auth_name IS NOT NULL OR NEW.param6_code IS NOT NULL OR NEW.param6_name IS NOT NULL OR NEW.param6_value IS NOT NULL OR NEW.param6_uom_auth_name IS NOT NULL OR NEW.param6_uom_code IS NOT NULL OR NEW.param7_auth_name IS NOT NULL OR NEW.param7_code IS NOT NULL OR NEW.param7_name IS NOT NULL OR NEW.param7_value IS NOT NULL OR NEW.param7_uom_auth_name IS NOT NULL OR NEW.param7_uom_code IS NOT NULL);
|
||||
|
||||
SELECT RAISE(ABORT, 'insert on conversion violates constraint: bad parameters for Lambert Conic Conformal (West Orientated)')
|
||||
WHERE NEW.deprecated != 1 AND NEW.method_auth_name = 'EPSG' AND NEW.method_code = '9826' AND (NEW.method_name != 'Lambert Conic Conformal (West Orientated)' OR NEW.param1_auth_name != 'EPSG' OR NEW.param1_code != '8801' OR NEW.param1_name != 'Latitude of natural origin' OR NEW.param1_value IS NULL OR NEW.param1_uom_auth_name IS NULL OR NEW.param1_uom_code IS NULL OR (SELECT type FROM unit_of_measure WHERE auth_name = NEW.param1_uom_auth_name AND code = NEW.param1_uom_code) != 'angle' OR NEW.param2_auth_name != 'EPSG' OR NEW.param2_code != '8802' OR NEW.param2_name != 'Longitude of natural origin' OR NEW.param2_value IS NULL OR NEW.param2_uom_auth_name IS NULL OR NEW.param2_uom_code IS NULL OR (SELECT type FROM unit_of_measure WHERE auth_name = NEW.param2_uom_auth_name AND code = NEW.param2_uom_code) != 'angle' OR NEW.param3_auth_name != 'EPSG' OR NEW.param3_code != '8805' OR NEW.param3_name != 'Scale factor at natural origin' OR NEW.param3_value IS NULL OR NEW.param3_uom_auth_name IS NULL OR NEW.param3_uom_code IS NULL OR (SELECT type FROM unit_of_measure WHERE auth_name = NEW.param3_uom_auth_name AND code = NEW.param3_uom_code) != 'scale' OR NEW.param4_auth_name != 'EPSG' OR NEW.param4_code != '8806' OR NEW.param4_name != 'False easting' OR NEW.param4_value IS NULL OR NEW.param4_uom_auth_name IS NULL OR NEW.param4_uom_code IS NULL OR (SELECT type FROM unit_of_measure WHERE auth_name = NEW.param4_uom_auth_name AND code = NEW.param4_uom_code) != 'length' OR NEW.param5_auth_name != 'EPSG' OR NEW.param5_code != '8807' OR NEW.param5_name != 'False northing' OR NEW.param5_value IS NULL OR NEW.param5_uom_auth_name IS NULL OR NEW.param5_uom_code IS NULL OR (SELECT type FROM unit_of_measure WHERE auth_name = NEW.param5_uom_auth_name AND code = NEW.param5_uom_code) != 'length' OR NEW.param6_auth_name IS NOT NULL OR NEW.param6_code IS NOT NULL OR NEW.param6_name IS NOT NULL OR NEW.param6_value IS NOT NULL OR NEW.param6_uom_auth_name IS NOT NULL OR NEW.param6_uom_code IS NOT NULL OR NEW.param7_auth_name IS NOT NULL OR NEW.param7_code IS NOT NULL OR NEW.param7_name IS NOT NULL OR NEW.param7_value IS NOT NULL OR NEW.param7_uom_auth_name IS NOT NULL OR NEW.param7_uom_code IS NOT NULL);
|
||||
|
||||
|
||||
@@ -1,9 +0,0 @@
|
||||
|
||||
CREATE TRIGGER conversion_method_check_insert_trigger_orthographic
|
||||
INSTEAD OF INSERT ON conversion
|
||||
BEGIN
|
||||
|
||||
SELECT RAISE(ABORT, 'insert on conversion violates constraint: bad parameters for Orthographic')
|
||||
WHERE NEW.deprecated != 1 AND NEW.method_auth_name = 'EPSG' AND NEW.method_code = '9840' AND (NEW.method_name != 'Orthographic' OR NEW.param1_auth_name != 'EPSG' OR NEW.param1_code != '8801' OR NEW.param1_name != 'Latitude of natural origin' OR NEW.param1_value IS NULL OR NEW.param1_uom_auth_name IS NULL OR NEW.param1_uom_code IS NULL OR (SELECT type FROM unit_of_measure WHERE auth_name = NEW.param1_uom_auth_name AND code = NEW.param1_uom_code) != 'angle' OR NEW.param2_auth_name != 'EPSG' OR NEW.param2_code != '8802' OR NEW.param2_name != 'Longitude of natural origin' OR NEW.param2_value IS NULL OR NEW.param2_uom_auth_name IS NULL OR NEW.param2_uom_code IS NULL OR (SELECT type FROM unit_of_measure WHERE auth_name = NEW.param2_uom_auth_name AND code = NEW.param2_uom_code) != 'angle' OR NEW.param3_auth_name != 'EPSG' OR NEW.param3_code != '8806' OR NEW.param3_name != 'False easting' OR NEW.param3_value IS NULL OR NEW.param3_uom_auth_name IS NULL OR NEW.param3_uom_code IS NULL OR (SELECT type FROM unit_of_measure WHERE auth_name = NEW.param3_uom_auth_name AND code = NEW.param3_uom_code) != 'length' OR NEW.param4_auth_name != 'EPSG' OR NEW.param4_code != '8807' OR NEW.param4_name != 'False northing' OR NEW.param4_value IS NULL OR NEW.param4_uom_auth_name IS NULL OR NEW.param4_uom_code IS NULL OR (SELECT type FROM unit_of_measure WHERE auth_name = NEW.param4_uom_auth_name AND code = NEW.param4_uom_code) != 'length' OR NEW.param5_auth_name IS NOT NULL OR NEW.param5_code IS NOT NULL OR NEW.param5_name IS NOT NULL OR NEW.param5_value IS NOT NULL OR NEW.param5_uom_auth_name IS NOT NULL OR NEW.param5_uom_code IS NOT NULL OR NEW.param6_auth_name IS NOT NULL OR NEW.param6_code IS NOT NULL OR NEW.param6_name IS NOT NULL OR NEW.param6_value IS NOT NULL OR NEW.param6_uom_auth_name IS NOT NULL OR NEW.param6_uom_code IS NOT NULL OR NEW.param7_auth_name IS NOT NULL OR NEW.param7_code IS NOT NULL OR NEW.param7_name IS NOT NULL OR NEW.param7_value IS NOT NULL OR NEW.param7_uom_auth_name IS NOT NULL OR NEW.param7_uom_code IS NOT NULL);
|
||||
|
||||
END;
|
||||
@@ -28,7 +28,6 @@ INSERT INTO "coordinate_system" VALUES('EPSG','1048','Cartesian',2);
|
||||
INSERT INTO "coordinate_system" VALUES('EPSG','1049','vertical',1);
|
||||
INSERT INTO "coordinate_system" VALUES('EPSG','1050','vertical',1);
|
||||
INSERT INTO "coordinate_system" VALUES('EPSG','1053','Cartesian',2);
|
||||
INSERT INTO "coordinate_system" VALUES('EPSG','1054','Cartesian',2);
|
||||
INSERT INTO "coordinate_system" VALUES('EPSG','4400','Cartesian',2);
|
||||
INSERT INTO "coordinate_system" VALUES('EPSG','4401','Cartesian',2);
|
||||
INSERT INTO "coordinate_system" VALUES('EPSG','4402','Cartesian',2);
|
||||
|
||||
+6
-392
@@ -68,7 +68,7 @@ INSERT INTO "usage" VALUES(
|
||||
'EPSG','1024' -- unknown
|
||||
);
|
||||
|
||||
INSERT INTO "other_transformation" VALUES('PROJ','CRS84_TO_EPSG_4326','OGC:CRS84 to WGS 84',NULL,'EPSG','9843','Axis Order Reversal (2D)','OGC','CRS84','EPSG','4326',0.0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "other_transformation" VALUES('PROJ','CRS84_TO_EPSG_4326','OGC:CRS84 to WGS 84',NULL,'EPSG','9843','Axis Order Reversal (2D)','OGC','CRS84','EPSG','4326',0.0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES(
|
||||
'PROJ',
|
||||
'CRS84_TO_EPSG_4326_USAGE',
|
||||
@@ -79,7 +79,7 @@ INSERT INTO "usage" VALUES(
|
||||
'EPSG','1024' -- unknown
|
||||
);
|
||||
|
||||
INSERT INTO "other_transformation" VALUES('PROJ','CRS27_TO_EPSG_4267','OGC:CRS27 to NAD27',NULL,'EPSG','9843','Axis Order Reversal (2D)','OGC','CRS27','EPSG','4267',0.0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "other_transformation" VALUES('PROJ','CRS27_TO_EPSG_4267','OGC:CRS27 to NAD27',NULL,'EPSG','9843','Axis Order Reversal (2D)','OGC','CRS27','EPSG','4267',0.0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES(
|
||||
'PROJ',
|
||||
'CRS27_TO_EPSG_4267_USAGE',
|
||||
@@ -90,7 +90,7 @@ INSERT INTO "usage" VALUES(
|
||||
'EPSG','1024' -- unknown
|
||||
);
|
||||
|
||||
INSERT INTO "other_transformation" VALUES('PROJ','CRS83_TO_EPSG_4269','OGC:CRS83 to NAD83',NULL,'EPSG','9843','Axis Order Reversal (2D)','OGC','CRS83','EPSG','4269',0.0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "other_transformation" VALUES('PROJ','CRS83_TO_EPSG_4269','OGC:CRS83 to NAD83',NULL,'EPSG','9843','Axis Order Reversal (2D)','OGC','CRS83','EPSG','4269',0.0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES(
|
||||
'PROJ',
|
||||
'CRS83_TO_EPSG_4269_USAGE',
|
||||
@@ -135,7 +135,7 @@ UPDATE grid_transformation SET interpolation_crs_auth_name = 'EPSG',
|
||||
|
||||
-- EPSG:1312 'NAD27 to NAD83 (3)' / NTv1_0.gsb has a accuracy of 1m whereas
|
||||
-- EPSG:1313 'NAD27 to NAD83 (4)' / NTv2_0.gsb has a accuracy of 1.5m
|
||||
-- so we will never select automatically NTv2_0.gsb. Worse the advertise
|
||||
-- so we will never select automatically NTv2_0.gsb. Worse the advertize
|
||||
-- accuracy of the NTv1 method
|
||||
|
||||
UPDATE grid_transformation SET accuracy = 2.0 WHERE auth_name = 'EPSG' AND code = '1312';
|
||||
@@ -170,18 +170,6 @@ INSERT INTO grid_transformation SELECT
|
||||
grid2_param_code,
|
||||
grid2_param_name,
|
||||
grid2_name,
|
||||
param1_auth_name,
|
||||
param1_code,
|
||||
param1_name,
|
||||
param1_value,
|
||||
param1_uom_auth_name,
|
||||
param1_uom_code,
|
||||
param2_auth_name,
|
||||
param2_code,
|
||||
param2_name,
|
||||
param2_value,
|
||||
param2_uom_auth_name,
|
||||
param2_uom_code,
|
||||
interpolation_crs_auth_name,
|
||||
interpolation_crs_code,
|
||||
operation_version,
|
||||
@@ -200,308 +188,6 @@ INSERT INTO usage SELECT
|
||||
scope_code
|
||||
FROM usage WHERE object_table_name = 'grid_transformation' AND object_auth_name = 'EPSG' AND object_code = '9123';
|
||||
|
||||
-- Canadian transformations: duplicate EPSG:10518, 10519, 10520, 10116, 10117, 10118 with NAD83(CSRS)v7 as interpolation CRS
|
||||
INSERT INTO grid_transformation SELECT
|
||||
'PROJ' AS auth_name,
|
||||
'EPSG_10518_WITH_NAD83CSRSV7_INTERPOLATION' AS code,
|
||||
name,
|
||||
description || ' Specifies NAD83(CSRS)v7 (code 8255) as interpolation CRS.' AS description,
|
||||
method_auth_name,
|
||||
method_code,
|
||||
method_name,
|
||||
source_crs_auth_name,
|
||||
source_crs_code,
|
||||
target_crs_auth_name,
|
||||
target_crs_code,
|
||||
accuracy,
|
||||
grid_param_auth_name,
|
||||
grid_param_code,
|
||||
grid_param_name,
|
||||
grid_name,
|
||||
grid2_param_auth_name,
|
||||
grid2_param_code,
|
||||
grid2_param_name,
|
||||
grid2_name,
|
||||
param1_auth_name,
|
||||
param1_code,
|
||||
param1_name,
|
||||
param1_value,
|
||||
param1_uom_auth_name,
|
||||
param1_uom_code,
|
||||
param2_auth_name,
|
||||
param2_code,
|
||||
param2_name,
|
||||
param2_value,
|
||||
param2_uom_auth_name,
|
||||
param2_uom_code,
|
||||
'EPSG' AS interpolation_crs_auth_name,
|
||||
8255 AS interpolation_crs_code,
|
||||
operation_version,
|
||||
0 AS deprecated
|
||||
FROM grid_transformation WHERE auth_name = 'EPSG' AND code = '10518';
|
||||
INSERT INTO usage SELECT
|
||||
'PROJ' AS auth_name,
|
||||
'USAGE_PROJ_EPSG_1058_WITH_NAD83CSRSV7_INTERPOLATION' AS code,
|
||||
object_table_name,
|
||||
'PROJ' AS object_auth_name,
|
||||
'EPSG_10518_WITH_NAD83CSRSV7_INTERPOLATION' AS object_code,
|
||||
extent_auth_name,
|
||||
extent_code,
|
||||
scope_auth_name,
|
||||
scope_code
|
||||
FROM usage WHERE object_table_name = 'grid_transformation' AND object_auth_name = 'EPSG' AND object_code = '10518';
|
||||
|
||||
INSERT INTO grid_transformation SELECT
|
||||
'PROJ' AS auth_name,
|
||||
'EPSG_10519_WITH_NAD83CSRSV7_INTERPOLATION' AS code,
|
||||
name,
|
||||
description || ' Specifies NAD83(CSRS)v7 (code 8255) as interpolation CRS.' AS description,
|
||||
method_auth_name,
|
||||
method_code,
|
||||
method_name,
|
||||
source_crs_auth_name,
|
||||
source_crs_code,
|
||||
target_crs_auth_name,
|
||||
target_crs_code,
|
||||
accuracy,
|
||||
grid_param_auth_name,
|
||||
grid_param_code,
|
||||
grid_param_name,
|
||||
grid_name,
|
||||
grid2_param_auth_name,
|
||||
grid2_param_code,
|
||||
grid2_param_name,
|
||||
grid2_name,
|
||||
param1_auth_name,
|
||||
param1_code,
|
||||
param1_name,
|
||||
param1_value,
|
||||
param1_uom_auth_name,
|
||||
param1_uom_code,
|
||||
param2_auth_name,
|
||||
param2_code,
|
||||
param2_name,
|
||||
param2_value,
|
||||
param2_uom_auth_name,
|
||||
param2_uom_code,
|
||||
'EPSG' AS interpolation_crs_auth_name,
|
||||
8255 AS interpolation_crs_code,
|
||||
operation_version,
|
||||
0 AS deprecated
|
||||
FROM grid_transformation WHERE auth_name = 'EPSG' AND code = '10519';
|
||||
INSERT INTO usage SELECT
|
||||
'PROJ' AS auth_name,
|
||||
'USAGE_PROJ_EPSG_10519_WITH_NAD83CSRSV7_INTERPOLATION' AS code,
|
||||
object_table_name,
|
||||
'PROJ' AS object_auth_name,
|
||||
'EPSG_10519_WITH_NAD83CSRSV7_INTERPOLATION' AS object_code,
|
||||
extent_auth_name,
|
||||
extent_code,
|
||||
scope_auth_name,
|
||||
scope_code
|
||||
FROM usage WHERE object_table_name = 'grid_transformation' AND object_auth_name = 'EPSG' AND object_code = '10519';
|
||||
|
||||
INSERT INTO grid_transformation SELECT
|
||||
'PROJ' AS auth_name,
|
||||
'EPSG_10520_WITH_NAD83CSRSV7_INTERPOLATION' AS code,
|
||||
name,
|
||||
description || ' Specifies NAD83(CSRS)v7 (code 8255) as interpolation CRS.' AS description,
|
||||
method_auth_name,
|
||||
method_code,
|
||||
method_name,
|
||||
source_crs_auth_name,
|
||||
source_crs_code,
|
||||
target_crs_auth_name,
|
||||
target_crs_code,
|
||||
accuracy,
|
||||
grid_param_auth_name,
|
||||
grid_param_code,
|
||||
grid_param_name,
|
||||
grid_name,
|
||||
grid2_param_auth_name,
|
||||
grid2_param_code,
|
||||
grid2_param_name,
|
||||
grid2_name,
|
||||
param1_auth_name,
|
||||
param1_code,
|
||||
param1_name,
|
||||
param1_value,
|
||||
param1_uom_auth_name,
|
||||
param1_uom_code,
|
||||
param2_auth_name,
|
||||
param2_code,
|
||||
param2_name,
|
||||
param2_value,
|
||||
param2_uom_auth_name,
|
||||
param2_uom_code,
|
||||
'EPSG' AS interpolation_crs_auth_name,
|
||||
8255 AS interpolation_crs_code,
|
||||
operation_version,
|
||||
0 AS deprecated
|
||||
FROM grid_transformation WHERE auth_name = 'EPSG' AND code = '10520';
|
||||
INSERT INTO usage SELECT
|
||||
'PROJ' AS auth_name,
|
||||
'USAGE_PROJ_EPSG_10520_WITH_NAD83CSRSV7_INTERPOLATION' AS code,
|
||||
object_table_name,
|
||||
'PROJ' AS object_auth_name,
|
||||
'EPSG_10520_WITH_NAD83CSRSV7_INTERPOLATION' AS object_code,
|
||||
extent_auth_name,
|
||||
extent_code,
|
||||
scope_auth_name,
|
||||
scope_code
|
||||
FROM usage WHERE object_table_name = 'grid_transformation' AND object_auth_name = 'EPSG' AND object_code = '10520';
|
||||
|
||||
INSERT INTO grid_transformation SELECT
|
||||
'PROJ' AS auth_name,
|
||||
'EPSG_10116_WITH_NAD83CSRSV7_INTERPOLATION' AS code,
|
||||
name,
|
||||
description || ' Specifies NAD83(CSRS)v7 (code 8255) as interpolation CRS.' AS description,
|
||||
method_auth_name,
|
||||
method_code,
|
||||
method_name,
|
||||
source_crs_auth_name,
|
||||
source_crs_code,
|
||||
target_crs_auth_name,
|
||||
target_crs_code,
|
||||
accuracy,
|
||||
grid_param_auth_name,
|
||||
grid_param_code,
|
||||
grid_param_name,
|
||||
grid_name,
|
||||
grid2_param_auth_name,
|
||||
grid2_param_code,
|
||||
grid2_param_name,
|
||||
grid2_name,
|
||||
param1_auth_name,
|
||||
param1_code,
|
||||
param1_name,
|
||||
param1_value,
|
||||
param1_uom_auth_name,
|
||||
param1_uom_code,
|
||||
param2_auth_name,
|
||||
param2_code,
|
||||
param2_name,
|
||||
param2_value,
|
||||
param2_uom_auth_name,
|
||||
param2_uom_code,
|
||||
'EPSG' AS interpolation_crs_auth_name,
|
||||
8255 AS interpolation_crs_code,
|
||||
operation_version,
|
||||
0 AS deprecated
|
||||
FROM grid_transformation WHERE auth_name = 'EPSG' AND code = '10116';
|
||||
INSERT INTO usage SELECT
|
||||
'PROJ' AS auth_name,
|
||||
'USAGE_PROJ_EPSG_10116_WITH_NAD83CSRSV7_INTERPOLATION' AS code,
|
||||
object_table_name,
|
||||
'PROJ' AS object_auth_name,
|
||||
'EPSG_10116_WITH_NAD83CSRSV7_INTERPOLATION' AS object_code,
|
||||
extent_auth_name,
|
||||
extent_code,
|
||||
scope_auth_name,
|
||||
scope_code
|
||||
FROM usage WHERE object_table_name = 'grid_transformation' AND object_auth_name = 'EPSG' AND object_code = '10116';
|
||||
|
||||
INSERT INTO grid_transformation SELECT
|
||||
'PROJ' AS auth_name,
|
||||
'EPSG_10117_WITH_NAD83CSRSV7_INTERPOLATION' AS code,
|
||||
name,
|
||||
description || ' Specifies NAD83(CSRS)v7 (code 8255) as interpolation CRS.' AS description,
|
||||
method_auth_name,
|
||||
method_code,
|
||||
method_name,
|
||||
source_crs_auth_name,
|
||||
source_crs_code,
|
||||
target_crs_auth_name,
|
||||
target_crs_code,
|
||||
accuracy,
|
||||
grid_param_auth_name,
|
||||
grid_param_code,
|
||||
grid_param_name,
|
||||
grid_name,
|
||||
grid2_param_auth_name,
|
||||
grid2_param_code,
|
||||
grid2_param_name,
|
||||
grid2_name,
|
||||
param1_auth_name,
|
||||
param1_code,
|
||||
param1_name,
|
||||
param1_value,
|
||||
param1_uom_auth_name,
|
||||
param1_uom_code,
|
||||
param2_auth_name,
|
||||
param2_code,
|
||||
param2_name,
|
||||
param2_value,
|
||||
param2_uom_auth_name,
|
||||
param2_uom_code,
|
||||
'EPSG' AS interpolation_crs_auth_name,
|
||||
8255 AS interpolation_crs_code,
|
||||
operation_version,
|
||||
0 AS deprecated
|
||||
FROM grid_transformation WHERE auth_name = 'EPSG' AND code = '10117';
|
||||
INSERT INTO usage SELECT
|
||||
'PROJ' AS auth_name,
|
||||
'USAGE_PROJ_EPSG_10117_WITH_NAD83CSRSV7_INTERPOLATION' AS code,
|
||||
object_table_name,
|
||||
'PROJ' AS object_auth_name,
|
||||
'EPSG_10117_WITH_NAD83CSRSV7_INTERPOLATION' AS object_code,
|
||||
extent_auth_name,
|
||||
extent_code,
|
||||
scope_auth_name,
|
||||
scope_code
|
||||
FROM usage WHERE object_table_name = 'grid_transformation' AND object_auth_name = 'EPSG' AND object_code = '10117';
|
||||
|
||||
INSERT INTO grid_transformation SELECT
|
||||
'PROJ' AS auth_name,
|
||||
'EPSG_10118_WITH_NAD83CSRSV7_INTERPOLATION' AS code,
|
||||
name,
|
||||
description || ' Specifies NAD83(CSRS)v7 (code 8255) as interpolation CRS.' AS description,
|
||||
method_auth_name,
|
||||
method_code,
|
||||
method_name,
|
||||
source_crs_auth_name,
|
||||
source_crs_code,
|
||||
target_crs_auth_name,
|
||||
target_crs_code,
|
||||
accuracy,
|
||||
grid_param_auth_name,
|
||||
grid_param_code,
|
||||
grid_param_name,
|
||||
grid_name,
|
||||
grid2_param_auth_name,
|
||||
grid2_param_code,
|
||||
grid2_param_name,
|
||||
grid2_name,
|
||||
param1_auth_name,
|
||||
param1_code,
|
||||
param1_name,
|
||||
param1_value,
|
||||
param1_uom_auth_name,
|
||||
param1_uom_code,
|
||||
param2_auth_name,
|
||||
param2_code,
|
||||
param2_name,
|
||||
param2_value,
|
||||
param2_uom_auth_name,
|
||||
param2_uom_code,
|
||||
'EPSG' AS interpolation_crs_auth_name,
|
||||
8255 AS interpolation_crs_code,
|
||||
operation_version,
|
||||
0 AS deprecated
|
||||
FROM grid_transformation WHERE auth_name = 'EPSG' AND code = '10118';
|
||||
INSERT INTO usage SELECT
|
||||
'PROJ' AS auth_name,
|
||||
'USAGE_PROJ_EPSG_10118_WITH_NAD83CSRSV7_INTERPOLATION' AS code,
|
||||
object_table_name,
|
||||
'PROJ' AS object_auth_name,
|
||||
'EPSG_10118_WITH_NAD83CSRSV7_INTERPOLATION' AS object_code,
|
||||
extent_auth_name,
|
||||
extent_code,
|
||||
scope_auth_name,
|
||||
scope_code
|
||||
FROM usage WHERE object_table_name = 'grid_transformation' AND object_auth_name = 'EPSG' AND object_code = '10118';
|
||||
|
||||
|
||||
-- Define the allowed authorities, and their precedence, when researching a
|
||||
-- coordinate operation
|
||||
|
||||
@@ -561,7 +247,7 @@ INSERT INTO "geoid_model" SELECT 'GEOID18', auth_name, code FROM grid_transforma
|
||||
|
||||
INSERT INTO "geoid_model" SELECT 'OSGM15', auth_name, code FROM grid_transformation WHERE auth_name = 'EPSG' AND grid_name LIKE '%OSGM15%' AND deprecated = 0;
|
||||
|
||||
INSERT INTO "geoid_model" SELECT 'GGM10', auth_name, code FROM grid_transformation WHERE auth_name = 'EPSG' AND grid_name LIKE 'GGM10.txt' AND deprecated = 0;
|
||||
INSERT INTO "geoid_model" SELECT 'GGM10', auth_name, code FROM grid_transformation WHERE auth_name = 'PROJ' AND grid_name LIKE 'GGM10.txt' AND deprecated = 0;
|
||||
|
||||
---- PROJ historic +datum aliases -----
|
||||
|
||||
@@ -638,18 +324,6 @@ SELECT
|
||||
gt.grid2_param_code,
|
||||
gt.grid2_param_name,
|
||||
gt.grid2_name,
|
||||
gt.param1_auth_name,
|
||||
gt.param1_code,
|
||||
gt.param1_name,
|
||||
gt.param1_value,
|
||||
gt.param1_uom_auth_name,
|
||||
gt.param1_uom_code,
|
||||
gt.param2_auth_name,
|
||||
gt.param2_code,
|
||||
gt.param2_name,
|
||||
gt.param2_value,
|
||||
gt.param2_uom_auth_name,
|
||||
gt.param2_uom_code,
|
||||
gt.interpolation_crs_auth_name,
|
||||
gt.interpolation_crs_code,
|
||||
gt.operation_version,
|
||||
@@ -659,7 +333,7 @@ JOIN compound_crs c ON gt.target_crs_code = c.code AND gt.target_crs_auth_name =
|
||||
JOIN geodetic_crs gcrs ON gt.source_crs_auth_name = gcrs.auth_name AND gt.source_crs_code = gcrs.code
|
||||
JOIN vertical_crs vcrs on vcrs.auth_name = c.vertical_crs_auth_name AND vcrs.code = c.vertical_crs_code
|
||||
WHERE method_auth_name = 'EPSG' AND method_name LIKE 'Geog3D to Geog2D+%'
|
||||
AND NOT EXISTS (SELECT 1 FROM grid_transformation gt2 WHERE gt2.method_name LIKE 'Geographic3D to%' AND gt2.source_crs_auth_name = gt.source_crs_auth_name AND gt2.source_crs_code = gt.source_crs_code AND gt2.target_crs_auth_name = vcrs.auth_name AND gt2.target_crs_code = vcrs.code AND gt2.grid_name = gt.grid_name)
|
||||
AND NOT EXISTS (SELECT 1 FROM grid_transformation gt2 WHERE gt2.method_name LIKE 'Geographic3D to%' AND gt2.source_crs_auth_name = gt.source_crs_auth_name AND gt2.source_crs_code = gt.source_crs_code AND gt2.target_crs_auth_name = vcrs.auth_name AND gt2.target_crs_code = vcrs.code)
|
||||
AND gt.deprecated = 0;
|
||||
|
||||
INSERT INTO "usage"
|
||||
@@ -677,63 +351,3 @@ FROM grid_transformation gt
|
||||
JOIN usage u ON u.object_auth_name = gt.auth_name AND u.object_code = gt.code AND u.object_table_name = 'grid_transformation'
|
||||
WHERE method_auth_name = 'EPSG' AND method_name LIKE 'Geog3D to Geog2D+%'
|
||||
AND EXISTS (SELECT 1 FROM grid_transformation gt2 WHERE gt2.auth_name = 'PROJ' AND gt2.code = gt.auth_name || '_' || gt.code || '_RESTRICTED_TO_VERTCRS');
|
||||
|
||||
-- Add records corresponding to EGM2008 grid for WGS 84 realizations
|
||||
|
||||
INSERT INTO "grid_transformation"
|
||||
SELECT
|
||||
'PROJ' AS auth_name,
|
||||
replace(replace(replace(gcrs.name, ' ', '_'), '(', ''), ')', '') || '_TO_EGM2008',
|
||||
gcrs.name || ' to EGM2008 height (from ' || gt.name || ')' AS name,
|
||||
gt.description,
|
||||
gt.method_auth_name,
|
||||
gt.method_code,
|
||||
gt.method_name,
|
||||
gcrs.auth_name,
|
||||
gcrs.code,
|
||||
gt.target_crs_auth_name,
|
||||
gt.target_crs_code,
|
||||
gt.accuracy,
|
||||
gt.grid_param_auth_name,
|
||||
gt.grid_param_code,
|
||||
gt.grid_param_name,
|
||||
gt.grid_name,
|
||||
gt.grid2_param_auth_name,
|
||||
gt.grid2_param_code,
|
||||
gt.grid2_param_name,
|
||||
gt.grid2_name,
|
||||
gt.param1_auth_name,
|
||||
gt.param1_code,
|
||||
gt.param1_name,
|
||||
gt.param1_value,
|
||||
gt.param1_uom_auth_name,
|
||||
gt.param1_uom_code,
|
||||
gt.param2_auth_name,
|
||||
gt.param2_code,
|
||||
gt.param2_name,
|
||||
gt.param2_value,
|
||||
gt.param2_uom_auth_name,
|
||||
gt.param2_uom_code,
|
||||
gt.interpolation_crs_auth_name,
|
||||
gt.interpolation_crs_code,
|
||||
gt.operation_version,
|
||||
gt.deprecated
|
||||
FROM grid_transformation gt, geodetic_crs gcrs
|
||||
WHERE gt.name = 'WGS 84 to EGM2008 height (1)'
|
||||
AND gcrs.auth_name = 'EPSG' AND gcrs.name LIKE 'WGS 84 (G%' AND gcrs.type='geographic 3D' and gcrs.deprecated=0;
|
||||
|
||||
INSERT INTO "usage"
|
||||
SELECT
|
||||
'PROJ' AS auth_name,
|
||||
'USAGE_' || replace(replace(replace(gcrs.name, ' ', '_'), '(', ''), ')', '') || '_TO_EGM2008' AS code,
|
||||
'grid_transformation' AS object_table_name,
|
||||
'PROJ' AS object_auth_name,
|
||||
replace(replace(replace(gcrs.name, ' ', '_'), '(', ''), ')', '') || '_TO_EGM2008' AS object_code,
|
||||
u.extent_auth_name,
|
||||
u.extent_code,
|
||||
u.scope_auth_name,
|
||||
u.scope_code
|
||||
FROM grid_transformation gt, geodetic_crs gcrs
|
||||
JOIN usage u ON u.object_auth_name = gt.auth_name AND u.object_code = gt.code AND u.object_table_name = 'grid_transformation'
|
||||
WHERE gt.name = 'WGS 84 to EGM2008 height (1)'
|
||||
AND gcrs.auth_name = 'EPSG' AND gcrs.name LIKE 'WGS 84 (G%' AND gcrs.type='geographic 3D' and gcrs.deprecated=0;
|
||||
|
||||
@@ -6,3 +6,12 @@ INSERT INTO "scope" VALUES('PROJ','SCOPE_UNKNOWN','Not known.',0);
|
||||
INSERT INTO celestial_body VALUES('PROJ', 'EARTH', 'Earth', 6378137.0);
|
||||
|
||||
INSERT INTO versioned_auth_name_mapping VALUES ('IAU_2015', 'IAU', '2015', 1);
|
||||
|
||||
CREATE TRIGGER conversion_method_check_insert_trigger_orthographic
|
||||
INSTEAD OF INSERT ON conversion
|
||||
BEGIN
|
||||
|
||||
SELECT RAISE(ABORT, 'insert on conversion violates constraint: bad parameters for Orthographic')
|
||||
WHERE NEW.deprecated != 1 AND NEW.method_auth_name = 'EPSG' AND NEW.method_code = '9840' AND (NEW.method_name != 'Orthographic' OR NEW.param1_auth_name != 'EPSG' OR NEW.param1_code != '8801' OR NEW.param1_name != 'Latitude of natural origin' OR NEW.param1_value IS NULL OR NEW.param1_uom_auth_name IS NULL OR NEW.param1_uom_code IS NULL OR (SELECT type FROM unit_of_measure WHERE auth_name = NEW.param1_uom_auth_name AND code = NEW.param1_uom_code) != 'angle' OR NEW.param2_auth_name != 'EPSG' OR NEW.param2_code != '8802' OR NEW.param2_name != 'Longitude of natural origin' OR NEW.param2_value IS NULL OR NEW.param2_uom_auth_name IS NULL OR NEW.param2_uom_code IS NULL OR (SELECT type FROM unit_of_measure WHERE auth_name = NEW.param2_uom_auth_name AND code = NEW.param2_uom_code) != 'angle' OR NEW.param3_auth_name != 'EPSG' OR NEW.param3_code != '8806' OR NEW.param3_name != 'False easting' OR NEW.param3_value IS NULL OR NEW.param3_uom_auth_name IS NULL OR NEW.param3_uom_code IS NULL OR (SELECT type FROM unit_of_measure WHERE auth_name = NEW.param3_uom_auth_name AND code = NEW.param3_uom_code) != 'length' OR NEW.param4_auth_name != 'EPSG' OR NEW.param4_code != '8807' OR NEW.param4_name != 'False northing' OR NEW.param4_value IS NULL OR NEW.param4_uom_auth_name IS NULL OR NEW.param4_uom_code IS NULL OR (SELECT type FROM unit_of_measure WHERE auth_name = NEW.param4_uom_auth_name AND code = NEW.param4_uom_code) != 'length' OR NEW.param5_auth_name IS NOT NULL OR NEW.param5_code IS NOT NULL OR NEW.param5_name IS NOT NULL OR NEW.param5_value IS NOT NULL OR NEW.param5_uom_auth_name IS NOT NULL OR NEW.param5_uom_code IS NOT NULL OR NEW.param6_auth_name IS NOT NULL OR NEW.param6_code IS NOT NULL OR NEW.param6_name IS NOT NULL OR NEW.param6_value IS NOT NULL OR NEW.param6_uom_auth_name IS NOT NULL OR NEW.param6_uom_code IS NOT NULL OR NEW.param7_auth_name IS NOT NULL OR NEW.param7_code IS NOT NULL OR NEW.param7_name IS NOT NULL OR NEW.param7_value IS NOT NULL OR NEW.param7_uom_auth_name IS NOT NULL OR NEW.param7_uom_code IS NOT NULL);
|
||||
|
||||
END;
|
||||
|
||||
@@ -463,11 +463,5 @@ INSERT INTO "deprecation" VALUES('compound_crs','EPSG','5832','EPSG','9928','EPS
|
||||
INSERT INTO "deprecation" VALUES('compound_crs','EPSG','5833','EPSG','9929','EPSG');
|
||||
INSERT INTO "deprecation" VALUES('compound_crs','EPSG','5834','EPSG','9930','EPSG');
|
||||
INSERT INTO "deprecation" VALUES('compound_crs','EPSG','5835','EPSG','9931','EPSG');
|
||||
INSERT INTO "deprecation" VALUES('projected_crs','EPSG','10480','EPSG','10481','EPSG');
|
||||
INSERT INTO "deprecation" VALUES('projected_crs','EPSG','10788','EPSG','10820','EPSG');
|
||||
INSERT INTO "deprecation" VALUES('geodetic_crs','EPSG','10783','EPSG','10176','EPSG');
|
||||
INSERT INTO "deprecation" VALUES('geodetic_crs','EPSG','10784','EPSG','10177','EPSG');
|
||||
INSERT INTO "deprecation" VALUES('geodetic_crs','EPSG','10785','EPSG','10178','EPSG');
|
||||
INSERT INTO "deprecation" VALUES('geodetic_crs','EPSG','10781','EPSG','9990','EPSG');
|
||||
INSERT INTO "deprecation" VALUES('geodetic_crs','EPSG','10780','EPSG','9989','EPSG');
|
||||
INSERT INTO "deprecation" VALUES('geodetic_crs','EPSG','10779','EPSG','9988','EPSG');
|
||||
INSERT INTO "deprecation" VALUES('compound_crs','EPSG','9924','EPSG','10293','EPSG');
|
||||
INSERT INTO "deprecation" VALUES('projected_crs','EPSG','8395','EPSG','10285','EPSG');
|
||||
|
||||
@@ -1,34 +0,0 @@
|
||||
--- This file has been generated by scripts/build_db.py. DO NOT EDIT !
|
||||
|
||||
INSERT INTO "engineering_crs" VALUES('EPSG','5800','Astra Minas Grid',NULL,'EPSG','6507','EPSG','9300',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','4243','engineering_crs','EPSG','5800','EPSG','1265','EPSG','1136');
|
||||
INSERT INTO "engineering_crs" VALUES('EPSG','5801','Barcelona Grid B1',NULL,'EPSG','4500','EPSG','9301',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','4244','engineering_crs','EPSG','5801','EPSG','1266','EPSG','1136');
|
||||
INSERT INTO "engineering_crs" VALUES('EPSG','5802','Barcelona Grid B2',NULL,'EPSG','4500','EPSG','9301',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','4245','engineering_crs','EPSG','5802','EPSG','1266','EPSG','1136');
|
||||
INSERT INTO "engineering_crs" VALUES('EPSG','5803','Maturin Grid',NULL,'EPSG','4500','EPSG','9302',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','4246','engineering_crs','EPSG','5803','EPSG','1320','EPSG','1136');
|
||||
INSERT INTO "engineering_crs" VALUES('EPSG','5808','Maracaibo Cross Grid M4',NULL,'EPSG','4500','EPSG','9303',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','4251','engineering_crs','EPSG','5808','EPSG','1319','EPSG','1136');
|
||||
INSERT INTO "engineering_crs" VALUES('EPSG','5809','Maracaibo Cross Grid M5',NULL,'EPSG','4500','EPSG','9303',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','4252','engineering_crs','EPSG','5809','EPSG','1319','EPSG','1136');
|
||||
INSERT INTO "engineering_crs" VALUES('EPSG','5810','La Rosa Grid',NULL,'EPSG','4500','EPSG','9304',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','4253','engineering_crs','EPSG','5810','EPSG','1311','EPSG','1136');
|
||||
INSERT INTO "engineering_crs" VALUES('EPSG','5811','Mene Grande',NULL,'EPSG','4500','EPSG','9305',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','4254','engineering_crs','EPSG','5811','EPSG','1270','EPSG','1136');
|
||||
INSERT INTO "engineering_crs" VALUES('EPSG','5812','El Cubo',NULL,'EPSG','4500','EPSG','9306',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','4255','engineering_crs','EPSG','5812','EPSG','1269','EPSG','1136');
|
||||
INSERT INTO "engineering_crs" VALUES('EPSG','5813','Dabajuro',NULL,'EPSG','4500','EPSG','9307',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','4256','engineering_crs','EPSG','5813','EPSG','1268','EPSG','1136');
|
||||
INSERT INTO "engineering_crs" VALUES('EPSG','5814','Tucupita',NULL,'EPSG','4500','EPSG','9308',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','4257','engineering_crs','EPSG','5814','EPSG','1370','EPSG','1136');
|
||||
INSERT INTO "engineering_crs" VALUES('EPSG','5815','Santa Maria de Ipire',NULL,'EPSG','4500','EPSG','9310',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','4258','engineering_crs','EPSG','5815','EPSG','1371','EPSG','1136');
|
||||
INSERT INTO "engineering_crs" VALUES('EPSG','5816','Barinas west base',NULL,'EPSG','4500','EPSG','9311',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','4259','engineering_crs','EPSG','5816','EPSG','1267','EPSG','1136');
|
||||
INSERT INTO "engineering_crs" VALUES('EPSG','5817','Tombak LNG plant',NULL,'EPSG','6510','EPSG','9314',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','4260','engineering_crs','EPSG','5817','EPSG','2362','EPSG','1029');
|
||||
INSERT INTO "engineering_crs" VALUES('EPSG','6715','Christmas Island Grid 1985',NULL,'EPSG','4400','EPSG','1134',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','4925','engineering_crs','EPSG','6715','EPSG','4169','EPSG','1056');
|
||||
INSERT INTO "engineering_crs" VALUES('EPSG','11378','Heathrow Airport Grid',NULL,'EPSG','4400','EPSG','1452',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','25471','engineering_crs','EPSG','11378','EPSG','4796','EPSG','1142');
|
||||
@@ -1,32 +0,0 @@
|
||||
--- This file has been generated by scripts/build_db.py. DO NOT EDIT !
|
||||
|
||||
INSERT INTO "engineering_datum" VALUES('EPSG','1134','Christmas Island Datum 1985','1985-01-01',NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','13186','engineering_datum','EPSG','1134','EPSG','4169','EPSG','1056');
|
||||
INSERT INTO "engineering_datum" VALUES('EPSG','1452','Heathrow Airport Grid',NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','25470','engineering_datum','EPSG','1452','EPSG','4796','EPSG','1142');
|
||||
INSERT INTO "engineering_datum" VALUES('EPSG','9300','Astra Minas',NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','13850','engineering_datum','EPSG','9300','EPSG','1265','EPSG','1216');
|
||||
INSERT INTO "engineering_datum" VALUES('EPSG','9301','Barcelona',NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','13851','engineering_datum','EPSG','9301','EPSG','1266','EPSG','1216');
|
||||
INSERT INTO "engineering_datum" VALUES('EPSG','9302','Maturin',NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','13852','engineering_datum','EPSG','9302','EPSG','1320','EPSG','1216');
|
||||
INSERT INTO "engineering_datum" VALUES('EPSG','9303','Maracaibo Cross',NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','13853','engineering_datum','EPSG','9303','EPSG','1319','EPSG','1216');
|
||||
INSERT INTO "engineering_datum" VALUES('EPSG','9304','La Rosa',NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','13854','engineering_datum','EPSG','9304','EPSG','1311','EPSG','1216');
|
||||
INSERT INTO "engineering_datum" VALUES('EPSG','9305','Mene Grande',NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','13855','engineering_datum','EPSG','9305','EPSG','1270','EPSG','1216');
|
||||
INSERT INTO "engineering_datum" VALUES('EPSG','9306','El Cubo',NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','13856','engineering_datum','EPSG','9306','EPSG','1269','EPSG','1216');
|
||||
INSERT INTO "engineering_datum" VALUES('EPSG','9307','Dabajuro',NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','13857','engineering_datum','EPSG','9307','EPSG','1268','EPSG','1216');
|
||||
INSERT INTO "engineering_datum" VALUES('EPSG','9308','Tucupita',NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','13858','engineering_datum','EPSG','9308','EPSG','1370','EPSG','1216');
|
||||
INSERT INTO "engineering_datum" VALUES('EPSG','9309','El Mene',NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','13859','engineering_datum','EPSG','9309','EPSG','1270','EPSG','1216');
|
||||
INSERT INTO "engineering_datum" VALUES('EPSG','9310','Santa Maria de Ipire',NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','13860','engineering_datum','EPSG','9310','EPSG','1371','EPSG','1216');
|
||||
INSERT INTO "engineering_datum" VALUES('EPSG','9311','Barinas west base',NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','13861','engineering_datum','EPSG','9311','EPSG','1267','EPSG','1216');
|
||||
INSERT INTO "engineering_datum" VALUES('EPSG','9314','Tombak LNG plant',NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','13864','engineering_datum','EPSG','9314','EPSG','2362','EPSG','1029');
|
||||
+2938
-4599
File diff suppressed because it is too large
Load Diff
+144
-278
@@ -54,7 +54,7 @@ INSERT INTO "extent" VALUES('EPSG','1074','Costa Rica','Costa Rica - onshore and
|
||||
INSERT INTO "extent" VALUES('EPSG','1075','Cote d''Ivoire (Ivory Coast)','Côte d''Ivoire (Ivory Coast) - onshore and offshore.',1.02,10.74,-8.61,-2.48,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','1076','Croatia','Croatia - onshore and offshore.',41.62,46.54,13.0,19.43,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','1077','Cuba','Cuba - onshore and offshore.',18.83,25.51,-87.01,-73.57,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','1078','Cyprus','Cyprus - onshore and offshore.',32.88,36.21,29.83,35.2,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','1078','Cyprus','Cyprus - onshore and offshore.',32.88,36.21,29.95,35.2,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','1079','Czechia','Czechia.',48.58,51.06,12.09,18.86,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','1080','Denmark','Denmark - onshore and offshore.',54.36,58.27,3.24,16.51,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','1081','Djibouti','Djibouti - onshore and offshore.',10.94,12.72,41.75,44.15,0);
|
||||
@@ -82,8 +82,8 @@ INSERT INTO "extent" VALUES('EPSG','1102','Georgia','Georgia - onshore and offsh
|
||||
INSERT INTO "extent" VALUES('EPSG','1103','Germany','Germany - onshore and offshore.',47.27,55.92,3.34,15.04,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','1104','Ghana','Ghana - onshore and offshore.',1.4,11.16,-3.79,2.1,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','1105','Gibraltar','Gibraltar - onshore and offshore.',36.0,36.16,-5.42,-4.89,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','1106','Greece','Greece - onshore and offshore. Includes Aegean Islands, Ionian Islands, Dodecanese Islands, Crete, and Mount Athos.',33.26,41.75,18.26,30.11,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','1107','Greenland','Greenland - onshore and offshore.',56.38,87.03,-75.0,7.99,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','1106','Greece','Greece - onshore and offshore. Includes Aegean Islands, Ionian Islands, Dodecanese Islands, Crete, and Mount Athos.',33.26,41.75,18.26,30.23,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','1107','Greenland','Greenland - onshore and offshore.',56.38,87.02,-75.0,7.99,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','1108','Grenada','Grenada and southern Grenadine Islands - onshore and offshore.',11.36,13.4,-63.28,-60.82,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','1109','Guadeloupe','Guadeloupe - onshore and offshore. Includes Grande Terre, Basse Terre, Marie Galante, Les Saintes, Iles de la Petite Terre, La Desirade.',15.06,18.54,-62.82,-57.54,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','1110','Guam','Guam - onshore and offshore.',10.95,15.91,141.19,148.18,0);
|
||||
@@ -94,7 +94,7 @@ INSERT INTO "extent" VALUES('EPSG','1114','Guyana','Guyana - onshore and offshor
|
||||
INSERT INTO "extent" VALUES('EPSG','1115','Haiti','Haiti - onshore and offshore.',14.73,20.72,-75.73,-71.62,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','1116','Heard Island and McDonald Islands','Heard Island and McDonald Islands - onshore and offshore.',-59.02,-49.5,62.92,83.57,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','1117','Honduras','Honduras - onshore and offshore. Includes Swan Islands.',12.98,19.59,-89.36,-79.87,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','1118','Hong Kong','Hong Kong - onshore and offshore.',22.13,22.58,113.76,114.51,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','1118','China - Hong Kong','China - Hong Kong - onshore and offshore.',22.13,22.58,113.76,114.51,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','1119','Hungary','Hungary.',45.74,48.58,16.11,22.9,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','1120','Iceland','Iceland - onshore and offshore.',59.96,69.59,-30.87,-5.55,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','1121','India','India - onshore and offshore. Includes Amandivis, Laccadives, Minicoy, Andaman Islands, Nicobar Islands, and Sikkim.',3.87,35.51,65.6,97.42,0);
|
||||
@@ -107,11 +107,11 @@ INSERT INTO "extent" VALUES('EPSG','1127','Italy','Italy - onshore and offshore.
|
||||
INSERT INTO "extent" VALUES('EPSG','1128','Jamaica','Jamaica - onshore and offshore. Includes Morant Cays and Pedro Cays.',14.08,19.36,-80.6,-74.51,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','1129','Japan','Japan - onshore and offshore.',17.09,46.05,122.38,157.65,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','1130','Jordan','Jordan.',29.18,33.38,34.88,39.31,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','1131','Kazakhstan','Kazakhstan - onshore and offshore, including Caspian Sea.',40.59,55.45,46.49,87.35,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','1131','Kazakhstan','Kazakhstan - onshore including Caspian Sea.',40.59,55.45,46.49,87.35,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','1132','Kenya','Kenya - onshore and offshore.',-4.9,4.63,33.9,44.28,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','1133','Kiribati','Kiribati - onshore and offshore. Includes Fanning Island, Washington Island and Christmas in the Line Islands, Ocean Islands, Phoenix Islands.',-13.84,7.92,167.81,-146.82,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','1134','North Korea','Democratic People''s Republic of Korea (North Korea) - onshore and offshore.',37.1,43.01,123.54,132.82,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','1135','South Korea','Republic of Korea (South Korea) - onshore and offshore.',28.6,40.27,122.71,134.28,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','1134','Korea, Democratic People''s Republic of (North Korea)','Democratic People''s Republic of Korea (North Korea) - onshore and offshore.',37.1,43.01,123.54,132.82,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','1135','Korea, Republic of (South Korea)','Republic of Korea (South Korea) - onshore and offshore.',28.6,40.27,122.71,134.28,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','1136','Kuwait','Kuwait - onshore and offshore.',28.53,30.09,46.54,49.53,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','1137','Kyrgyzstan','Kyrgyzstan.',39.19,43.22,69.24,80.29,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','1138','Laos','Laos.',13.92,22.5,100.09,107.64,0);
|
||||
@@ -123,7 +123,7 @@ INSERT INTO "extent" VALUES('EPSG','1143','Libya','Libya - onshore and offshore.
|
||||
INSERT INTO "extent" VALUES('EPSG','1144','Liechtenstein','Liechtenstein.',47.05,47.28,9.47,9.64,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','1145','Lithuania','Lithuania - onshore and offshore.',53.89,56.45,19.02,26.82,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','1146','Luxembourg','Luxembourg.',49.44,50.19,5.73,6.53,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','1147','Macao','Macao - onshore and offshore.',22.06,22.23,113.52,113.68,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','1147','China - Macao','China - Macao - onshore and offshore.',22.06,22.23,113.52,113.68,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','1148','North Macedonia','North Macedonia.',40.85,42.36,20.45,23.04,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','1149','Madagascar - onshore and nearshore','Madagascar - onshore and nearshore.',-26.59,-11.69,42.53,51.03,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','1150','Malawi','Malawi.',-17.14,-9.37,32.68,35.93,0);
|
||||
@@ -193,7 +193,7 @@ INSERT INTO "extent" VALUES('EPSG','1213','Solomon Islands - onshore main island
|
||||
INSERT INTO "extent" VALUES('EPSG','1214','Somalia','Somalia - onshore and offshore.',-3.61,13.5,40.98,54.43,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','1215','South Africa','South Africa - onshore and offshore, including Marion Island, and Prince Edward Island.',-50.32,-22.13,13.33,42.85,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','1216','South Georgia and the South Sandwich Islands','South Georgia and the South Sandwich Islands - onshore and offshore.',-62.79,-50.15,-48.06,-19.84,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','1217','Spain','Spain - mainland, Balearic Islands, Canary Islands, Ceuta and Melilla - onshore and offshore.',24.6,46.26,-21.93,6.3,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','1217','Spain','Spain - mainland, Balearic Islands, Canary Islands, Ceuta and Melila - onshore and offshore.',24.6,46.26,-21.93,6.3,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','1218','Sri Lanka','Sri Lanka - onshore and offshore.',2.58,11.45,77.02,85.24,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','1219','St Helena, Ascension and Tristan da Cunha','St Helena, Ascension and Tristan da Cunha archipelago (Gough, Inaccessible, Nightingale and Stoltenhoff Islands) - onshore and offshore.',-43.71,-4.55,-17.79,-2.16,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','1220','St Pierre and Miquelon','St Pierre and Miquelon - onshore and offshore.',43.41,47.37,-57.1,-55.9,0);
|
||||
@@ -202,7 +202,7 @@ INSERT INTO "extent" VALUES('EPSG','1222','Suriname','Suriname - onshore and off
|
||||
INSERT INTO "extent" VALUES('EPSG','1223','Svalbard and Jan Mayen','Svalbard and Jan Mayen - onshore and offshore. Includes Bear Island.',66.24,85.05,-16.22,35.02,1);
|
||||
INSERT INTO "extent" VALUES('EPSG','1224','Eswatini','Eswatini (Swaziland).',-27.32,-25.72,30.79,32.14,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','1225','Sweden','Sweden - onshore and offshore.',54.96,69.07,10.03,24.17,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','1226','Switzerland','Switzerland.',45.81,47.81,5.95,10.5,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','1226','Switzerland','Switzerland.',45.82,47.81,5.96,10.49,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','1227','Syria','Syria - onshore and offshore.',32.31,37.3,34.96,42.38,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','1228','Taiwan','Taiwan, Republic of China - onshore and offshore - Taiwan Island, Penghu (Pescadores) Islands.',17.36,26.96,114.32,123.61,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','1229','Tajikistan','Tajikistan.',36.67,41.05,67.36,75.19,0);
|
||||
@@ -213,7 +213,7 @@ INSERT INTO "extent" VALUES('EPSG','1233','Tokelau','Tokelau - onshore and offsh
|
||||
INSERT INTO "extent" VALUES('EPSG','1234','Tonga','Tonga - onshore and offshore.',-25.68,-14.14,-179.08,-171.28,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','1235','Trinidad and Tobago','Trinidad and Tobago - onshore and offshore.',9.83,12.34,-62.09,-57.28,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','1236','Tunisia','Tunisia - onshore and offshore.',30.23,38.41,7.49,13.67,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','1237','Turkey','Türkiye (Turkey) - onshore and offshore.',34.2,43.45,25.62,44.83,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','1237','Turkey','Türkiye (Turkey) - onshore and offshore.',34.42,43.45,25.62,44.83,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','1238','Turkmenistan','Turkmenistan - onshore and offshore.',35.14,42.8,51.3,66.68,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','1239','Turks and Caicos Islands','Turks and Caicos Islands - onshore and offshore.',20.54,25.07,-72.82,-67.66,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','1240','Tuvalu','Tuvalu - onshore and offshore. Funafuti, Nanumanga, Nui, Nanomea, Nurakita, Niutao, Nukufetau, Nukulaelae, and Vaitupu.',-13.24,-4.0,172.73,-176.71,0);
|
||||
@@ -226,7 +226,7 @@ INSERT INTO "extent" VALUES('EPSG','1246','United States Minor Outlying Islands'
|
||||
INSERT INTO "extent" VALUES('EPSG','1247','Uruguay','Uruguay - onshore and offshore.',-37.77,-30.09,-58.49,-50.01,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','1248','Uzbekistan','Uzbekistan.',37.18,45.58,55.99,73.17,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','1249','Vanuatu','Vanuatu - onshore and offshore.',-21.65,-12.27,163.16,173.59,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','1250','Vatican','Holy See (Vatican City State).',41.9,41.91,12.44,12.46,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','1250','Holy See (Vatican City State)','Holy See (Vatican City State).',41.9,41.91,12.44,12.46,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','1251','Venezuela','Venezuela - onshore and offshore.',0.64,16.75,-73.38,-58.95,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','1252','Vietnam','Vietnam - onshore and offshore.',5.67,23.4,102.14,112.55,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','1253','Virgin Islands, British','British Virgin Islands - onshore and offshore - Anegada, Jost Van Dyke, Tortola, and Virgin Gorda.',17.96,22.09,-65.85,-63.29,0);
|
||||
@@ -262,19 +262,19 @@ INSERT INTO "extent" VALUES('EPSG','1282','Australia - Tasmania','Australia - Ta
|
||||
INSERT INTO "extent" VALUES('EPSG','1283','Canada - Maritime Provinces','Canada - New Brunswick; Nova Scotia; Prince Edward Island.',43.41,48.07,-69.05,-59.73,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','1284','Europe - FSU, Czechoslovakia - onshore','Armenia; Azerbaijan; Belarus; Czechia; Estonia - onshore; Georgia - onshore; Kazakhstan; Kyrgyzstan; Latvia - onshore; Lithuania - onshore; Moldova; Russian Federation - onshore; Slovakia; Tajikistan; Turkmenistan; Ukraine - onshore; Uzbekistan.',35.14,77.79,12.09,-169.57,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','1285','Indonesia - Bali, Java and western Sumatra onshore','Indonesia - onshore - Bali, Java and western Sumatra.',-8.91,5.97,95.16,115.77,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','1286','Europe - Liechtenstein and Switzerland','Liechtenstein; Switzerland.',45.81,47.81,5.95,10.5,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','1286','Europe - Liechtenstein and Switzerland','Liechtenstein; Switzerland.',45.82,47.81,5.96,10.49,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','1287','Indonesia - Banga & Belitung Islands','Indonesia - Banga and Belitung Islands.',-3.3,-1.44,105.07,108.35,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','1288','Angola - Angola proper','Angola - Angola proper - onshore and offshore.',-18.02,-5.82,8.2,24.09,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','1289','Canada - CGVD28','Canada - onshore - Alberta; British Columbia; Manitoba south of 59°N; New Brunswick; Newfoundland, Labrador between 52°50’N and 54°30’N; Northwest Territories south west of a line between 60°40’N, 110°W and the coast at 132°W; Nova Scotia; Ontario south of 52°20''N; Prince Edward Island; Quebec - mainland south of 55°N and west of 64°W, north of 55°N between 70°W and 66°W, coastal area between 66°W and 64°W, and Anticosta island; Saskatchewan south of 58°30’N; Yukon.',41.67,69.81,-141.01,-52.54,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','1289','Canada - CGVD28','Canada - onshore - Alberta; British Columbia; Manitoba south of 57°N; New Brunswick; Northwest Territories south west of a line between 60°N, 110°W and the coast at 132°W; Nova Scotia; Ontario south of 52°N; Prince Edward Island; Quebec - mainland west of 66°W and south of 55°N; Saskatchewan south of 55°N; Yukon.',41.67,69.8,-141.01,-59.73,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','1290','Africa - Botswana, Eswatini, Lesotho and South Africa','Botswana; Eswatini (Swaziland); Lesotho; South Africa - mainland.',-34.88,-17.78,16.45,32.95,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','1291','Asia - FSU - Caspian Sea','Azerbaijan - offshore; Kazakhstan - offshore; Russian Federation - Caspian Sea; Turkmenistan - offshore.',37.35,46.97,46.95,53.93,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','1292','Argentina - Neuquen province','Argentina - Neuquen province.',-40.17,-34.26,-71.19,-66.52,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','1293','Brazil - Corrego Alegre 1970-1972','Brazil - onshore - north of 15°S and east of 42°W, between 15°S and 18°S and east of 54°W, and between 18°S and 32°45''S.',-32.75,-2.68,-58.16,-34.74,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','1293','Brazil - Corrego Alegre 1970-1972','Brazil - onshore - west of 54°W and south of 18°S; also south of 15°S between 54°W and 42°W; also east of 42°W.',-33.78,-2.68,-58.16,-34.74,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','1294','Portugal - mainland - onshore','Portugal - mainland - onshore.',36.95,42.16,-9.56,-6.19,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','1295','Germany - DHDN','Germany - onshore - Baden-Wurtemberg, Bayern, Hessen, Niedersachsen, Nordrhein-Westfalen, Rheinland-Pfalz, Saarland, Schleswig-Holstein. Also former DDR states of Sachsen and Thuringen by transformation.',47.27,55.06,5.87,15.03,1);
|
||||
INSERT INTO "extent" VALUES('EPSG','1296','Europe - ED50 by country','Europe - west: Andorra; Cyprus; Denmark - onshore and offshore; Faroe Islands - onshore; France - offshore; Germany - offshore North Sea; Gibraltar; Greece - offshore; Israel - offshore; Italy including San Marino and Vatican City State; Ireland offshore; Malta; Netherlands - offshore; North Sea; Norway including Svalbard - onshore and offshore; Portugal - mainland - offshore; Spain - onshore; Türkiye (Turkey) - onshore and offshore; United Kingdom - UKCS offshore east of 6°W including Channel Islands (Guernsey and Jersey). Egypt - Western Desert; Iraq - onshore; Jordan.',25.71,84.73,-16.1,48.61,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','1297','Europe - west','Europe - west.',34.75,84.73,-10.56,38.0,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','1298','Europe - ETRF','Europe - onshore and offshore - ETRF extent - approximately 16°W to 33°E and 33°N to 84°N.',33.26,84.73,-16.1,38.0,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','1297','Europe - west','Europe - west.',34.88,84.73,-10.56,38.01,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','1298','Europe - ETRF by country','Europe - onshore and offshore: Albania; Andorra; Austria; Belgium; Bosnia and Herzegovina; Bulgaria; Croatia; Cyprus; Czechia; Denmark; Estonia; Faroe Islands; Finland; France; Germany; Gibraltar; Greece; Hungary; Ireland; Italy; Kosovo; Latvia; Liechtenstein; Lithuania; Luxembourg; Malta; Moldova; Monaco; Montenegro; Netherlands; North Macedonia; Norway including Svalbard and Jan Mayen; Poland; Portugal; Romania; San Marino; Serbia; Slovakia; Slovenia; Spain; Sweden; Switzerland; United Kingdom (UK) including Channel Islands and Isle of Man; Vatican City State.',32.88,84.73,-16.1,40.18,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','1299','Europe - EVRF2000','Europe - onshore - Andorra; Austria; Belgium; Bosnia and Herzegovina; Croatia; Czechia; Denmark; Estonia; Finland; France - mainland; Germany; Gibraltar; Hungary; Italy - mainland and Sicily; Latvia; Liechtenstein; Lithuania; Luxembourg; Netherlands; Norway; Poland; Portugal - mainland; Romania; San Marino; Slovakia; Slovenia; Spain - mainland; Sweden; Switzerland; United Kingdom (UK) - Great Britain mainland; Vatican City State.',35.95,71.24,-9.56,31.59,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','1300','Iran - FD58','Iran - Arwaz area and onshore Gulf coast west of 54°E, Lavan Island, offshore Balal field and South Pars blocks 2 and 3.',26.21,33.22,47.13,53.61,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','1301','Portugal - Azores C - onshore','Portugal - central Azores onshore - Faial, Graciosa, Pico, Sao Jorge, Terceira.',38.32,39.14,-28.9,-26.97,0);
|
||||
@@ -299,9 +299,9 @@ INSERT INTO "extent" VALUES('EPSG','1319','Venezuela - Maracaibo area','Venezuel
|
||||
INSERT INTO "extent" VALUES('EPSG','1320','Venezuela - Maturin','Venezuela - Maturin area.',9.1,10.13,-64.3,-63.0,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','1321','Europe - Austria and former Yugoslavia onshore','Austria. Bosnia and Herzegovina. Croatia - onshore. Kosovo. Montenegro - onshore. North Macedonia. Serbia. Slovenia - onshore.',40.85,49.02,9.53,23.04,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','1322','Trinidad and Tobago - Tobago - onshore','Trinidad and Tobago - Tobago - onshore.',11.08,11.41,-60.9,-60.44,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','1323','USA - CONUS - onshore','United States (USA) - conterminous (contiguous) lower 48 states (CONUS) - onshore.',24.41,49.38,-124.79,-66.91,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','1324','USA (all states)','United States (USA) - onshore and offshore.',15.56,74.71,167.65,-65.69,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','1325','North America - Canada and USA (CONUS, Alaska mainland)','North America - onshore and offshore: Canada; United States (USA) - Alaska (mainland) and conterminous (contiguous) lower 48 states (CONUS).',23.81,86.46,-172.54,-47.74,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','1323','USA - CONUS - onshore','United States (USA) - CONUS onshore - Alabama; Arizona; Arkansas; California; Colorado; Connecticut; Delaware; Florida; Georgia; Idaho; Illinois; Indiana; Iowa; Kansas; Kentucky; Louisiana; Maine; Maryland; Massachusetts; Michigan; Minnesota; Mississippi; Missouri; Montana; Nebraska; Nevada; New Hampshire; New Jersey; New Mexico; New York; North Carolina; North Dakota; Ohio; Oklahoma; Oregon; Pennsylvania; Rhode Island; South Carolina; South Dakota; Tennessee; Texas; Utah; Vermont; Virginia; Washington; West Virginia; Wisconsin; Wyoming.',24.41,49.38,-124.79,-66.91,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','1324','USA (all states)','United States (USA) - onshore and offshore - Alabama; Alaska; Arizona; Arkansas; California; Colorado; Connecticut; Delaware; Florida; Georgia; Hawaii; Idaho; Illinois; Indiana; Iowa; Kansas; Kentucky; Louisiana; Maine; Maryland; Massachusetts; Michigan; Minnesota; Mississippi; Missouri; Montana; Nebraska; Nevada; New Hampshire; New Jersey; New Mexico; New York; North Carolina; North Dakota; Ohio; Oklahoma; Oregon; Pennsylvania; Rhode Island; South Carolina; South Dakota; Tennessee; Texas; Utah; Vermont; Virginia; Washington; West Virginia; Wisconsin; Wyoming.',15.56,74.71,167.65,-65.69,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','1325','North America - Canada and USA (CONUS, Alaska mainland)','North America - onshore and offshore: Canada - Alberta; British Columbia; Manitoba; New Brunswick; Newfoundland and Labrador; Northwest Territories; Nova Scotia; Nunavut; Ontario; Prince Edward Island; Quebec; Saskatchewan; Yukon. United States (USA) - Alabama; Alaska (mainland); Arizona; Arkansas; California; Colorado; Connecticut; Delaware; Florida; Georgia; Idaho; Illinois; Indiana; Iowa; Kansas; Kentucky; Louisiana; Maine; Maryland; Massachusetts; Michigan; Minnesota; Mississippi; Missouri; Montana; Nebraska; Nevada; New Hampshire; New Jersey; New Mexico; New York; North Carolina; North Dakota; Ohio; Oklahoma; Oregon; Pennsylvania; Rhode Island; South Carolina; South Dakota; Tennessee; Texas; Utah; Vermont; Virginia; Washington; West Virginia; Wisconsin; Wyoming.',23.81,86.46,-172.54,-47.74,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','1326','France - mainland onshore','France - mainland onshore.',42.33,51.14,-4.87,8.23,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','1327','France - Corsica onshore','France - Corsica onshore.',41.31,43.07,8.5,9.63,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','1328','Indonesia - Kalimantan - Mahakam delta','Indonesia - east Kalimantan - Mahakam delta coastal and offshore shelf areas.',-1.24,0.0,116.72,117.99,0);
|
||||
@@ -313,7 +313,7 @@ INSERT INTO "extent" VALUES('EPSG','1333','USA - Alaska - St. Paul Island','Unit
|
||||
INSERT INTO "extent" VALUES('EPSG','1334','USA - Hawaii - onshore','United States (USA) - Hawaii - main islands onshore.',18.87,22.29,-160.3,-154.74,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','1335','Caribbean - Puerto Rico and Virgin Islands - onshore','Puerto Rico, US Virgin Islands and British Virgin Islands - onshore.',17.62,18.78,-67.97,-64.25,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','1336','Canada - CSRS98','Canada - Alberta; New Brunswick; Saskatchewan; Prince Edward Island; and Quebec.',44.61,62.56,-120.0,-57.1,1);
|
||||
INSERT INTO "extent" VALUES('EPSG','1337','USA - HARN','American Samoa - onshore - Tutuila, Aunu''u, Ofu, Olesega, Ta''u and Rose islands. Guam - onshore. Northern Mariana Islands - onshore. Puerto Rico - onshore. United States (USA) - onshore plus offshore Gulf of Mexico continental shelf (GoM OCS). US Virgin Islands - onshore.',-14.59,71.4,144.58,-64.51,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','1337','USA - HARN','American Samoa - onshore - Tutuila, Aunu''u, Ofu, Olesega, Ta''u and Rose islands. Guam - onshore. Northern Mariana Islands - onshore. Puerto Rico - onshore. United States (USA) - onshore Alabama, Alaska, Arizona, Arkansas, California, Colorado, Connecticut, Delaware, Florida, Georgia, Hawaii, Idaho, Illinois, Indiana, Iowa, Kansas, Kentucky, Louisiana, Maine, Maryland, Massachusetts, Michigan, Minnesota, Mississippi, Missouri, Montana, Nebraska, Nevada, New Hampshire, New Jersey, New Mexico, New York, North Carolina, North Dakota, Ohio, Oklahoma, Oregon, Pennsylvania, Rhode Island, South Carolina, South Dakota, Tennessee, Texas, Utah, Vermont, Virginia, Washington, West Virginia, Wisconsin and Wyoming; offshore Gulf of Mexico continental shelf (GoM OCS). US Virgin Islands - onshore.',-14.59,71.4,144.58,-64.51,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','1338','Iran - Taheri refinery','Iran - Taheri refinery site.',27.39,27.61,52.5,52.71,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','1339','Trinidad and Tobago - Trinidad','Trinidad and Tobago - Trinidad - onshore and offshore.',9.83,11.51,-62.09,-60.0,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','1340','Yemen - South Yemen - mainland','Yemen - South Yemen onshore mainland.',12.54,19.0,43.37,53.14,0);
|
||||
@@ -325,24 +325,22 @@ INSERT INTO "extent" VALUES('EPSG','1345','Portugal - Azores E - onshore','Portu
|
||||
INSERT INTO "extent" VALUES('EPSG','1346','Qatar - onshore','Qatar - onshore.',24.55,26.2,50.69,51.68,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','1347','Belgium - onshore','Belgium - onshore.',49.5,51.51,2.5,6.4,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','1348','South America - PSAD56 by country','Aruba - onshore; Bolivia; Bonaire - onshore; Brazil - offshore - Amazon Cone shelf; Chile - onshore north of 43°30''S; Curacao - onshore; Ecuador - mainland onshore; Guyana - onshore; Peru - onshore; Venezuela - onshore.',-43.5,12.68,-81.41,-47.99,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','1349','North America - NAD27','North and central America: Antigua and Barbuda - onshore. Bahamas - onshore plus offshore over internal continental shelf only. Belize - onshore. British Virgin Islands - onshore. Canada onshore - Alberta, British Columbia, Manitoba, New Brunswick, Newfoundland and Labrador, Northwest Territories, Nova Scotia, Nunavut, Ontario, Prince Edward Island, Quebec, Saskatchewan and Yukon - plus offshore east coast west of 44°W and north of 40°N. Cuba - onshore and offshore. El Salvador - onshore. Guatemala - onshore. Honduras - onshore. Panama - onshore. Puerto Rico - onshore. Mexico - onshore plus offshore east coast. Nicaragua - onshore. United States (USA) - Alaska and
|
||||
|
||||
onshore and offshore. US Virgin Islands - onshore.',7.15,83.17,167.65,-43.99,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','1350','North America - NAD83','North America - onshore and offshore: Canada. Puerto Rico. United States (USA). US Virgin Islands. British Virgin Islands.',14.92,86.46,167.65,-40.73,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','1349','North America - NAD27','North and central America: Antigua and Barbuda - onshore. Bahamas - onshore plus offshore over internal continental shelf only. Belize - onshore. British Virgin Islands - onshore. Canada onshore - Alberta, British Columbia, Manitoba, New Brunswick, Newfoundland and Labrador, Northwest Territories, Nova Scotia, Nunavut, Ontario, Prince Edward Island, Quebec, Saskatchewan and Yukon - plus offshore east coast. Cuba - onshore and offshore. El Salvador - onshore. Guatemala - onshore. Honduras - onshore. Panama - onshore. Puerto Rico - onshore. Mexico - onshore plus offshore east coast. Nicaragua - onshore. United States (USA) onshore and offshore - Alabama, Alaska, Arizona, Arkansas, California, Colorado, Connecticut, Delaware, Florida, Georgia, Idaho, Illinois, Indiana, Iowa, Kansas, Kentucky, Louisiana, Maine, Maryland, Massachusetts, Michigan, Minnesota, Mississippi, Missouri, Montana, Nebraska, Nevada, New Hampshire, New Jersey, New Mexico, New York, North Carolina, North Dakota, Ohio, Oklahoma, Oregon, Pennsylvania, Rhode Island, South Carolina, South Dakota, Tennessee, Texas, Utah, Vermont, Virginia, Washington, West Virginia, Wisconsin and Wyoming - plus offshore . US Virgin Islands - onshore.',7.15,83.17,167.65,-47.74,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','1350','North America - NAD83','North America - onshore and offshore: Canada - Alberta; British Columbia; Manitoba; New Brunswick; Newfoundland and Labrador; Northwest Territories; Nova Scotia; Nunavut; Ontario; Prince Edward Island; Quebec; Saskatchewan; Yukon. Puerto Rico. United States (USA) - Alabama; Alaska; Arizona; Arkansas; California; Colorado; Connecticut; Delaware; Florida; Georgia; Hawaii; Idaho; Illinois; Indiana; Iowa; Kansas; Kentucky; Louisiana; Maine; Maryland; Massachusetts; Michigan; Minnesota; Mississippi; Missouri; Montana; Nebraska; Nevada; New Hampshire; New Jersey; New Mexico; New York; North Carolina; North Dakota; Ohio; Oklahoma; Oregon; Pennsylvania; Rhode Island; South Carolina; South Dakota; Tennessee; Texas; Utah; Vermont; Virginia; Washington; West Virginia; Wisconsin; Wyoming. US Virgin Islands. British Virgin Islands.',14.92,86.45,167.65,-40.73,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','1351','Asia - Middle East - Qatar offshore and UAE','Arabian Gulf; Qatar - offshore; United Arab Emirates (UAE) - Abu Dhabi; Dubai; Sharjah; Ajman; Fujairah; Ras Al Kaimah; Umm Al Qaiwain - onshore and offshore.',22.63,27.05,50.55,57.13,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','1352','Norway - onshore','Norway - onshore.',57.9,71.24,4.39,31.32,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','1353','France - onshore','France - onshore.',NULL,NULL,NULL,NULL,1);
|
||||
INSERT INTO "extent" VALUES('EPSG','1354','Europe - British Isles - UK and Ireland onshore','Ireland - onshore. United Kingdom (UK) - onshore - England; Scotland; Wales; Northern Ireland. Isle of Man.',49.81,60.9,-10.56,1.84,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','1355','Indonesia - Sumatra','Indonesia - Sumatra.',-5.99,5.97,95.16,106.13,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','1356','Asia - Middle East - Israel, Jordan and Palestine onshore','Israel - onshore; Jordan; Palestine - onshore.',29.18,33.38,34.17,39.31,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','1356','Asia - Middle East - Israel, Jordan and Palestine onshore','Israel - onshore; Jordan; Palestine Territory - onshore.',29.18,33.38,34.17,39.31,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','1357','Europe - eastern and FSU','Albania; Bulgaria; Czech Republic; Germany (former DDR); Hungary; Poland; Romania; Slovakia. Armenia; Azerbaijan; Belarus; Estonia; Georgia; Kazakhstan; Kyrgyzstan; Latvia; Lithuania; Moldova; Russian Federation; Tajikistan; Turkmenistan; Ukraine; Uzbekistan.',35.1,78.0,9.87,-169.73,1);
|
||||
INSERT INTO "extent" VALUES('EPSG','1358','South America - SAD69 by country','Brazil - onshore and offshore. Chile - onshore south of 43°30''S including Tierra del Fuego. In rest of South America - onshore north of approximately 45°S.',-55.96,12.52,-91.72,-25.28,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','1358','South America - SAD69 by country','Brazil - onshore and offshore. In rest of South America - onshore north of approximately 45°S and Tierra del Fuego.',-55.96,12.52,-91.72,-25.28,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','1359','Indonesia - Kalimantan SE','Indonesia - Kalimantan - onshore southeast coastal area including Mahakam delta coastal and offshore shelf areas.',-4.24,0.0,114.55,117.99,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','1360','Indonesia - Kalimantan E','Indonesia - Kalimantan - onshore east coastal area including Mahakam delta coastal and offshore shelf areas.',-4.24,4.29,114.55,119.06,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','1361','Sudan - south','Sudan - south.',NULL,NULL,NULL,NULL,1);
|
||||
INSERT INTO "extent" VALUES('EPSG','1362','Asia - Brunei and East Malaysia','Brunei - onshore and offshore; Malaysia - East Malaysia (Sabah; Sarawak) - onshore and offshore.',0.85,7.67,109.31,119.61,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','1363','UAE - Abu Dhabi and Dubai - onshore','United Arab Emirates (UAE) - Abu Dhabi onshore and Dubai onshore.',22.63,25.34,51.56,56.03,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','1364','Asia - Japan and Korea','Japan - onshore; Democratic People''s Republic of Korea (North Korea) - onshore; Republic of Korea (South Korea) - onshore.',20.37,45.54,122.83,154.05,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','1364','Asia - Japan and Korea','Japan - onshore; North Korea - onshore; South Korea - onshore.',20.37,45.54,122.83,154.05,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','1365','Algeria - north of 32°N','Algeria - onshore north of 32°N.',31.99,37.14,-2.95,9.09,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','1366','Africa - Algeria, Morocco and Tunisia','Algeria; Morocco; Tunisia.',18.98,37.34,-13.17,11.99,1);
|
||||
INSERT INTO "extent" VALUES('EPSG','1367','Canada - Ontario','Canada - Ontario.',41.67,56.9,-95.16,-74.35,0);
|
||||
@@ -352,22 +350,22 @@ INSERT INTO "extent" VALUES('EPSG','1370','Venezuela - Deltana','Venezuela - Del
|
||||
INSERT INTO "extent" VALUES('EPSG','1371','Venezuela - Guarico state','Venezuela - Guarico state.',7.54,10.03,-68.0,-64.76,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','1372','USA - Alabama','United States (USA) - Alabama.',30.14,35.02,-88.48,-84.89,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','1373','USA - Arizona','United States (USA) - Arizona.',31.33,37.01,-114.81,-109.04,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','1374','USA - Arkansas','United States (USA) - Arkansas.',33.0,36.5,-94.62,-89.64,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','1374','USA - Arkansas','United States (USA) - Arkansas.',33.01,36.5,-94.62,-89.64,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','1375','USA - California','United States (USA) - California.',32.53,42.01,-124.45,-114.12,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','1376','USA - Colorado','United States (USA) - Colorado.',36.98,41.01,-109.06,-102.04,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','1377','USA - Connecticut','United States (USA) - Connecticut - counties of Fairfield; Hartford; Litchfield; Middlesex; New Haven; New London; Tolland; Windham.',40.98,42.05,-73.73,-71.78,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','1378','USA - Delaware','United States (USA) - Delaware - counties of Kent; New Castle; Sussex.',38.44,39.85,-75.8,-74.97,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','1379','USA - Florida','United States (USA) - Florida.',24.41,31.01,-87.63,-79.97,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','1380','USA - Georgia','United States (USA) - Georgia.',30.35,35.01,-85.61,-80.75,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','1380','USA - Georgia','United States (USA) - Georgia.',30.36,35.01,-85.61,-80.77,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','1381','USA - Idaho','United States (USA) - Idaho.',41.99,49.01,-117.24,-111.04,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','1382','USA - Illinois','United States (USA) - Illinois.',36.97,42.51,-91.52,-87.01,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','1382','USA - Illinois','United States (USA) - Illinois.',36.97,42.51,-91.52,-87.02,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','1383','USA - Indiana','United States (USA) - Indiana.',37.77,41.77,-88.1,-84.78,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','1384','USA - Iowa','United States (USA) - Iowa.',40.36,43.51,-96.65,-90.14,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','1385','USA - Kansas','United States (USA) - Kansas.',36.99,40.01,-102.06,-94.58,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','1386','USA - Kentucky','United States (USA) - Kentucky.',36.49,39.15,-89.57,-81.95,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','1387','USA - Louisiana','United States (USA) - Louisiana.',28.85,33.03,-94.05,-88.75,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','1388','USA - Maine','United States (USA) - Maine.',43.04,47.47,-71.09,-66.91,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','1389','USA - Maryland and DC','United States (USA) - Maryland - counties of Allegany; Anne Arundel; Baltimore; Calvert; Caroline; Carroll; Cecil; Charles; Dorchester; Frederick; Garrett; Harford; Howard; Kent; Montgomery; Prince Georges; Queen Annes; Somerset; St Marys; Talbot; Washington; Wicomico; Worcester. District of Columbia (DC).',37.97,39.73,-79.49,-74.97,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','1389','USA - Maryland','United States (USA) - Maryland - counties of Allegany; Anne Arundel; Baltimore; Calvert; Caroline; Carroll; Cecil; Charles; Dorchester; Frederick; Garrett; Harford; Howard; Kent; Montgomery; Prince Georges; Queen Annes; Somerset; St Marys; Talbot; Washington; Wicomico; Worcester.',37.97,39.73,-79.49,-74.97,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','1390','USA - Massachusetts','United States (USA) - Massachusetts.',41.19,42.89,-73.5,-69.86,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','1391','USA - Michigan','United States (USA) - Michigan.',41.69,48.32,-90.42,-82.13,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','1392','USA - Minnesota','United States (USA) - Minnesota.',43.49,49.38,-97.22,-89.49,0);
|
||||
@@ -474,9 +472,9 @@ INSERT INTO "extent" VALUES('EPSG','1492','Yemen - South Yemen - mainland west o
|
||||
INSERT INTO "extent" VALUES('EPSG','1493','Yemen - South Yemen - mainland east of 48°E','Yemen - South Yemen onshore mainland east of 48°E.',13.94,19.0,48.0,53.14,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','1494','Vietnam - onshore Vung Tau area','Vietnam - onshore Vung Tau area.',9.03,11.04,105.49,107.58,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','1495','Vietnam - offshore Cuu Long basin','Vietnam - offshore - Cuu Long basin and northwestern part of Nam Con Son basin.',7.99,11.15,106.54,110.0,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','1496','South Korea - 128°E to 130°E onshore','Republic of Korea (South Korea) - onshore between 128°E and 130°E.',34.49,38.64,128.0,129.65,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','1497','South Korea - 126°E to 128°E onshore','Republic of Korea (South Korea) - onshore between 126°E and 128°E.',33.14,38.33,126.0,128.0,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','1498','South Korea - 124°E to 126°E onshore','Republic of Korea (South Korea) - onshore between 124°E and 126°E.',33.99,38.04,124.53,126.0,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','1496','Korea, Republic of (South Korea) - 128°E to 130°E onshore','Republic of Korea (South Korea) - onshore between 128°E and 130°E.',34.49,38.64,128.0,129.65,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','1497','Korea, Republic of (South Korea) - 126°E to 128°E onshore','Republic of Korea (South Korea) - onshore between 126°E and 128°E.',33.14,38.33,126.0,128.0,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','1498','Korea, Republic of (South Korea) - 124°E to 126°E onshore','Republic of Korea (South Korea) - onshore between 124°E and 126°E.',33.99,38.04,124.53,126.0,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','1499','Venezuela - Maracaibo - blocks I II and III','Venezuela - Maracaibo area offshore blocks I, II and III.',10.0,10.51,-71.5,-71.17,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','1500','New Zealand - North Island','New Zealand - North Island.',-41.67,-34.1,171.99,178.63,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','1501','New Zealand - South Island','New Zealand - South Island.',-46.86,-40.44,166.37,174.46,0);
|
||||
@@ -489,7 +487,7 @@ INSERT INTO "extent" VALUES('EPSG','1507','Canada - 114°W to 108°W, south of 6
|
||||
INSERT INTO "extent" VALUES('EPSG','1508','Canada - 120°W to 114°W, south of 60°N','Canada south of 60°N and between 120°E and 114°W - Alberta, British Columbia (BC).',49.0,60.0,-120.0,-114.0,1);
|
||||
INSERT INTO "extent" VALUES('EPSG','1509','Sierra Leone - west of 12°W','Sierra Leone - onshore west of 12°W.',7.15,9.94,-13.35,-12.0,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','1510','Sierra Leone - east of 12°W','Sierra Leone - onshore east of 12°W.',6.88,10.0,-12.0,-10.26,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','1511','USA - CONUS and Alaska; PRVI','Puerto Rico - onshore and offshore. United States (USA) - Alaska and conterminous (contiguous) lower 48 states (CONUS) - onshore and offshore.',14.92,74.71,167.65,-63.88,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','1511','USA - CONUS and Alaska; PRVI','Puerto Rico - onshore and offshore. United States (USA) onshore and offshore - Alabama; Alaska; Arizona; Arkansas; California; Colorado; Connecticut; Delaware; Florida; Georgia; Idaho; Illinois; Indiana; Iowa; Kansas; Kentucky; Louisiana; Maine; Maryland; Massachusetts; Michigan; Minnesota; Mississippi; Missouri; Montana; Nebraska; Nevada; New Hampshire; New Jersey; New Mexico; New York; North Carolina; North Dakota; Ohio; Oklahoma; Oregon; Pennsylvania; Rhode Island; South Carolina; South Dakota; Tennessee; Texas; Utah; Vermont; Virginia; Washington; West Virginia; Wisconsin; Wyoming. US Virgin Islands - onshore and offshore.',14.92,74.71,167.65,-63.88,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','1512','Germany - East Germany - west of 10.5°E','Germany - states of former East Germany - west of 10°30''E - Thuringen.',50.35,51.56,9.92,10.5,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','1513','Europe - 10.5°E to 13.5°E onshore by country','Czechia - west of 13°30''E. Germany - states of former East Germany onshore - between 10°30''E and 13°30''E - Brandenburg; Mecklenburg-Vorpommern; Sachsen; Sachsen-Anhalt; Thuringen.',48.97,54.74,10.5,13.5,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','1514','Europe - 13.5°E to 16.5°E onshore and S-42(83) by country','Czechia - between 13°30''E and 16°30''E. Germany - states of former East Germany onshore east of 13°30''E - Brandenburg; Mecklenburg-Vorpommern; Sachsen. Hungary - west of 16°30''E.',46.54,54.72,13.5,16.5,0);
|
||||
@@ -503,7 +501,7 @@ INSERT INTO "extent" VALUES('EPSG','1521','Poland - 16.5°E to 19.5°E','Poland
|
||||
INSERT INTO "extent" VALUES('EPSG','1522','Poland - 19.5°E to 22.5°E','Poland - onshore and offshore between 19°30''E and 22°30''E.',49.09,54.55,19.5,22.5,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','1523','Poland - east of 22.5°E','Poland - east of 22°30''E.',49.0,54.41,22.5,24.15,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','1524','Turkey - west of 28.5°E onshore','Türkiye (Turkey) - west of 28°30''E, onshore.',36.5,42.11,25.62,28.5,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','1525','Turkey - 28.5°E to 31.5°E onshore','Türkiye (Turkey) - between 28°30''E and 31°30''E, onshore.',36.07,41.46,28.5,31.5,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','1525','Turkey - 28.5°E to 31.5°E onshore','Türkiye (Turkey) - between 28°30''E and 31°30''E, onshore.',36.06,41.46,28.5,31.5,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','1526','Turkey - 31.5°E to 34.5°E onshore','Türkiye (Turkey) - between 31°30''E and 34°30''E, onshore.',35.97,42.07,31.5,34.5,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','1527','Turkey - 34.5°E to 37.5°E onshore','Türkiye (Turkey) - between 34°30''E and 37°30''E, onshore.',35.81,42.15,34.5,37.5,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','1528','Turkey - 37.5°E to 40.5°E onshore','Türkiye (Turkey) - between 37°30''E and 40°30''E, onshore.',36.66,41.19,37.5,40.5,0);
|
||||
@@ -602,21 +600,21 @@ INSERT INTO "extent" VALUES('EPSG','1620','Tunisia - south of 34°39''N','Tunisi
|
||||
INSERT INTO "extent" VALUES('EPSG','1621','Brazil - Corrego Alegre - west of 42°W','Brazil - NE coastal area between 45°W and 42°W.',-3.9,-1.5,-45.0,-42.0,1);
|
||||
INSERT INTO "extent" VALUES('EPSG','1622','Brazil - Corrego Alegre - east of 42°W','Brazil - NE coastal area between 42°W and 40°W.',-4.0,-2.7,-42.0,-40.0,1);
|
||||
INSERT INTO "extent" VALUES('EPSG','1623','Asia - Middle East - Lebanon and Syria onshore','Lebanon - onshore. Syrian Arab Republic - onshore.',32.31,37.3,35.04,42.38,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','1624','Germany - West Germany - west of 7.5°E','Germany - former West Germany onshore west of 7°30''E - states of Niedersachsen, Nordrhein-Westfalen, Rheinland-Pfalz, Saarland.',49.11,53.81,5.86,7.51,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','1624','Germany - West Germany - west of 7.5°E','Germany - former West Germany onshore west of 7°30''E - states of Niedersachsen, Nordrhein-Westfalen, Rheinland-Pfalz, Saarland.',49.11,53.81,5.86,7.5,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','1625','Germany - West-Germany - 7.5°E to 10.5°E','Germany - former West Germany onshore between 7°30''E and 10°30''E - states of Baden-Wurtemberg, Bayern, Bremen, Hamberg, Hessen, Niedersachsen, Nordrhein-Westfalen, Rhineland-Pfalz, Schleswig-Holstein.',47.27,55.09,7.5,10.51,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','1626','Germany - West Germany - 10.5°E to 13.5°E','Germany - former West Germany onshore between 10°30''E and 13°30''E - states of Bayern, Berlin, Niedersachsen, Schleswig-Holstein.',47.39,54.59,10.5,13.51,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','1627','Germany - West Germany - east of 13.5°E','Germany - former West Germany onshore east of 13°30''E - state of Bayern.',48.51,48.98,13.5,13.84,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','1628','Germany - west of 4.5°E','Germany - onshore - west of 4°30''E.',NULL,NULL,NULL,NULL,1);
|
||||
INSERT INTO "extent" VALUES('EPSG','1629','UK - offshore - North Sea','United Kingdom (UK) - offshore - North Sea.',51.03,62.03,-5.05,3.4,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','1630','Netherlands - offshore','Netherlands - offshore North Sea.',51.44,55.77,2.53,6.37,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','1630','Netherlands - offshore','Netherlands - offshore North Sea.',51.45,55.77,2.53,6.41,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','1631','Europe - 18°W to 12°W and ED50 by country','Europe - between 18°W and 12°W - Ireland offshore.',48.43,56.57,-16.1,-12.0,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','1632','Europe - 12°W to 6°W and ED50 by country','Europe - between 12°W and 6°W - Faroe Islands - onshore; Spain - mainland onshore; Ireland offshore.',36.13,62.41,-12.0,-6.0,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','1633','Europe - 6°W to 0°W and ED50 by country','Europe - between 6°W and 0°W - Channel Islands (Jersey, Guernsey); France offshore; Gibraltar; Ireland offshore; Norway including Svalbard - offshore; Spain - onshore; United Kingdom - UKCS offshore.',35.26,80.49,-6.0,0.01,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','1634','Europe - 0°E to 6°E and ED50 by country','Europe - between 0°E and 6°E - Andorra; Denmark (North Sea); France - offshore; Germany - offshore; Netherlands - offshore; Norway including Svalbard - onshore and offshore; Spain - onshore (mainland and Balearic Islands); United Kingdom - offshore UKCS.',38.56,82.45,0.0,6.0,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','1635','Europe - 6°E to 12°E and ED50 by country','Europe - between 6°E and 12°E - Denmark - onshore and offshore; France - offshore; Germany offshore; Italy - onshore and offshore; Netherlands offshore; Norway including Svalbard - onshore and offshore.',36.53,84.33,5.99,12.0,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','1634','Europe - 0°E to 6°E and ED50 by country','Europe - between 0°E and 6°E - Andorra; Denmark (North Sea); Germany offshore; Netherlands offshore; Norway including Svalbard - onshore and offshore; Spain - onshore (mainland and Balearic Islands); United Kingdom (UKCS) offshore.',38.56,82.45,0.0,6.01,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','1635','Europe - 6°E to 12°E and ED50 by country','Europe - between 6°E and 12°E - Denmark - onshore and offshore; France - offshore; Germany offshore; Italy - onshore and offshore; Netherlands offshore; Norway including Svalbard - onshore and offshore.',36.53,84.33,5.99,12.01,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','1636','Europe - 12°E to 18°E and ED50 by country','Europe - between 12°E and 18°E onshore and offshore - Denmark (including Bornholm); Italy including San Marino and Vatican City State; Malta; Norway including Svalbard.',34.49,84.42,12.0,18.01,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','1637','Europe - 18°E to 24°E and ED50 by country','Europe - between 18°E and 24°E - Greece - offshore; Italy - onshore and offshore; Norway including Svalbard - onshore and offshore.',33.59,84.54,17.99,24.01,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','1638','Europe - 24°E to 30°E and ED50 by country','Europe - between 24°E and 30°E - Greece - offshore; Norway including Svalbard - onshore and offshore; Türkiye (Turkey) - onshore and offshore. Egypt - Western Desert.',25.71,84.73,24.0,30.0,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','1638','Europe - 24°E to 30°E and ED50 by country','Europe - between 24°E and 30°E - Greece - offshore; Norway including Svalbard - onshore and offshore; Türkiye (Turkey) - onshore and offshore. Egypt - Western Desert.',25.71,84.73,24.0,30.01,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','1639','Europe - 30°E to 36°E and ED50 by country','Europe - between 30°E and 36°E - Israel - offshore; Jordan; Norway including Svalbard - onshore and offshore; Türkiye (Turkey) - onshore and offshore.',29.19,84.7,30.0,36.0,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','1640','Europe - 36°E to 42°E and ED50 by country','Europe - between 36°E and 42°E - Jordan; Norway including Svalbard - offshore; Türkiye (Turkey) - onshore and offshore.',29.18,79.07,36.0,42.0,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','1641','Europe - 42°E to 48°E and ED50 by country','Europe - between 42°E and 48°E - Türkiye (Turkey).',36.97,41.6,42.0,44.83,0);
|
||||
@@ -1034,7 +1032,7 @@ INSERT INTO "extent" VALUES('EPSG','2052','World - N hemisphere - 24°W to 18°W
|
||||
INSERT INTO "extent" VALUES('EPSG','2053','World - S hemisphere - 24°W to 18°W - by country','Between 24°W and 18°W, southern hemisphere between 80°S and equator, onshore and offshore.',-80.0,0.0,-24.0,-18.0,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2054','World - N hemisphere - 18°W to 12°W - by country','Between 18°W and 12°W, northern hemisphere between equator and 84°N, onshore and offshore. Gambia. Greenland. Guinea. Guinea-Bissau. Iceland. Ireland - offshore Porcupine Basin. Mauritania. Morocco. Senegal. Sierra Leone. Western Sahara.',0.0,84.0,-18.0,-12.0,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2055','World - S hemisphere - 18°W to 12°W - by country','Between 18°W and 12°W, southern hemisphere between 80°S and equator, onshore and offshore.',-80.0,0.0,-18.0,-12.0,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2056','World - N hemisphere - 12°W to 6°W - by country','Between 12°W and 6°W, northern hemisphere between equator and 84°N, onshore and offshore. Algeria. Côte D''Ivoire (Ivory Coast). Faroe Islands. Guinea. Ireland. Jan Mayen. Liberia, Mali. Mauritania. Morocco. Portugal. Sierra Leone. Spain. United Kingdom (UK). Western Sahara.',0.0,84.01,-12.01,-6.0,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2056','World - N hemisphere - 12°W to 6°W - by country','Between 12°W and 6°W, northern hemisphere between equator and 84°N, onshore and offshore. Algeria. Côte D''Ivoire (Ivory Coast). Faroe Islands. Guinea. Ireland. Jan Mayen. Mali. Mauritania. Morocco. Portugal. Sierra Leone. Spain. United Kingdom (UK). Western Sahara.',0.0,84.0,-12.0,-6.0,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2057','World - S hemisphere - 12°W to 6°W - by country','Between 12°W and 6°W, southern hemisphere between 80°S and equator, onshore and offshore.',-80.0,0.0,-12.0,-6.0,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2058','World - N hemisphere - 6°W to 0°W - by country','Between 6°W and 0°W, northern hemisphere between equator and 84°N, onshore and offshore. Algeria. Burkina Faso. Côte'' Ivoire (Ivory Coast). Faroe Islands - offshore. France. Ghana. Gibraltar. Ireland - offshore Irish Sea. Mali. Mauritania. Morocco. Spain. United Kingdom (UK).',0.0,84.0,-6.0,0.0,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2059','World - S hemisphere - 6°W to 0°W - by country','Between 6°W and 0°W, southern hemisphere between 80°S and equator, onshore and offshore.',-80.0,0.0,-6.0,0.0,0);
|
||||
@@ -1048,7 +1046,7 @@ INSERT INTO "extent" VALUES('EPSG','2066','World - N hemisphere - 18°E to 24°E
|
||||
INSERT INTO "extent" VALUES('EPSG','2067','World - S hemisphere - 18°E to 24°E - by country','Between 18°E and 24°E, southern hemisphere between 80°S and equator, onshore and offshore. Angola. Botswana. Democratic Republic of the Congo (Zaire). Namibia. South Africa. Zambia.',-80.0,0.0,18.0,24.0,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2068','World - N hemisphere - 24°E to 30°E - by country','Between 24°E and 30°E, northern hemisphere between equator and 84°N, onshore and offshore. Belarus. Bulgaria. Central African Republic. Democratic Republic of the Congo (Zaire). Egypt. Estonia. Finland. Greece. Latvia. Lesotho. Libya. Lithuania. Moldova. Norway. Poland. Romania. Russian Federation. Sudan. Svalbard. Türkiye (Turkey). Uganda. Ukraine.',0.0,84.0,24.0,30.0,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2069','World - S hemisphere - 24°E to 30°E - by country','Between 24°E and 30°E, southern hemisphere between 80°S and equator, onshore and offshore. Botswana. Burundi. Democratic Republic of the Congo (Zaire). Rwanda. South Africa. Tanzania. Uganda. Zambia. Zimbabwe.',-80.0,0.0,24.0,30.0,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2070','World - N hemisphere - 30°E to 36°E - by country','Between 30°E and 36°E, northern hemisphere between equator and 84°N, onshore and offshore. Belarus. Cyprus. Egypt. Ethiopia. Finland. Israel. Jordan. Kenya. Lebanon. Moldova. Norway. Palestine. Russian Federation. Saudi Arabia. Sudan. Syria. Türkiye (Turkey). Uganda. Ukraine.',0.0,84.0,30.0,36.0,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2070','World - N hemisphere - 30°E to 36°E - by country','Between 30°E and 36°E, northern hemisphere between equator and 84°N, onshore and offshore. Belarus. Cyprus. Egypt. Ethiopia. Finland. Israel. Jordan. Kenya. Lebanon. Moldova. Norway. Russian Federation. Saudi Arabia. Sudan. Syria. Türkiye (Turkey). Uganda. Ukraine.',0.0,84.0,30.0,36.0,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2071','World - S hemisphere - 30°E to 36°E - by country','Between 30°E and 36°E, southern hemisphere between 80°S and equator, onshore and offshore. Burundi. Eswatini (Swaziland). Kenya. Malawi. Mozambique. Rwanda. South Africa. Tanzania. Uganda. Zambia. Zimbabwe.',-80.0,0.0,30.0,36.0,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2072','World - N hemisphere - 36°E to 42°E - by country','Between 36°E and 42°E, northern hemisphere between equator and 84°N, onshore and offshore. Djibouti. Egypt. Eritrea. Ethiopia. Georgia. Iraq. Jordan. Kenya. Lebanon. Russian Federation. Saudi Arabia. Somalia. Sudan. Syria. Türkiye (Turkey). Ukraine.',0.0,84.0,36.0,42.0,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2073','World - S hemisphere - 36°E to 42°E - by country','Between 36°E and 42°E, southern hemisphere between 80°S and equator, onshore and offshore. Kenya. Mozambique. Tanzania.',-80.0,0.0,36.0,42.0,0);
|
||||
@@ -1062,7 +1060,7 @@ INSERT INTO "extent" VALUES('EPSG','2080','World - N hemisphere - 60°E to 66°E
|
||||
INSERT INTO "extent" VALUES('EPSG','2081','World - S hemisphere - 60°E to 66°E - by country','Between 60°E and 66°E, southern hemisphere between 80°S and equator, onshore and offshore.',-80.0,0.0,60.0,66.0,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2082','World - N hemisphere - 66°E to 72°E - by country','Between 66°E and 72°E, northern hemisphere between equator and 84°N, onshore and offshore. Afghanistan. India. Kazakhstan. Kyrgyzstan. Pakistan. Russian Federation. Tajikistan. Uzbekistan.',0.0,84.0,66.0,72.0,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2083','World - S hemisphere - 66°E to 72°E - by country','Between 66°E and 72°E, southern hemisphere between 80°S and equator, onshore and offshore.',-80.0,0.0,66.0,72.0,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2084','World - N hemisphere - 72°E to 78°E - by country','Between 72°E and 78°E, northern hemisphere between equator and 84°N, onshore and offshore. China. India. Kazakhstan. Kyrgyzstan. Maldives. Pakistan. Russian Federation. Tajikistan. Uzbekistan.',0.0,84.0,72.0,78.0,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2084','World - N hemisphere - 72°E to 78°E - by country','Between 72°E and 78°E, northern hemisphere between equator and 84°N, onshore and offshore. China. India. Kazakhstan. Kyrgyzstan. Maldives. Pakistan. Russian Federation. Tajikistan.',0.0,84.0,72.0,78.0,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2085','World - S hemisphere - 72°E to 78°E - by country','Between 72°E and 78°E, southern hemisphere between 80°S and equator, onshore and offshore.',-80.0,0.0,72.0,78.0,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2086','World - N hemisphere - 78°E to 84°E - by country','Between 78°E and 84°E, northern hemisphere between equator and 84°N, onshore and offshore. China. India. Kazakhstan. Kyrgyzstan. Nepal. Russian Federation. Sri Lanka.',0.0,84.0,78.0,84.0,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2087','World - S hemisphere - 78°E to 84°E - by country','Between 78°E and 84°E, southern hemisphere between 80°S and equator, onshore and offshore.',-80.0,0.0,78.0,84.0,0);
|
||||
@@ -1078,9 +1076,9 @@ INSERT INTO "extent" VALUES('EPSG','2096','World - N hemisphere - 108°E to 114
|
||||
INSERT INTO "extent" VALUES('EPSG','2097','World - S hemisphere - 108°E to 114°E - by country','Between 108°E and 114°E, southern hemisphere between 80°S and equator, onshore and offshore. Australia. Indonesia.',-80.0,0.0,108.0,114.0,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2098','World - N hemisphere - 114°E to 120°E - by country','Between 114°E and 120°E, northern hemisphere between equator and 84°N, onshore and offshore. Brunei. China. Hong Kong. Indonesia. Malaysia - East Malaysia - Sarawak. Mongolia. Philippines. Russian Federation. Taiwan.',0.0,84.0,114.0,120.0,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2099','World - S hemisphere - 114°E to 120°E - by country','Between 114°E and 120°E, southern hemisphere between 80°S and equator, onshore and offshore. Australia. Indonesia.',-80.0,0.0,114.0,120.0,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2100','World - N hemisphere - 120°E to 126°E - by country','Between 120°E and 126°E, northern hemisphere between equator and 84°N, onshore and offshore. China. Indonesia. Japan. Democratic People''s Republic of Korea (North Korea). Republic of Korea (South Korea). Philippines. Russian Federation. Taiwan.',0.0,84.0,120.0,126.0,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2100','World - N hemisphere - 120°E to 126°E - by country','Between 120°E and 126°E, northern hemisphere between equator and 84°N, onshore and offshore. China. Indonesia. Japan. North Korea. Philippines. Russian Federation. South Korea. Taiwan.',0.0,84.0,120.0,126.0,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2101','World - S hemisphere - 120°E to 126°E - by country','Between 120°E and 126°E, southern hemisphere between 80°S and equator, onshore and offshore. Australia. East Timor. Indonesia.',-80.0,0.0,120.0,126.0,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2102','World - N hemisphere - 126°E to 132°E - by country','Between 126°E and 132°E, northern hemisphere between equator and 84°N, onshore and offshore. China. Indonesia. Japan. Democratic People''s Republic of Korea (North Korea). Republic of Korea (South Korea). Russian Federation.',0.0,84.0,126.0,132.0,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2102','World - N hemisphere - 126°E to 132°E - by country','Between 126°E and 132°E, northern hemisphere between equator and 84°N, onshore and offshore. China. Indonesia. Japan. North Korea. Russian Federation. South Korea.',0.0,84.0,126.0,132.0,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2103','World - S hemisphere - 126°E to 132°E - by country','Between 126°E and 132°E, southern hemisphere between 80°S and equator, onshore and offshore. Australia. East Timor. Indonesia.',-80.0,0.0,126.0,132.0,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2104','World - N hemisphere - 132°E to 138°E - by country','Between 132°E and 138°E, northern hemisphere between equator and 84°N, onshore and offshore. China. Japan. Russian Federation.',0.0,84.0,132.0,138.0,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2105','World - S hemisphere - 132°E to 138°E - by country','Between 132°E and 138°E, southern hemisphere between 80°S and equator, onshore and offshore. Australia. Indonesia.',-80.0,0.0,132.0,138.0,0);
|
||||
@@ -1101,15 +1099,15 @@ INSERT INTO "extent" VALUES('EPSG','2119','World - S hemisphere - 174°E to 180
|
||||
INSERT INTO "extent" VALUES('EPSG','2120','Guatemala - north of 15°51''30"N','Guatemala - north of 15°51''30"N.',15.85,17.83,-91.86,-88.34,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2121','Guatemala - south of 15°51''30"N','Guatemala - south of 15°51''30"N.',13.69,15.86,-92.29,-88.19,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2122','Europe - 18°W to 12°W and ETRS89 by country','Europe between 18°W and 12°W: Faroe Islands - offshore; Ireland - offshore; Jan Mayen - offshore; Portugal - offshore mainland; Spain - offshore mainland; United Kingdom (UKCS) - offshore.',34.93,72.44,-16.1,-11.99,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2123','Europe - 12°W to 6°W and ETRS89 by country','Europe between 12°W and 6°W: Faroe Islands - offshore; Ireland - offshore; Jan Mayen - onshore and offshore; Portugal - mainland - onshore and offshore; Spain - mainland - onshore and offshore; United Kingdom - UKCS offshore.',34.91,74.13,-12.0,-6.0,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2124','Europe - 6°W to 0°W and ETRS89 by country','Europe between 6°W and 0°W: Faroe Islands offshore; Ireland - offshore; Jan Mayen - offshore; Norway including Svalbard - offshore; Spain - mainland - onshore and offshore.',35.26,80.49,-6.0,0.01,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2125','Europe - 0°E to 6°E and ETRS89 by country','Europe between 0°E and 6°E: Andorra; Denmark - offshore; Germany - offshore; Jan Mayen - offshore; Norway including Svalbard - onshore and offshore; Spain - mainland and Balearic islands - onshore and offshore.',37.0,82.45,0.0,6.01,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2126','Europe - 6°E to 12°E and ETRS89 by country','Europe between 6°E and 12°E: Austria; Denmark - onshore and offshore; Germany - onshore and offshore; Italy - onshore and offshore; Norway including Svalbard - onshore and offshore; Spain - offshore.',36.53,84.01,6.0,12.01,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2127','Europe - 12°E to 18°E and ETRS89 by country','Europe between 12°E and 18°E: Austria; Croatia; Denmark - offshore and offshore; Germany - onshore and offshore; Italy - onshore and offshore; Norway including Svalbard - onshore and offshore.',34.79,84.01,12.0,18.01,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2128','Europe - 18°E to 24°E and ETRS89 by country','Europe between 18°E and 24°E: Bulgaria; Croatia; Italy - onshore and offshore; Norway including Svalbard - onshore and offshore.',34.76,84.01,18.0,24.01,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2129','Europe - 24°E to 30°E and ETRS89 by country','Europe between 24°E and 30°E: Bulgaria - onshore and offshore; Norway including Svalbard - onshore and offshore.',41.24,84.01,24.0,30.01,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2130','Europe - 30°E to 36°E and ETRS89 by country','Europe between 30°E and 36°E: Bulgaria - offshore; Norway including Svalbard - onshore and offshore.',42.56,84.01,30.0,36.01,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2131','Europe - 36°E to 42°E and ETRS89 by country','Europe between 36°E and 42°E: Norway including Svalbard - offshore.',72.99,79.07,36.0,38.0,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2123','Europe - 12°W to 6°W and ETRS89 by country','Europe between 12°W and 6°W: Faroe Islands - onshore and offshore; Ireland - offshore; Jan Mayen - onshore and offshore; Portugal - onshore and offshore; Spain - onshore and offshore; United Kingdom - UKCS offshore.',34.91,74.13,-12.0,-6.0,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2124','Europe - 6°W to 0°W and ETRS89 by country','Europe between 6°W and 0°W: Faroe Islands offshore; Ireland - offshore; Jan Mayen - offshore; Norway including Svalbard - offshore; Spain - onshore and offshore.',35.26,80.49,-6.0,0.01,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2125','Europe - 0°E to 6°E and ETRS89 by country','Europe between 0°E and 6°E: Andorra; Belgium - onshore and offshore; Denmark - offshore; Germany - offshore; Jan Mayen - offshore; Norway including Svalbard - onshore and offshore; Spain - onshore and offshore.',37.0,82.45,0.0,6.01,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2126','Europe - 6°E to 12°E and ETRS89 by country','Europe between 6°E and 12°E: Austria; Belgium; Denmark - onshore and offshore; Germany - onshore and offshore; Norway including - onshore and offshore; Spain - offshore.',38.76,84.33,6.0,12.01,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2127','Europe - 12°E to 18°E and ETRS89 by country','Europe between 12°E and 18°E: Austria; Denmark - offshore and offshore; Germany - onshore and offshore; Norway including Svalbard - onshore and offshore.',46.4,84.42,12.0,18.01,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2128','Europe - 18°E to 24°E and ETRS89 by country','Europe between 18°E and 24°E: Finland - onshore and offshore; Norway including Svalbard - onshore and offshore.',58.84,84.54,17.99,24.01,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2129','Europe - 24°E to 30°E and ETRS89 by country','Europe between 24°E and 30°E: Finland - onshore and offshore; Norway including Svalbard - onshore and offshore.',59.64,84.73,24.0,30.01,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2130','Europe - 30°E to 36°E and ETRS89 by country','Europe between 30°E and 36°E: Finland - onshore and offshore; Norway including Svalbard - onshore and offshore.',61.73,84.7,30.0,36.01,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2131','Europe - 36°E to 42°E and ETRS89 by country','Europe between 36°E and 42°E: Norway including Svalbard - offshore.',72.99,79.07,36.0,38.01,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2132','Europe - 42°E to 48°E and ETRS89 by country','Europe - between 42°E and 48°E.',37.0,41.65,42.0,48.0,1);
|
||||
INSERT INTO "extent" VALUES('EPSG','2133','USA - 168°W to 162°W - AK, OCS','United States (USA) - between 168°W and 162°W - Alaska and offshore continental shelf (OCS).',49.52,74.29,-168.0,-161.99,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2134','USA - 162°W to 156°W - AK, OCS','United States (USA) - between 162°W and 156°W - Alaska and offshore continental shelf (OCS).',50.98,74.71,-162.0,-155.99,0);
|
||||
@@ -1126,13 +1124,13 @@ INSERT INTO "extent" VALUES('EPSG','2144','North America - 102°W to 96°W and N
|
||||
INSERT INTO "extent" VALUES('EPSG','2145','North America - 96°W to 90°W and NAD27 by country','North America - between 96°W and 90°W. Canada - Manitoba; Nunavut; Ontario. Guatemala. Mexico. United States (USA) - Arkansas; Illinois; Iowa; Kansas; Louisiana; Michigan; Minnesota; Mississippi; Missouri; Nebraska; Oklahoma; Tennessee; Texas; Wisconsin. Onshore for Canadian Arctic and Central America, onshore and offshore for Gulf of Mexico (both US and Mexican sectors).',13.63,81.96,-96.0,-90.0,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2146','North America - 90°W to 84°W and NAD27 by country','North America - between 90°W and 84°W. Belize. Canada - Manitoba; Nunavut; Ontario. Costa Rica. Cuba. El Salvador. Guatemala. Honduras. Mexico. Nicaragua. United States (USA) - Alabama; Arkansas; Florida; Georgia; Indiana; Illinois; Kentucky; Louisiana; Michigan; Minnesota; Mississippi; Missouri; North Carolina; Ohio; Tennessee; Wisconsin. Onshore for Canadian Arctic and Central America, onshore and offshore for Cuba and Gulf of Mexico (both US and Mexican sectors).',9.27,82.54,-90.01,-84.0,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2147','North America - 84°W to 78°W and NAD27 by country','North America - between 84°W and 78°W. Bahamas. Canada - Nunavut; Ontario; Quebec. Costa Rica. Cuba. Honduras. Nicaragua. United States (USA) - Florida; Georgia; Kentucky; Maryland; Michigan; New York; North Carolina; Ohio; Pennsylvania; South Carolina; Tennessee; Virginia; West Virginia. Onshore for Canadian Arctic. onshore and offshore for US east coast and Cuba, with usage in Bahamas onshore plus offshore over internal continental shelf only.',7.98,83.03,-84.0,-78.0,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2148','North America - 78°W to 72°W and NAD27 by country','North America - between 78°W and 72°W. Bahamas. Canada - Nunavut; Ontario; Quebec. Cuba. United States (USA) - Connecticut; Delaware; District of Columbia (DC); Maryland; Massachusetts; New Hampshire; New Jersey; New York; North Carolina; Pennsylvania; Virginia; Vermont. Onshore for Canadian arctic. onshore and offshore for US east coast and Cuba, with usage in Bahamas onshore plus offshore over internal continental shelf only.',18.83,83.16,-78.0,-72.0,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2148','North America - 78°W to 72°W and NAD27 by country','North America - between 78°W and 72°W. Bahamas. Canada - Nunavut; Ontario; Quebec. Cuba. United States (USA) - Connecticut; Delaware; Maryland; Massachusetts; New Hampshire; New Jersey; New York; North Carolina; Pennsylvania; Virginia; Vermont. Onshore for Canadian arctic. onshore and offshore for US east coast and Cuba, with usage in Bahamas onshore plus offshore over internal continental shelf only.',18.83,83.16,-78.0,-72.0,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2149','North America - 72°W to 66°W and NAD27 by country','North America - between 72°W and 66°W. Canada - New Brunswick; Labrador; Nunavut; Nova Scotia; Quebec. United States (USA) - Connecticut; Maine; Massachusetts; New Hampshire; New York (Long Island); Rhode Island; Vermont. Onshore and offshore for US and Canadian east coasts.',33.61,83.17,-72.0,-66.0,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2150','North America - 66°W to 60°W and NAD27 by country','North America - between 66°W and 60°W - onshore and offshore. Canada - New Brunswick; Labrador; Nova Scotia; Nunavut; Prince Edward Island; Quebec. United States (USA) offshore Atlantic.',38.21,82.97,-66.0,-59.99,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2151','Canada - 60°W to 54°W','Canada between 60°W and 54°W - Newfoundland and Labrador; Nunavut; Quebec.',38.56,84.0,-60.0,-54.0,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2152','Canada - 54°W to 48°W','Canada between 54°W and 48°W onshore and offshore - Newfoundland and Labrador.',39.5,57.65,-54.0,-47.99,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2153','Canada - 48°W to 42°W','Canada offshore Atlantic - 48°W to 42°W.',39.85,54.47,-48.0,-42.0,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2154','USA - Alabama - SPCS - E','United States (USA) - Alabama east of approximately 86°37''W - counties Barbour; Bullock; Calhoun; Chambers; Cherokee; Clay; Cleburne; Coffee; Coosa; Covington; Crenshaw; Dale; De Kalb; Elmore; Etowah; Geneva; Henry; Houston; Jackson; Lee; Macon; Madison; Marshall; Montgomery; Pike; Randolph; Russell; St Clair; Talladega; Tallapoosa.',30.99,35.0,-86.79,-84.89,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2154','USA - Alabama - SPCS - E','United States (USA) - Alabama east of approximately 86°37''W - counties Barbour; Bullock; Calhoun; Chambers; Cherokee; Clay; Cleburne; Coffee; Coosa; Covington; Crenshaw; Dale; De Kalb; Elmore; Etowah; Geneva; Henry; Houston; Jackson; Lee; Macon; Madison; Marshall; Montgomery; Pike; Randolph; Russell; StClair; Talladega; Tallapoosa.',30.99,35.0,-86.79,-84.89,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2155','USA - Alabama - SPCS - W','United States (USA) - Alabama west of approximately 86°37''W - counties Autauga; Baldwin; Bibb; Blount; Butler; Chilton; Choctaw; Clarke; Colbert; Conecuh; Cullman; Dallas; Escambia; Fayette; Franklin; Greene; Hale; Jefferson; Lamar; Lauderdale; Lawrence; Limestone; Lowndes; Marengo; Marion; Mobile; Monroe; Morgan; Perry; Pickens; Shelby; Sumter; Tuscaloosa; Walker; Washington; Wilcox; Winston.',30.14,35.02,-88.48,-86.3,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2156','USA - Alaska - Panhandle','United States (USA) - Alaska - east of 141°W; i.e. Panhandle.',54.61,60.35,-141.0,-129.99,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2157','USA - Alaska - Aleutian Islands','United States (USA) - Alaska - Aleutian Islands onshore.',51.3,54.34,172.42,-164.84,0);
|
||||
@@ -1147,12 +1145,11 @@ INSERT INTO "extent" VALUES('EPSG','2165','USA - Alaska - north of 54.5°N; west
|
||||
INSERT INTO "extent" VALUES('EPSG','2166','USA - Arizona - SPCS - C','United States (USA) - Arizona - counties Coconino; Maricopa; Pima; Pinal; Santa Cruz; Yavapai.',31.33,37.01,-113.35,-110.44,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2167','USA - Arizona - SPCS - E','United States (USA) - Arizona - counties Apache; Cochise; Gila; Graham; Greenlee; Navajo.',31.33,37.01,-111.71,-109.04,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2168','USA - Arizona - SPCS - W','United States (USA) - Arizona - counties of La Paz; Mohave; Yuma.',32.05,37.0,-114.81,-112.52,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2169','USA - Arkansas - SPCS27 - N','United States (USA) - Arkansas - counties of Baxter; Benton; Boone; Carroll; Clay; Cleburne; Conway; Craighead; Crawford; Crittenden; Cross; Faulkner; Franklin; Fulton; Greene; Independence; Izard; Jackson; Johnson; Lawrence; Logan; Madison; Marion; Mississippi; Newton; Perry; Poinsett; Pope; Randolph; Scott; Searcy; Sebastian; Sharp; St Francis; Stone; Van Buren; Washington; White; Woodruff; Yell.',34.67,36.5,-94.62,-89.64,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2170','USA - Arkansas - SPCS27 - S','United States (USA) - Arkansas - counties Arkansas; Ashley; Bradley; Calhoun; Chicot; Clark; Cleveland; Columbia; Dallas; Desha; Drew; Garland; Grant; Hempstead; Hot Spring; Howard; Jefferson; Lafayette; Lee; Lincoln; Little River; Lonoke; Miller; Monroe; Montgomery; Nevada; Ouachita; Phillips; Pike; Polk; Prairie; Pulaski; Saline; Sevier; Union.',33.01,35.1,-94.48,-90.4,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2171','USA - GoM OCS - west of 96°W','United States (USA) - Gulf of Mexico west of approximately 96°W - leasing areas Matagorda Island, Mustang Island, North Padre Island and South Padre Island; outer continental shelf (GoM OCS) protraction areas Corpus Christi, Port Isabel.',25.97,28.43,-97.22,-95.87,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2172','USA - GoM OCS - 96°W to 90°W','United States (USA) - Gulf of Mexico outer continental shelf (GoM OCS) between approximately 96°W and 90°W - leasing areas Brazos, Galveston, High Island; Sabine Pass; West Cameron, East Cameron, Vermilion, South Marsh Island, Eugene Island, Ship Shoal, South Pelto, Bay Marchand, South Timbalier, Grand Isle; protraction areas East Breaks, Alaminos Canyon, Garden Banks, Keathley Canyon, Sigsbee Escarpment, Ewing Bank, Green Canyon, Walker Ridge, Amery Terrace.
|
||||
',25.61,29.73,-96.0,-89.86,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2173','USA - GoM OCS - 90°W to 84°W','United States (USA) - Gulf of Mexico outer continental shelf (GoM OCS) between approximately 90°W and 84°W - leasing areas Grand Isle, West Delta, South Pass, Breton Sound, Main Pass, Chandeleur; protraction areas Mobile, Viosca Knoll, Mississippi Canyon, Atwater Valley, Lund, Lund South, Pensacola, Destin Dome, De Soto Canyon, Lloyd Ridge, Henderson, Florida Plain, Campeche Escarpment, Apalachicola, Florida Middle Ground, The Elbow, Vernon Basin, Howell Hook, Rankin.',23.95,30.25,-90.01,-83.91,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2169','USA - Arkansas - SPCS - N','United States (USA) - Arkansas - counties of Baxter; Benton; Boone; Carroll; Clay; Cleburne; Conway; Craighead; Crawford; Crittenden; Cross; Faulkner; Franklin; Fulton; Greene; Independence; Izard; Jackson; Johnson; Lawrence; Logan; Madison; Marion; Mississippi; Newton; Perry; Poinsett; Pope; Randolph; Scott; Searcy; Sebastian; Sharp; St Francis; Stone; Van Buren; Washington; White; Woodruff; Yell.',34.67,36.5,-94.62,-89.64,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2170','USA - Arkansas - SPCS - S','United States (USA) - Arkansas - counties Arkansas; Ashley; Bradley; Calhoun; Chicot; Clark; Cleveland; Columbia; Dallas; Desha; Drew; Garland; Grant; Hempstead; Hot Spring; Howard; Jefferson; Lafayette; Lee; Lincoln; Little River; Lonoke; Miller; Monroe; Montgomery; Nevada; Ouachita; Phillips; Pike; Polk; Prairie; Pulaski; Saline; Sevier; Union.',33.01,35.1,-94.48,-90.4,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2171','USA - GoM OCS - west of 96°W','United States (USA) - Gulf of Mexico outer continental shelf (GoM OCS) west of approximately 96°W - protraction areas Corpus Christi; Port Isabel.',25.97,28.43,-97.22,-95.87,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2172','USA - GoM OCS - 96°W to 90°W','United States (USA) - Gulf of Mexico outer continental shelf (GoM OCS) between approximately 96°W and 90°W - protraction areas East Breaks; Alaminos Canyon; Garden Banks; Keathley Canyon; Sigsbee Escarpment; Ewing Bank; Green Canyon; Walker Ridge; Amery Terrace.',25.61,29.73,-96.0,-89.86,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2173','USA - GoM OCS - 90°W to 84°W','United States (USA) - Gulf of Mexico outer continental shelf (GoM OCS) between approximately 90°W and 84°W - protraction areas Mobile; Viosca Knoll; Mississippi Canyon; Atwater Valley; Lund; Lund South; Pensacola; Destin Dome; De Soto Canyon; Lloyd Ridge; Henderson; Florida Plain; Campeche Escarpment; Apalachicola; Florida Middle Ground; The Elbow; Vernon Basin; Howell Hook; Rankin.',23.95,30.25,-90.01,-83.91,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2174','USA - GoM OCS - east of 84°W','United States (USA) - Gulf of Mexico outer continental shelf (GoM OCS) east of approximately 84°W - protraction areas Gainesville; Tarpon Springs; St Petersburg; Charlotte Harbor; Pulley Ridge; Dry Tortugas; Tortugas Valley; Miami; Key West.',23.82,29.94,-84.09,-81.17,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2175','USA - California - SPCS - 1','United States (USA) - California - counties Del Norte; Humboldt; Lassen; Modoc; Plumas; Shasta; Siskiyou; Tehama; Trinity.',39.59,42.01,-124.45,-119.99,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2176','USA - California - SPCS - 2','United States (USA) - California - counties of Alpine; Amador; Butte; Colusa; El Dorado; Glenn; Lake; Mendocino; Napa; Nevada; Placer; Sacramento; Sierra; Solano; Sonoma; Sutter; Yolo; Yuba.',38.02,40.16,-124.06,-119.54,0);
|
||||
@@ -1161,15 +1158,15 @@ INSERT INTO "extent" VALUES('EPSG','2178','USA - California - SPCS - 4','United
|
||||
INSERT INTO "extent" VALUES('EPSG','2179','USA - California - SPCS27 - 5','United States (USA) - California - counties of Kern; San Bernardino; San Luis Obispo; Santa Barbara; Ventura.',32.76,35.81,-121.43,-114.12,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2180','USA - California - SPCS - 6','United States (USA) - California - counties Imperial; Orange; Riverside; San Diego.',32.53,34.08,-118.15,-114.42,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2181','USA - California - SPCS27 - 7','United States (USA) - California - Los Angeles county.',33.66,34.83,-118.96,-117.63,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2182','USA - California - SPCS - 5','United States (USA) - California - counties Kern; Los Angeles; San Bernardino; San Luis Obispo; Santa Barbara; Ventura.',32.76,35.81,-121.42,-114.12,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2182','USA - California - SPCS83 - 5','United States (USA) - California - counties Kern; Los Angeles; San Bernardino; San Luis Obispo; Santa Barbara; Ventura.',32.76,35.81,-121.42,-114.12,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2183','USA - Colorado - SPCS - C','United States (USA) - Colorado - counties Arapahoe; Chaffee; Cheyenne; Clear Creek; Delta; Denver; Douglas; Eagle; El Paso; Elbert; Fremont; Garfield; Gunnison; Jefferson; Kit Carson; Lake; Lincoln; Mesa; Park; Pitkin; Summit; Teller.',38.14,40.09,-109.06,-102.04,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2184','USA - Colorado - SPCS - N','United States (USA) - Colorado - counties Adams; Boulder; Gilpin; Grand; Jackson; Larimer; Logan; Moffat; Morgan; Phillips; Rio Blanco; Routt; Sedgwick; Washington; Weld; Yuma.',39.56,41.01,-109.06,-102.04,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2185','USA - Colorado - SPCS - S','United States (USA) - Colorado - counties Alamosa; Archuleta; Baca; Bent; Conejos; Costilla; Crowley; Custer; Dolores; Hinsdale; Huerfano; Kiowa; La Plata; Las Animas; Mineral; Montezuma; Montrose; Otero; Ouray; Prowers; Pueblo; Rio Grande; Saguache; San Juan; San Miguel.',36.98,38.68,-109.06,-102.04,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2186','USA - Florida - SPCS - E','United States (USA) - Florida - counties of Brevard; Broward; Clay; Collier; Dade; Duval; Flagler; Glades; Hendry; Highlands; Indian River; Lake; Martin; Monroe; Nassau; Okeechobee; Orange; Osceola; Palm Beach; Putnam; Seminole; St Johns; St Lucie; Volusia.',24.41,30.83,-82.33,-79.97,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2187','USA - Florida - SPCS - N','United States (USA) - Florida - counties of Alachua; Baker; Bay; Bradford; Calhoun; Columbia; Dixie; Escambia; Franklin; Gadsden; Gilchrist; Gulf; Hamilton; Holmes; Jackson; Jefferson; Lafayette; Leon; Liberty; Madison; Okaloosa; Santa Rosa; Suwannee; Taylor; Union; Wakulla; Walton; Washington.',29.21,31.01,-87.63,-82.04,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2188','USA - Florida - SPCS - W','United States (USA) - Florida - counties of Charlotte; Citrus; De Soto; Hardee; Hernando; Hillsborough; Lee; Levy; Manatee; Marion; Pasco; Pinellas; Polk; Sarasota; Sumter.',26.27,29.6,-83.34,-81.13,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2189','USA - Georgia - SPCS - E','United States (USA) - Georgia - counties of Appling; Atkinson; Bacon; Baldwin; Brantley; Bryan; Bulloch; Burke; Camden; Candler; Charlton; Chatham; Clinch; Coffee; Columbia; Dodge; Echols; Effingham; Elbert; Emanuel; Evans; Franklin; Glascock; Glynn; Greene; Hancock; Hart; Jeff Davis; Jefferson; Jenkins; Johnson; Laurens; Liberty; Lincoln; Long; Madison; McDuffie; McIntosh; Montgomery; Oglethorpe; Pierce; Richmond; Screven; Stephens; Taliaferro; Tattnall; Telfair; Toombs; Treutlen; Ware; Warren; Washington; Wayne; Wheeler; Wilkes; Wilkinson.',30.35,34.69,-83.46,-80.75,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2190','USA - Georgia - SPCS - W','United States (USA) - Georgia - counties of Baker; Banks; Barrow; Bartow; Ben Hill; Berrien; Bibb; Bleckley; Brooks; Butts; Calhoun; Carroll; Catoosa; Chattahoochee; Chattooga; Cherokee; Clarke; Clay; Clayton; Cobb; Colquitt; Cook; Coweta; Crawford; Crisp; Dade; Dawson; De Kalb; Decatur; Dooly; Dougherty; Douglas; Early; Fannin; Fayette; Floyd; Forsyth; Fulton; Gilmer; Gordon; Grady; Gwinnett; Habersham; Hall; Haralson; Harris; Heard; Henry; Houston; Irwin; Jackson; Jasper; Jones; Lamar; Lanier; Lee; Lowndes; Lumpkin; Macon; Marion; Meriwether; Miller; Mitchell; Monroe; Morgan; Murray; Muscogee; Newton; Oconee; Paulding; Peach; Pickens; Pike; Polk; Pulaski; Putnam; Quitman; Rabun; Randolph; Rockdale; Schley; Seminole; Spalding; Stewart; Sumter; Talbot; Taylor; Terrell; Thomas; Tift; Towns; Troup; Turner; Twiggs; Union; Upson; Walker; Walton; Webster; White; Whitfield; Wilcox; Worth.',30.62,35.01,-85.61,-82.96,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2189','USA - Georgia - SPCS - E','United States (USA) - Georgia - counties of Appling; Atkinson; Bacon; Baldwin; Brantley; Bryan; Bulloch; Burke; Camden; Candler; Charlton; Chatham; Clinch; Coffee; Columbia; Dodge; Echols; Effingham; Elbert; Emanuel; Evans; Franklin; Glascock; Glynn; Greene; Hancock; Hart; Jeff Davis; Jefferson; Jenkins; Johnson; Lanier; Laurens; Liberty; Lincoln; Long; Madison; McDuffie; McIntosh; Montgomery; Oglethorpe; Pierce; Richmond; Screven; Stephens; Taliaferro; Tattnall; Telfair; Toombs; Treutlen; Ware; Warren; Washington; Wayne; Wheeler; Wilkes; Wilkinson.',30.36,34.68,-83.47,-80.77,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2190','USA - Georgia - SPCS - W','United States (USA) - Georgia - counties of Baker; Banks; Barrow; Bartow; Ben Hill; Berrien; Bibb; Bleckley; Brooks; Butts; Calhoun; Carroll; Catoosa; Chattahoochee; Chattooga; Cherokee; Clarke; Clay; Clayton; Cobb; Colquitt; Cook; Coweta; Crawford; Crisp; Dade; Dawson; De Kalb; Decatur; Dooly; Dougherty; Douglas; Early; Fannin; Fayette; Floyd; Forsyth; Fulton; Gilmer; Gordon; Grady; Gwinnett; Habersham; Hall; Haralson; Harris; Heard; Henry; Houston; Irwin; Jackson; Jasper; Jones; Lamar; Lee; Lowndes; Lumpkin; Macon; Marion; Meriwether; Miller; Mitchell; Monroe; Morgan; Murray; Muscogee; Newton; Oconee; Paulding; Peach; Pickens; Pike; Polk; Pulaski; Putnam; Quitman; Rabun; Randolph; Rockdale; Schley; Seminole; Spalding; Stewart; Sumter; Talbot; Taylor; Terrell; Thomas; Tift; Towns; Troup; Turner; Twiggs; Union; Upson; Walker; Walton; Webster; White; Whitfield; Wilcox; Worth.',30.62,35.01,-85.61,-82.99,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2191','USA - Idaho - SPCS - C','United States (USA) - Idaho - counties of Blaine; Butte; Camas; Cassia; Custer; Gooding; Jerome; Lemhi; Lincoln; Minidoka; Twin Falls.',41.99,45.7,-115.3,-112.67,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2192','USA - Idaho - SPCS - E','United States (USA) - Idaho - counties of Bannock; Bear Lake; Bingham; Bonneville; Caribou; Clark; Franklin; Fremont; Jefferson; Madison; Oneida; Power; Teton.',41.99,44.75,-113.24,-111.04,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2193','USA - Idaho - SPCS - W','United States (USA) - Idaho - counties of Ada; Adams; Benewah; Boise; Bonner; Boundary; Canyon; Clearwater; Elmore; Gem; Idaho; Kootenai; Latah; Lewis; Nez Perce; Owyhee; Payette; Shoshone; Valley; Washington.',41.99,49.01,-117.24,-114.32,0);
|
||||
@@ -1210,8 +1207,8 @@ INSERT INTO "extent" VALUES('EPSG','2227','Canada - Newfoundland and Labrador -
|
||||
INSERT INTO "extent" VALUES('EPSG','2228','USA - New Mexico - SPCS - E','United States (USA) - New Mexico - counties of Chaves; Colfax; Curry; De Baca; Eddy; Guadalupe; Harding; Lea; Mora; Quay; Roosevelt; San Miguel; Union.',32.0,37.0,-105.72,-102.99,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2229','USA - New Mexico - SPCS27 - C','United States (USA) - New Mexico - counties of Bernalillo; Dona Ana; Lincoln; Los Alamos; Otero; Rio Arriba; Sandoval; Santa Fe; Socorro; Taos; Torrance.',31.78,37.0,-107.73,-104.83,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2230','USA - New Mexico - SPCS27 - W','United States (USA) - New Mexico - counties of Catron; Cibola; Grant; Hidalgo; Luna; McKinley; San Juan; Sierra; Valencia.',31.33,37.0,-109.06,-106.32,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2231','USA - New Mexico - SPCS - C','United States (USA) - New Mexico - counties of Bernalillo; Dona Ana; Lincoln; Los Alamos; Otero; Rio Arriba; Sandoval; Santa Fe; Socorro; Taos; Torrance; Valencia.',31.78,37.0,-107.73,-104.84,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2232','USA - New Mexico - SPCS - W','United States (USA) - New Mexico - counties of Catron; Cibola; Grant; Hidalgo; Luna; McKinley; San Juan; Sierra.',31.33,37.0,-109.06,-106.32,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2231','USA - New Mexico - SPCS83 - C','United States (USA) - New Mexico - counties of Bernalillo; Dona Ana; Lincoln; Los Alamos; Otero; Rio Arriba; Sandoval; Santa Fe; Socorro; Taos; Torrance; Valencia.',31.78,37.0,-107.73,-104.84,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2232','USA - New Mexico - SPCS83 - W','United States (USA) - New Mexico - counties of Catron; Cibola; Grant; Hidalgo; Luna; McKinley; San Juan; Sierra.',31.33,37.0,-109.06,-106.32,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2233','USA - New York - SPCS - C','United States (USA) - New York - counties of Broome; Cayuga; Chemung; Chenango; Cortland; Jefferson; Lewis; Madison; Oneida; Onondaga; Ontario; Oswego; Schuyler; Seneca; Steuben; Tioga; Tompkins; Wayne; Yates.',41.99,44.41,-77.75,-75.06,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2234','USA - New York - SPCS - E','United States (USA) - New York mainland - counties of Albany; Clinton; Columbia; Delaware; Dutchess; Essex; Franklin; Fulton; Greene; Hamilton; Herkimer; Montgomery; Orange; Otsego; Putnam; Rensselaer; Rockland; Saratoga; Schenectady; Schoharie; St Lawrence; Sullivan; Ulster; Warren; Washington; Westchester.',40.88,45.02,-75.87,-73.23,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2235','USA - New York - SPCS - Long Island','United States (USA) - New York - counties of Bronx; Kings; Nassau; New York; Queens; Richmond; Suffolk.',40.47,41.3,-74.26,-71.8,0);
|
||||
@@ -1252,8 +1249,8 @@ INSERT INTO "extent" VALUES('EPSG','2269','USA - Wyoming - SPCS - E','United Sta
|
||||
INSERT INTO "extent" VALUES('EPSG','2270','USA - Wyoming - SPCS - EC','United States (USA) - Wyoming - counties of Big Horn; Carbon; Johnson; Natrona; Sheridan; Washakie.',40.99,45.01,-108.63,-106.0,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2271','USA - Wyoming - SPCS - W','United States (USA) - Wyoming - counties of Lincoln; Sublette; Teton; Uinta.',40.99,44.67,-111.06,-109.04,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2272','USA - Wyoming - SPCS - WC','United States (USA) - Wyoming - counties of Fremont; Hot Springs; Park; Sweetwater.',40.99,45.01,-111.06,-107.5,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2273','USA - Washington - SPCS - N','United States (USA) - Washington - counties of Chelan; Clallam; Douglas; Ferry; Grant north of approximately 47°30''N; Island; Jefferson; King; Kitsap; Lincoln; Okanogan; Pend Oreille; San Juan; Skagit; Snohomish; Spokane; Stevens; Whatcom.',47.08,49.05,-124.79,-117.02,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2274','USA - Washington - SPCS - S','United States (USA) - Washington - counties of Adams; Asotin; Benton; Clark; Columbia; Cowlitz; Franklin; Garfield; Grant south of approximately 47°30''N; Grays Harbor; Kittitas; Klickitat; Lewis; Mason; Pacific; Pierce; Skamania; Thurston; Wahkiakum; Walla Walla; Whitman; Yakima.',45.54,47.61,-124.4,-116.91,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2273','USA - Washington - SPCS83 - N','United States (USA) - Washington - counties of Chelan; Clallam; Douglas; Ferry; Grant north of approximately 47°30''N; Island; Jefferson; King; Kitsap; Lincoln; Okanogan; Pend Oreille; San Juan; Skagit; Snohomish; Spokane; Stevens; Whatcom.',47.08,49.05,-124.79,-117.02,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2274','USA - Washington - SPCS83 - S','United States (USA) - Washington - counties of Adams; Asotin; Benton; Clark; Columbia; Cowlitz; Franklin; Garfield; Grant south of approximately 47°30''N; Grays Harbor; Kittitas; Klickitat; Lewis; Mason; Pacific; Pierce; Skamania; Thurston; Wahkiakum; Walla Walla; Whitman; Yakima.',45.54,47.61,-124.4,-116.91,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2275','Canada - Newfoundland and Labrador - 60°W to 57.5°W','Canada - Newfoundland west of 57°30''W.',47.5,50.54,-59.48,-57.5,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2276','Canada - Quebec and Labrador - 63°W to 60°W','Canada - Quebec and Labrador between 63°W and 60°W.',47.16,58.92,-63.0,-60.0,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2277','Canada - Quebec and Labrador - 66°W to 63°W','Canada - Quebec and Labrador between 66°W and 63°W.',47.95,60.52,-66.0,-63.0,0);
|
||||
@@ -1309,13 +1306,13 @@ INSERT INTO "extent" VALUES('EPSG','2326','Germany - West Germany all states','G
|
||||
INSERT INTO "extent" VALUES('EPSG','2327','Syria - Al Whaleed area','Syria - Al Whaleed area',35.33,35.9,39.15,40.41,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2328','Syria - Shaddadeh area','Syria - Shaddadeh area (36°N, 41°E)',35.79,36.5,40.5,41.39,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2329','Syria - Deir area','Syria - Deir area (35°22''N, 40°06''E)',34.49,35.9,39.3,40.81,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2330','Europe - North Sea','Denmark - North Sea; Germany - North Sea; Netherlands - offshore; Norway - North Sea south of 62°N; United Kingdom (UKCS) - North Sea south of 62°N.',51.03,62.0,-5.05,10.86,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2330','Europe - North Sea','Denmark - North Sea; Germany - North Sea; Netherlands - offshore; Norway - North Sea south of 62°N; United Kingdom (UKCS) - North Sea south of 62°N.',51.03,62.01,-5.05,10.86,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2331','Norway - offshore north of 65°N','Norway - offshore north of 65°N.',65.0,72.0,-0.5,32.02,1);
|
||||
INSERT INTO "extent" VALUES('EPSG','2332','Norway - offshore north of 65°N; Svalbard','Norway - offshore north of 65°N. Also Svalbard.',65.0,84.73,-3.35,38.0,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2332','Norway - offshore north of 65°N; Svalbard','Norway - offshore north of 65°N. Also Svalbard.',65.0,84.73,-3.35,38.01,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2333','Norway - offshore 62°N to 65°N and west of 5°E','Norway - offshore between 62°N and 65°N and west of 5°E.',62.0,65.01,-0.49,5.01,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2334','Norway - North Sea - offshore south of 62°N','Norway - offshore south of 62°N - North Sea.',56.08,62.01,1.37,10.81,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2335','Spain - Balearic Islands','Spain - Balearic Islands.',38.59,40.15,1.12,4.39,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2336','Spain - mainland except northwest','Spain - onshore mainland except northwest (north of 41°30''N and west of 4°30''W).',35.95,43.56,-7.54,3.39,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2336','Spain - mainland except northwest','Spain - onshore mainland except northwest (north of 41°30''N and west of 4°30''W).',35.26,43.56,-7.54,3.39,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2337','Spain - mainland northwest','Spain - onshore mainland north of 41°30''N and west of 4°30'' W.',41.5,43.82,-9.37,-4.5,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2338','Europe - Portugal and Spain','Portugal; Spain - mainland.',35.26,43.82,-9.56,3.39,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2339','Italy - Sardinia onshore','Italy - Sardinia onshore.',38.82,41.31,8.08,9.89,0);
|
||||
@@ -1356,7 +1353,7 @@ INSERT INTO "extent" VALUES('EPSG','2373','USA - Alaska including EEZ','United S
|
||||
INSERT INTO "extent" VALUES('EPSG','2374','USA - CONUS including EEZ','United States (USA) - CONUS including EEZ - onshore and offshore - Alabama; Arizona; Arkansas; California; Colorado; Connecticut; Delaware; Florida; Georgia; Idaho; Illinois; Indiana; Iowa; Kansas; Kentucky; Louisiana; Maine; Maryland; Massachusetts; Michigan; Minnesota; Mississippi; Missouri; Montana; Nebraska; Nevada; New Hampshire; New Jersey; New Mexico; New York; North Carolina; North Dakota; Ohio; Oklahoma; Oregon; Pennsylvania; Rhode Island; South Carolina; South Dakota; Tennessee; Texas; Utah; Vermont; Virginia; Washington; West Virginia; Wisconsin; Wyoming. US Gulf of Mexico (GoM) OCS.',23.81,49.38,-129.17,-65.69,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2375','Canada - Saskatchewan','Canada - Saskatchewan.',49.0,60.01,-110.0,-101.34,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2376','Canada - Alberta','Canada - Alberta.',48.99,60.0,-120.0,-109.98,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2377','USA - Delaware and Maryland','United States (USA) - Delaware, District of Columbia (DC) and Maryland.',37.97,39.85,-79.49,-74.97,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2377','USA - Delaware and Maryland','United States (USA) - Delaware and Maryland.',37.97,39.85,-79.49,-74.97,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2378','USA - New England - south (CT, MA, NH, RI, VT)','United States (USA) - Connecticut; Massachusetts; New Hampshire; Rhode Island; Vermont.',40.98,45.31,-73.73,-69.86,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2379','USA - Texas east of 100°W','United States (USA) - Texas east of 100°W.',25.83,34.58,-100.0,-93.5,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2380','USA - Texas west of 100°W','United States (USA) - Texas west of 100°W.',28.04,36.5,-106.66,-100.0,0);
|
||||
@@ -1368,7 +1365,7 @@ INSERT INTO "extent" VALUES('EPSG','2385','Panama - Canal Zone','Panama - Canal
|
||||
INSERT INTO "extent" VALUES('EPSG','2386','Greenland - Hayes Peninsula','Greenland - Hayes Peninsula.',75.86,79.2,-73.29,-60.98,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2387','USA - Alaska - Aleutian Islands east of 180°E','United States (USA) - Alaska - Aleutian Islands onshore east of 180°E.',51.54,54.34,-178.3,-164.84,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2388','USA - Alaska - Aleutian Islands west of 180°W','United States (USA) - Alaska - Aleutian Islands onshore west of 180°W.',51.3,53.07,172.42,179.86,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2389','USA - CONUS east of Mississippi River - onshore','United States (USA) - conterminous (contiguous) lower 48 states (CONUS) east of Mississippi River - onshore. Includes entire states of Louisiana; Missouri; Minnesota as well as parts of Alabama; Connecticut; Delaware; District of Columbia (DC); Florida; Georgia; Illinois; Indiana; Kentucky; Maine; Maryland; Massachusetts; Michigan; Mississippi; New Hampshire; New Jersey; New York; North Carolina; Ohio; Pennsylvania; Rhode Island; South Carolina; Tennessee; Vermont; Virginia; West Virginia; Wisconsin.',24.41,49.38,-97.22,-66.91,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2389','USA - CONUS east of Mississippi River - onshore','United States (USA) - CONUS east of Mississippi River - onshore - including entire states of Louisiana; Missouri; Minnesota as well as Alabama; Connecticut; Delaware; Florida; Georgia; Illinois; Indiana; Kentucky; Maine; Maryland; Massachusetts; Michigan; Mississippi; New Hampshire; New Jersey; New York; North Carolina; Ohio; Pennsylvania; Rhode Island; South Carolina; Tennessee; Vermont; Virginia; West Virginia; Wisconsin.',24.41,49.38,-97.22,-66.91,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2390','USA - CONUS west of Mississippi River - onshore','United States (USA) - CONUS west of Mississippi River - onshore - excludes those states covered under Area 2389 - Includes Arizona; Arkansas; California; Colorado; Idaho; Iowa; Kansas; Montana; Nebraska; Nevada; New Mexico; North Dakota; Oklahoma; Oregon; South Dakota; Texas; Utah; Washington; Wyoming.',25.83,49.05,-124.79,-89.64,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2391','Oman - Masirah Island','Oman - Masirah Island.',20.12,20.74,58.58,59.01,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2392','UAE - Abu al Bu Khoosh','United Arab Emirates (UAE) - Abu Dhabi offshore - Abu al Bu Khoosh.',25.33,25.54,53.03,53.4,0);
|
||||
@@ -1388,7 +1385,7 @@ INSERT INTO "extent" VALUES('EPSG','2405','Kazakhstan - Caspian Sea','Kazakhstan
|
||||
INSERT INTO "extent" VALUES('EPSG','2406','Qatar - offshore','Qatar - offshore.',24.64,27.05,50.55,53.04,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2407','Greenland - south of 72°N','Greenland - south of 72°N.',59.75,72.0,-55.0,-40.0,1);
|
||||
INSERT INTO "extent" VALUES('EPSG','2408','Japan - Okinawa','Japan - onshore Okinawa.',23.98,26.91,122.83,131.38,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2409','Asia - Japan and South Korea','Japan - onshore; Republic of Korea (South Korea) - onshore.',20.37,45.54,122.83,145.87,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2409','Asia - Japan and South Korea','Japan - onshore; South Korea - onshore.',20.37,45.54,122.83,145.87,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2410','Canada - NWT; Nunavut; Saskatchewan','Canada - Northwest Territories; Nunavut; Saskatchewan.',49.0,83.17,-136.46,-60.72,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2411','Asia - India mainland and Nepal','India - mainland onshore; Nepal.',8.02,35.51,68.13,97.42,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2412','USA - Alaska mainland','United States (USA) - Alaska mainland.',54.34,71.4,-168.26,-129.99,0);
|
||||
@@ -1506,9 +1503,9 @@ INSERT INTO "extent" VALUES('EPSG','2523','Japan - 32°N to 32°40''N; 131°E to
|
||||
INSERT INTO "extent" VALUES('EPSG','2524','Japan - 31°20''N to 32°N; 130°E to 131°E','Japan - onshore mainland 31°20''N to 32°N; 130°E to 131°E.',31.33,32.0,130.1,131.0,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2525','Japan - 31°20''N to 32°N; 131°E to 132°E','Japan - onshore 31°20''N to 32°N; 131°E to 132°E.',31.33,32.0,131.0,131.55,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2526','Japan - onshore mainland south of 31°20''N','Japan - onshore mainland south of 31°20''N.',30.94,31.34,130.14,131.19,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2527','USA - Texas - SPCS - SC','United States (USA) - Texas - counties of Aransas; Atascosa; Austin; Bandera; Bee; Bexar; Brazoria; Brewster; Caldwell; Calhoun; Chambers; Colorado; Comal; De Witt; Dimmit; Edwards; Fayette; Fort Bend; Frio; Galveston; Goliad; Gonzales; Guadalupe; Harris; Hays; Jackson; Jefferson; Karnes; Kendall; Kerr; Kinney; La Salle; Lavaca; Live Oak; Matagorda; Maverick; McMullen; Medina; Presidio; Real; Refugio; Terrell; Uvalde; Val Verde; Victoria; Waller; Wharton; Wilson; Zavala.',27.78,30.67,-105.0,-93.76,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2528','USA - Texas - SPCS - S','United States (USA) - Texas - counties of Brooks; Cameron; Duval; Hidalgo; Jim Hogg; Jim Wells; Kenedy; Kleberg; Nueces; San Patricio; Starr; Webb; Willacy; Zapata.',25.83,28.21,-100.2,-96.85,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2529','USA - Louisiana - SPCS - S','United States (USA) - Louisiana - counties of Acadia; Allen; Ascension; Assumption; Beauregard; Calcasieu; Cameron; East Baton Rouge; East Feliciana; Evangeline; Iberia; Iberville; Jefferson; Jefferson Davis; Lafayette; LaFourche; Livingston; Orleans; Plaquemines; Pointe Coupee; St Bernard; St Charles; St Helena; St James; St John the Baptist; St Landry; St Martin; St Mary; St Tammany; Tangipahoa; Terrebonne; Vermilion; Washington; West Baton Rouge; West Feliciana.',28.85,31.07,-93.94,-88.75,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2527','USA - Texas - SPCS83 - SC','United States (USA) - Texas - counties of Aransas; Atascosa; Austin; Bandera; Bee; Bexar; Brazoria; Brewster; Caldwell; Calhoun; Chambers; Colorado; Comal; De Witt; Dimmit; Edwards; Fayette; Fort Bend; Frio; Galveston; Goliad; Gonzales; Guadalupe; Harris; Hays; Jackson; Jefferson; Karnes; Kendall; Kerr; Kinney; La Salle; Lavaca; Live Oak; Matagorda; Maverick; McMullen; Medina; Presidio; Real; Refugio; Terrell; Uvalde; Val Verde; Victoria; Waller; Wharton; Wilson; Zavala.',27.78,30.67,-105.0,-93.76,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2528','USA - Texas - SPCS83 - S','United States (USA) - Texas - counties of Brooks; Cameron; Duval; Hidalgo; Jim Hogg; Jim Wells; Kenedy; Kleberg; Nueces; San Patricio; Starr; Webb; Willacy; Zapata.',25.83,28.21,-100.2,-96.85,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2529','USA - Louisiana - SPCS83 - S','United States (USA) - Louisiana - counties of Acadia; Allen; Ascension; Assumption; Beauregard; Calcasieu; Cameron; East Baton Rouge; East Feliciana; Evangeline; Iberia; Iberville; Jefferson; Jefferson Davis; Lafayette; LaFourche; Livingston; Orleans; Plaquemines; Pointe Coupee; St Bernard; St Charles; St Helena; St James; St John the Baptist; St Landry; St Martin; St Mary; St Tammany; Tangipahoa; Terrebonne; Vermilion; Washington; West Baton Rouge; West Feliciana.',28.85,31.07,-93.94,-88.75,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2530','UK - Northern Ireland - onshore','United Kingdom (UK) - Northern Ireland (Ulster) - onshore.',53.96,55.36,-8.18,-5.34,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2531','Denmark - onshore Jutland and Funen','Denmark - Jutland and Funen - onshore.',54.67,57.8,8.0,11.29,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2532','Denmark - onshore Zealand and Lolland','Denmark - Zealand and Lolland (onshore).',54.51,56.79,10.79,12.87,0);
|
||||
@@ -1520,10 +1517,10 @@ INSERT INTO "extent" VALUES('EPSG','2537','World - N hemisphere - 3-degree CM 03
|
||||
INSERT INTO "extent" VALUES('EPSG','2538','World - N hemisphere - 3-degree CM 039°E','Between 37°30''E and 40°30''E, northern hemisphere.',0.0,84.0,37.5,40.5,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2539','World - N hemisphere - 3-degree CM 042°E','Between 40°30''E and 43°30''E, northern hemisphere.',0.0,84.0,40.5,43.5,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2540','World - N hemisphere - 3-degree CM 045°E','Between 43°30''E and 46°30''E, northern hemisphere.',0.0,84.0,43.5,46.5,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2541','Germany - West Germany N','Germany - states of former West Germany - onshore north of 52°20''N.',52.33,55.09,6.56,11.59,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2541','Germany - West Germany N','Germany - states of former West Germany - onshore north of 52°20''N.',52.33,55.09,6.58,11.59,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2542','Germany - West Germany C','Germany - states of former West Germany - between 50°20''N and 52°20''N.',50.33,52.34,5.86,12.03,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2543','Germany - West Germany S','Germany - states of former West Germany - south of 50°20''N.',47.27,50.34,6.11,13.84,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2544','Germany - Thuringen','Germany - Thuringen.',50.2,51.65,9.87,12.66,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2544','Germany - Thuringen','Germany - Thuringen.',50.2,51.64,9.92,12.56,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2545','Germany - Saxony','Germany - Sachsen.',50.2,51.66,11.89,15.04,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2546','Romania - offshore','Romania - offshore.',43.44,45.2,28.64,31.41,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2547','Serbia and Montenegro - Montenegro','Serbia and Montenegro - Montenegro.',41.82,43.53,18.44,20.37,1);
|
||||
@@ -1581,8 +1578,8 @@ INSERT INTO "extent" VALUES('EPSG','2598','Algeria - District 3','Algeria - Dist
|
||||
INSERT INTO "extent" VALUES('EPSG','2599','Algeria - In Amenas','Algeria - In Amenas block.',27.5,28.3,8.83,9.92,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2600','Algeria - Hassi Bir Reikaz','Algeria - Hassi Bir Reikaz.',31.75,32.42,7.16,8.0,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2601','Norway - offshore north of 62°N; Svalbard','Norway - offshore north of 62°N. Also Svalbard - onshore and offshore.',62.0,84.73,-3.35,38.01,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2602','Palestine','Palestine.',31.21,32.55,34.17,35.58,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2603','Asia - Middle East - Israel and Palestine onshore','Israel - onshore; Palestine onshore.',29.45,33.28,34.17,35.69,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2602','Palestine Territory','Palestine Territory.',31.21,32.55,34.17,35.58,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2603','Asia - Middle East - Israel and Palestine Territory onshore','Israel - onshore; Palestine Territory - onshore.',29.45,33.28,34.17,35.69,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2604','World - N hemisphere - 3-degree CM 048°E','Between 46°30''E and 49°30''E, northern hemisphere.',0.0,84.0,46.5,49.5,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2605','World - N hemisphere - 3-degree CM 051°E','Between 49°30''E and 52°30''E, northern hemisphere.',0.0,84.0,49.5,52.5,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2606','World - N hemisphere - 3-degree CM 054°E','Between 52°30''E and 55°30''E, northern hemisphere.',0.0,84.0,52.5,55.5,0);
|
||||
@@ -1782,7 +1779,7 @@ INSERT INTO "extent" VALUES('EPSG','2799','UK - Outer Hebrides onshore','United
|
||||
INSERT INTO "extent" VALUES('EPSG','2800','UK - St. Kilda onshore','United Kingdom (UK) - Great Britain - Scotland - St Kilda onshore.',57.74,57.93,-8.74,-8.41,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2801','UK - Flannan Isles onshore','United Kingdom (UK) - Great Britain - Scotland - Flannan Isles onshore.',58.21,58.35,-7.75,-7.46,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2802','UK - Scilly Isles onshore','United Kingdom (UK) - Great Britain - England - Isles of Scilly onshore.',49.86,49.99,-6.41,-6.23,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2803','Isle of Man','Isle of Man - onshore.',54.02,54.44,-4.87,-4.27,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2803','Isle of Man - onshore','Isle of Man - onshore.',54.02,54.44,-4.87,-4.27,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2804','Europe - Austria and FR Yugoslavia','Austria; Boznia and Herzegovina; Croatia; Czech Republic; FYR Macedonia; Montenegro; Serbia; Slovakia; Slovenia.',40.86,51.05,9.53,23.03,1);
|
||||
INSERT INTO "extent" VALUES('EPSG','2805','Chile - Tierra del Fuego','Chile - Tierra del Fuego onshore.',-55.96,-51.99,-74.83,-66.33,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2806','Iran - northern Gulf coast','Iran - northern Gulf coast area.',29.0,31.67,47.75,50.83,1);
|
||||
@@ -1794,7 +1791,7 @@ INSERT INTO "extent" VALUES('EPSG','2811','French Polynesia - Society Islands -
|
||||
INSERT INTO "extent" VALUES('EPSG','2812','French Polynesia - Society Islands - Bora Bora, Huahine, Raiatea, Tahaa','French Polynesia - Society Islands - Bora Bora, Huahine, Raiatea and Tahaa.',-16.96,-16.17,-151.91,-150.89,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2813','New Caledonia - Ouvea','New Caledonia - Loyalty Islands - Ouvea.',-20.77,-20.34,166.44,166.71,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2814','New Caledonia - Lifou','New Caledonia - Loyalty Islands - Lifou.',-21.24,-20.62,166.98,167.52,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2815','Wallis and Futuna - Wallis','Wallis and Futuna - Wallis - onshore.',-13.42,-13.17,-176.29,-176.11,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2815','Wallis and Futuna - Wallis','Wallis and Futuna - Wallis.',-13.41,-13.16,-176.25,-176.07,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2816','French Southern Territories - Kerguelen onshore','French Southern Territories - Kerguelen onshore.',-49.78,-48.6,68.69,70.62,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2817','Antarctica - Adelie Land - Petrels island','Antarctica - Adelie Land - Petrels island.',-66.78,-66.1,139.44,141.5,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2818','Antarctica - Adelie Land coastal area','Antarctica - Adelie Land - coastal area between 136°E and 142°E.',-67.13,-65.61,136.0,142.0,0);
|
||||
@@ -1803,13 +1800,13 @@ INSERT INTO "extent" VALUES('EPSG','2820','New Caledonia - Ile des Pins','New Ca
|
||||
INSERT INTO "extent" VALUES('EPSG','2821','New Caledonia - Belep','New Caledonia - Belep.',-19.85,-19.5,163.54,163.75,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2822','New Caledonia - Grande Terre','New Caledonia - Grande Terre.',-22.45,-20.03,163.92,167.09,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2823','New Caledonia - Grande Terre - Noumea','New Caledonia - Grande Terre - Noumea district.',-22.37,-22.19,166.35,166.54,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2824','Caribbean - French Antilles','French Antilles onshore and offshore - Guadeloupe (including Grande Terre, Basse Terre, Marie Galante, Les Saintes, Iles de la Petite Terre, La Desirade); Martinique; St Barthélemy; St Martin.',14.08,18.54,-63.66,-57.52,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2824','Caribbean - French Antilles','French Antilles onshore and offshore - Guadeloupe (including Grande Terre, Basse Terre, Marie Galante, Les Saintes, Iles de la Petite Terre, La Desirade); Martinique; St Barthélemy; St Martin.',14.08,18.53,-63.66,-57.52,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2825','Africa - Ethiopia and Sudan - 30°E to 36°E','Ethiopia - west of 36°E. South Sudan - east of 30°E. Sudan - between 30°E and 36°E.',3.49,22.24,29.99,36.0,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2826','Africa - South Sudan and Sudan - west of 24°E','South Sudan and Sudan - west of 24°E.',8.7,15.76,21.82,24.01,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2827','Africa - South Sudan and Sudan - 24°E to 30°E','South Sudan and Sudan - between 24°E and 30°E.',4.21,22.01,23.99,30.01,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2828','Guadeloupe - St Martin and St Barthelemy - onshore','Guadeloupe - onshore - St Martin and St Barthélemy islands.',17.82,18.17,-63.21,-62.73,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2829','Guadeloupe - Grande-Terre and surrounding islands - onshore','Guadeloupe - onshore - Basse-Terre, Grande-Terre, La Desirade, Marie-Galante, Les Saintes.',15.8,16.55,-61.85,-60.97,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2830','World (by country)','World: Afghanistan; Albania; Algeria; American Samoa; Andorra; Angola; Anguilla; Antarctica; Antigua and Barbuda; Argentina; Armenia; Aruba; Australia; Austria; Azerbaijan; Bahamas; Bahrain; Bangladesh; Barbados; Belgium; Belarus; Belize; Benin; Bermuda; Bhutan; Bolivia; BES Islands - Bonaire, St Eustatius and Saba; Bosnia and Herzegovina; Botswana; Bouvet Island; Brazil; British Indian Ocean Territory; British Virgin Islands; Brunei; Bulgaria; Burkina Faso; Burundi; Cambodia; Cameroon; Canada; Cape Verde; Cayman Islands; Central African Republic; Chad; Chile; China; Christmas Island; Cocos (Keeling) Islands; Colombia; Comoros; Congo; Congo DR (Zaire); Cook Islands; Costa Rica; Côte d''Ivoire (Ivory Coast); Croatia; Cuba; Curacao; Cyprus; Czechia; Denmark; Djibouti; Dominica; Dominican Republic; East Timor; Ecuador; Egypt; El Salvador; Equatorial Guinea; Eritrea; Estonia; Eswatini (Swaziland); Ethiopia; Falkland Islands (Malvinas); Faroe Islands; Fiji; Finland; France; French Guiana; French Polynesia; French Southern Territories; Gabon; Gambia; Georgia; Germany; Ghana; Gibraltar; Greece; Greenland; Grenada; Guadeloupe; Guam; Guatemala; Guinea; Guinea-Bissau; Guyana; Haiti; Heard Island and McDonald Islands; Honduras; Hong Kong; Hungary; Iceland; India; Indonesia; Iran; Iraq; Ireland; Israel; Italy; Jamaica; Japan; Jordan; Kazakhstan; Kenya; Kiribati; Democratic People''s Republic of Korea (North Korea), Republic of Korea (South Korea), Kosovo; Kuwait; Kyrgyzstan; Laos; Latvia; Lebanon; Lesotho; Liberia; Libya; Liechtenstein; Lithuania; Luxembourg; Macao; Madagascar; Malawi; Malaysia; Maldives; Mali; Malta; Marshall Islands; Martinique; Mauritania; Mauritius; Mayotte; Mexico; Micronesia; Moldova; Monaco; Mongolia; Montenegro; Montserrat; Morocco; Mozambique; Myanmar (Burma); Namibia; Nauru; Nepal; Netherlands; New Caledonia; New Zealand; Nicaragua; Niger; Nigeria; Niue; Norfolk Island; North Macedonia; Northern Mariana Islands; Norway; Oman; Pakistan; Palau; Palestine; Panama; Papua New Guinea (PNG); Paraguay; Peru; Philippines; Pitcairn; Poland; Portugal; Puerto Rico; Qatar; Reunion; Romania; Russia; Rwanda; St Barthelemy; St Helena, Ascension and Tristan da Cunha; St Kitts and Nevis; St Lucia; St Maarten; St Martin; St Pierre and Miquelon; St Vincent and the Grenadines; Samoa; San Marino; Sao Tome and Principe; Saudi Arabia; Senegal; Serbia; Seychelles; Sierra Leone; Singapore; Slovakia; Slovenia; Solomon Islands; Somalia; South Africa; South Georgia and the South Sandwich Islands; South Sudan; Spain; Sri Lanka; Sudan; Suriname; Svalbard and Jan Mayen; Sweden; Switzerland; Syria; Taiwan; Tajikistan; Tanzania; Thailand; Togo; Tokelau; Tonga; Trinidad and Tobago; Tunisia; Türkiye (Turkey); Turkmenistan; Turks and Caicos Islands; Tuvalu; Uganda; Ukraine; United Arab Emirates (UAE); United Kingdom (UK); United States (USA); US Minor Outlying Islands; US Virgin Islands; Uruguay; Uzbekistan; Vanuatu; Vatican; Venezuela; Vietnam; Wallis and Futuna; Western Sahara; Yemen; Zambia; Zimbabwe.',-90.0,90.0,-180.0,180.0,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2830','World (by country)','World: Afghanistan, Albania, Algeria, American Samoa, Andorra, Angola, Anguilla, Antarctica, Antigua and Barbuda, Argentina, Armenia, Aruba, Australia, Austria, Azerbaijan, Bahamas, Bahrain, Bangladesh, Barbados, Belgium, Belgium, Belize, Benin, Bermuda, Bhutan, Bolivia, Bonaire, Saint Eustasius and Saba, Bosnia and Herzegovina, Botswana, Bouvet Island, Brazil, British Indian Ocean Territory, British Virgin Islands, Brunei Darussalam, Bulgaria, Burkina Faso, Burundi, Cambodia, Cameroon, Canada, Cape Verde, Cayman Islands, Central African Republic, Chad, Chile, China, Christmas Island, Cocos (Keeling) Islands, Comoros, Congo, Cook Islands, Costa Rica, Côte d''Ivoire (Ivory Coast), Croatia, Cuba, Curacao, Cyprus, Czechia, Denmark, Djibouti, Dominica, Dominican Republic, East Timor, Ecuador, Egypt, El Salvador, Equatorial Guinea, Eritrea, Estonia, Eswatini (Swaziland), Ethiopia, Falkland Islands (Malvinas), Faroe Islands, Fiji, Finland, France, French Guiana, French Polynesia, French Southern Territories, Gabon, Gambia, Georgia, Germany, Ghana, Gibraltar, Greece, Greenland, Grenada, Guadeloupe, Guam, Guatemala, Guinea, Guinea-Bissau, Guyana, Haiti, Heard Island and McDonald Islands, Holy See (Vatican City State), Honduras, China - Hong Kong, Hungary, Iceland, India, Indonesia, Islamic Republic of Iran, Iraq, Ireland, Israel, Italy, Jamaica, Japan, Jordan, Kazakhstan, Kenya, Kiribati, Democratic People''s Republic of Korea (North Korea), Republic of Korea (South Korea), Kosovo, Kuwait, Kyrgyzstan, Lao People''s Democratic Republic (Laos), Latvia, Lebanon, Lesotho, Liberia, Libyan Arab Jamahiriya, Liechtenstein, Lithuania, Luxembourg, China - Macao, Madagascar, Malawi, Malaysia, Maldives, Mali, Malta, Marshall Islands, Martinique, Mauritania, Mauritius, Mayotte, Mexico, Federated States of Micronesia, Monaco, Mongolia, Montenegro, Montserrat, Morocco, Mozambique, Myanmar (Burma), Namibia, Nauru, Nepal, Netherlands, New Caledonia, New Zealand, Nicaragua, Niger, Nigeria, Niue, Norfolk Island, North Macedonia, Northern Mariana Islands, Norway, Oman, Pakistan, Palau, Panama, Papua New Guinea (PNG), Paraguay, Peru, Philippines, Pitcairn, Poland, Portugal, Puerto Rico, Qatar, Reunion, Romania, Russian Federation, Rwanda, St Barthelemy, St Kitts and Nevis, St Helena, Ascension and Tristan da Cunha, St Lucia, St Martin, St Pierre and Miquelon, Saint Vincent and the Grenadines, Samoa, San Marino, Sao Tome and Principe, Saudi Arabia, Senegal, Serbia, Seychelles, Sierra Leone, Singapore, Slovakia (Slovak Republic), Slovenia, St Maarten, Solomon Islands, Somalia, South Africa, South Georgia and the South Sandwich Islands, South Sudan, Spain, Sri Lanka, Sudan, Suriname, Svalbard and Jan Mayen, Sweden, Switzerland, Syrian Arab Republic, Taiwan, Tajikistan, United Republic of Tanzania, Thailand, The Democratic Republic of the Congo (Zaire), Togo, Tokelau, Tonga, Trinidad and Tobago, Tunisia, Türkiye (Turkey), Turkmenistan, Turks and Caicos Islands, Tuvalu, Uganda, Ukraine, United Arab Emirates (UAE), United Kingdom (UK), United States (USA), United States Minor Outlying Islands, Uruguay, Uzbekistan, Vanuatu, Venezuela, Vietnam, US Virgin Islands, Wallis and Futuna, Western Sahara, Yemen, Zambia, Zimbabwe.',-90.0,90.0,-180.0,180.0,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2831','Canada - Atlantic offshore','Canada - offshore Newfoundland and Labrador, New Brunswick and Nova Scotia - west of 44°W and north of 40°N.',40.0,64.21,-67.75,-43.99,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2832','Canada - British Columbia','Canada - British Columbia.',48.25,60.01,-139.04,-114.08,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2833','Sweden - 12 00','Sweden - communes west of approximately 12°45''E and south of approximately 60°N. See information source for map.',56.74,60.13,10.93,13.11,0);
|
||||
@@ -1830,7 +1827,7 @@ INSERT INTO "extent" VALUES('EPSG','2847','Sweden - 2.5 gon W','Sweden - commune
|
||||
INSERT INTO "extent" VALUES('EPSG','2848','Sweden - 0 gon','Sweden - communes between approximately 16°55''E and 19°10''E; Gotland. See information source for map.',56.86,68.54,16.08,20.22,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2849','Sweden - 2.5 gon E','Sweden - communes between approximately 19°10''E and 21°25''E. See information source for map.',63.37,69.07,18.4,22.2,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2850','Sweden - 5 gon E','Sweden - east of approximately 21°26''E. See information source for map.',65.24,68.58,21.34,24.17,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2851','Iceland - mainland west of 24°W','Iceland - mainland west of 24°W.',64.71,65.86,-24.63,-24.0,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2851','Iceland - mainland west of 24°W','Iceland - mainland west of 24°W.',64.71,65.85,-24.66,-24.0,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2852','Iceland - mainland 24°W to 18°W','Iceland - mainland between 24°W and 18°W.',63.34,66.52,-24.0,-18.0,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2853','Iceland - mainland east of 18°W','Iceland - mainland east of 18°W.',63.45,66.58,-18.0,-13.38,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2854','Europe - 36°W to 30°W','Europe - between 36°W and 30°W.',39.3,39.85,-36.0,-30.0,1);
|
||||
@@ -1839,9 +1836,9 @@ INSERT INTO "extent" VALUES('EPSG','2856','Europe - 24°W to 18°W','Europe - be
|
||||
INSERT INTO "extent" VALUES('EPSG','2857','Europe - 18°W to 12°W','Europe - between 18°W and 12°W.',27.6,66.55,-18.0,-12.0,1);
|
||||
INSERT INTO "extent" VALUES('EPSG','2858','Europe - 12°W to 6°W','Europe - between 12°W and 6°W.',36.0,62.33,-12.0,-6.0,1);
|
||||
INSERT INTO "extent" VALUES('EPSG','2859','Europe - 6°W to 0°W','Europe - between 6°W and 0°W.',34.75,62.33,-6.0,0.0,1);
|
||||
INSERT INTO "extent" VALUES('EPSG','2860','Germany - west of 6°E','Germany - onshore and offshore west of 6°E.',50.97,55.92,3.34,6.01,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2861','Germany - 6°E to 12°E','Germany - onshore and offshore between 6°E and 12°E - Baden-Wurtemberg, Bayern, Bremen, Hamburg, Hessen, Mecklenburg-Vorpommern, Niedersachsen, Nordrhein-Westfalen, Rheinland-Pfalz, Saarland, Sachsen, Sachsen-Anhalt, Schleswig-Holstein, Thuringen.',47.27,55.47,6.0,12.01,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2862','Germany - east of 12°E','Germany - onshore and offshore east of 12°E, together with that part of Brandenburg state west of 12°E - Bayern, Berlin, Brandenburg (all state), Mecklenburg-Vorpommern, Sachsen, Sachsen-Anhalt, Thuringen.',47.46,55.03,11.57,15.04,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2860','Germany - west of 6°E','Germany - onshore and offshore west of 6°E.',50.97,55.92,3.34,6.0,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2861','Germany - 6°E to 12°E','Germany - onshore and offshore between 6°E and 12°E, including Mecklenburg-Vorpommern west of 12°E and Schleswig-Holstein.',47.27,55.47,6.0,12.0,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2862','Germany - east of 12°E','Germany - onshore and offshore east of 12°E, including Brandenburg (all state, including that part west of 12°E) and Mecklenburg-Vorpommern east of 12°E.',47.46,55.03,11.57,15.04,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2863','Europe - 18°E to 24°E','Europe - between 18°E and 24°E.',34.8,75.0,18.0,24.0,1);
|
||||
INSERT INTO "extent" VALUES('EPSG','2864','Europe - 24°E to 30°E','Europe - between 24°E and 30°E.',34.8,75.0,24.0,30.0,1);
|
||||
INSERT INTO "extent" VALUES('EPSG','2865','Europe - 30°E to 36°E','Europe - between 30°E and 36°E.',34.5,75.0,30.0,36.0,1);
|
||||
@@ -1858,7 +1855,7 @@ INSERT INTO "extent" VALUES('EPSG','2875','Portugal - Azores C - S Jorge onshore
|
||||
INSERT INTO "extent" VALUES('EPSG','2876','Asia - Middle East - Iraq-Kuwait boundary','Iraq - Kuwait boundary.',29.06,30.32,46.36,48.61,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2877','Slovenia - Slovenska Bistrica','Slovenia - Slovenska Bistrica with the Dravinja River Basin, area of Boc and parts of the Haloze and the Kozjansko region.',46.14,46.46,15.31,16.0,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2878','Slovenia - Slovenske Gorice','Slovenia - Slovenske Gorice (the Slovene Humpback) with the broad region of Ormoz.',46.29,46.76,15.9,16.3,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2879','Germany - offshore North Sea','Germany - offshore North Sea.',53.58,55.92,3.34,8.88,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2879','Germany - offshore North Sea','Germany - offshore North Sea.',53.6,55.92,3.34,8.88,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2880','Antarctica - Australian sector north of 80°S','Antarctica - north of 80°S and between 45°E and 136°E and between 142°E and 160°E - Australian sector north of 80°S.',-80.0,-60.0,45.0,160.0,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2881','Europe - LCC & LAEA','Europe - European Union (EU) countries and candidates. Europe - onshore and offshore: Albania; Andorra; Austria; Belgium; Bosnia and Herzegovina; Bulgaria; Croatia; Cyprus; Czechia; Denmark; Estonia; Faroe Islands; Finland; France; Germany; Gibraltar; Greece; Hungary; Iceland; Ireland; Italy; Kosovo; Latvia; Liechtenstein; Lithuania; Luxembourg; Malta; Monaco; Montenegro; Netherlands; North Macedonia; Norway including Svalbard and Jan Mayen; Poland; Portugal including Madeira and Azores; Romania; San Marino; Serbia; Slovakia; Slovenia; Spain including Canary Islands; Sweden; Switzerland; Türkiye (Turkey); United Kingdom (UK) including Channel Islands and Isle of Man; Vatican City State.',24.6,84.73,-35.58,44.83,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2882','Italy - Adriatic - North Ancona','Italy - offshore - Adriatic Sea - North Ancona.',43.62,45.73,12.22,13.96,0);
|
||||
@@ -1875,7 +1872,7 @@ INSERT INTO "extent" VALUES('EPSG','2892','Guadeloupe - Grande-Terre and Basse-T
|
||||
INSERT INTO "extent" VALUES('EPSG','2893','Guadeloupe - La Desirade - onshore','Guadeloupe - onshore - La Desirade.',16.26,16.38,-61.13,-60.97,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2894','Guadeloupe - Marie-Galante - onshore','Guadeloupe - onshore - Marie-Galante.',15.8,16.05,-61.39,-61.13,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2895','Guadeloupe - Les Saintes - onshore','Guadeloupe - onshore - Les Saintes.',15.8,15.94,-61.68,-61.52,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2896','Asia - Middle East - Israel, Palestine, Turkey - offshore','Israel and Palestine - offshore Mediterranean Sea; Türkiye (Turkey) - offshore Black Sea.',31.35,43.45,28.03,41.47,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2896','Asia - Middle East - Israel, Palestine Territory, Turkey - offshore','Israel and Palestine Territory - offshore Mediterranean Sea; Türkiye (Turkey) - offshore Black Sea.',31.35,43.45,28.03,41.47,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2897','Asia - Middle East - Israel and Palestine Territory offshore','Israel and Palestine Territory - offshore Mediterranean Sea.',31.33,33.1,33.5,35.1,1);
|
||||
INSERT INTO "extent" VALUES('EPSG','2898','Germany - Berlin','Germany - Berlin.',52.33,52.65,13.09,13.76,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2899','Australia - 126°E to 132°E, 8°S to 12°S (SC52) onshore','Australia - onshore mainland between 8°S and 12°S and 126°E and 132°E.',-12.0,-11.07,131.02,132.0,0);
|
||||
@@ -1927,7 +1924,7 @@ INSERT INTO "extent" VALUES('EPSG','2944','Australia - 138°E to 144°E, 36°S t
|
||||
INSERT INTO "extent" VALUES('EPSG','2945','Australia - 144°E to 150°E, 36°S to 40°S (SJ55) onshore','Australia - onshore mainland between 36°S and 40°S and 144°E and 150°E.',-39.2,-36.0,144.0,150.0,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2946','Australia - 150°E to 156°E, 36°S to 40°S (SJ56) onshore','Australia - onshore mainland between 36°S and 40°S and 150°E and 156°E.',-37.57,-36.0,150.0,150.22,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2947','Australia - Tasmania mainland onshore','Australia - Tasmania mainland - onshore.',-43.7,-40.24,144.55,148.44,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2948','USA - CONUS east of 89°W - onshore','United States (USA) - conterminous (contiguous) lower 48 states (CONUS) east of 89°W - onshore - Alabama; Connecticut; Delaware; District of Columbia (DC); Florida; Georgia; llinois; Indiana; Kentucky; Maine; Maryland; Massachusetts; Michigan; Mississippi; New Hampshire; New Jersey; New York; North Carolina; Ohio; Pennsylvania; Rhode Island; South Carolina; Tennessee; Vermont; Virginia; West Virginia; Wisconsin.',24.41,48.32,-89.0,-66.91,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2948','USA - CONUS east of 89°W - onshore','United States (USA) - CONUS east of 89°W - onshore - Alabama; Connecticut; Delaware; Florida; Georgia; llinois; Indiana; Kentucky; Maine; Maryland; Massachusetts; Michigan; Mississippi; New Hampshire; New Jersey; New York; North Carolina; Ohio; Pennsylvania; Rhode Island; South Carolina; Tennessee; Vermont; Virginia; West Virginia; Wisconsin.',24.41,48.32,-89.0,-66.91,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2949','USA - CONUS 89°W-107°W - onshore','United States (USA) - CONUS between 89°W and 107°W - onshore - Arkansas; Colorado; Illinois; Iowa; Kansas; Louisiana; Michigan; Minnesota; Mississippi; Missouri; Montana; Nebraska; New Mexico; North Dakota; Oklahoma; South Dakota; Tennessee; Texas; Wisconsin; Wyoming.',25.83,49.38,-107.0,-89.0,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2950','USA - CONUS west of 107°W - onshore','United States (USA) - CONUS west of 107°W - onshore - Arizona; California; Colorado; Idaho; Montana; Nevada; New Mexico; Oregon; Utah; Washington; Wyoming.',31.33,49.05,-124.79,-107.0,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2951','Japan - 120°E to 126°E onshore','Japan - onshore west of 126°E.',23.98,24.94,123.62,125.51,0);
|
||||
@@ -1955,7 +1952,7 @@ INSERT INTO "extent" VALUES('EPSG','2972','Mauritania - Nouakchutt','Mauritania
|
||||
INSERT INTO "extent" VALUES('EPSG','2973','USA - CONUS south of 41°N, west of 112°W - onshore','United States (USA) - CONUS onshore south of 41°N and west of 112°W - Arizona west of 112°W; California and Nevada south of 41°N; Utah south of 41°N and west of 112°W.',31.64,41.0,-124.45,-112.0,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2974','USA - CONUS south of 41°N, 112°W to 95°W - onshore','United States (USA) - CONUS onshore south of 41°N and between 112°W and 95°W - Colorado and New Mexico; Arizona east of 112°W; Utah south of 41°N and east of 112°W; Nebraska south of 41°N; Iowa south of 41°N and west of 95°W; Kansas, Missouri, Oklahoma and Texas west of 95°W.',25.83,41.01,-112.0,-94.99,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2975','USA - CONUS south of 41°N, 95°W to 78°W - onshore','United States (USA) - CONUS onshore south of 41°N and between 95°W and 78°W - Alabama, Arkansas, Florida, Georgia, Kentucky, Louisiana, Mississippi, South Carolina and Tennessee; Kansas, Missouri, Oklahoma and Texas east of 95°W; Iowa south of 41°N and east of 95°W; Illinois, Indiana and Ohio south of 41°N; Pennsylvania south of 41°N and west of 78°W; Maryland, North Carolina, Virginia and West Virginia west of 78°W.',24.41,41.01,-95.0,-77.99,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2976','USA - CONUS south of 41°N, east of 78°W - onshore','United States (USA) - conterminous (contiguous) lower 48 states (CONUS) onshore - south of 41°N and east of 78°W - Delaware; District of Columbia (DC); Maryland, North Carolina, Virginia and West Virginia east of 78°W; Pennsylvania south of 41°N and east of 78°W; New Jersey and New York south of 41°N.',33.84,41.01,-78.0,-71.9,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2976','USA - CONUS south of 41°N, east of 78°W - onshore','United States (USA) - CONUS onshore - south of 41°N and east of 78°W - Delaware; Maryland, North Carolina, Virginia and West Virginia east of 78°W; Pennsylvania south of 41°N and east of 78°W; New Jersey and New York south of 41°N.',33.84,41.01,-78.0,-71.9,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2977','USA - CONUS north of 41°N, west of 112°W - onshore','United States (USA) - CONUS onshore north of 41°N and west of 112°W - Oregon and Washington; California and Nevada north of 41°N; Utah north of 41°N and west of 112°W; Idaho and Montana west of 112°W.',41.0,49.05,-124.79,-112.0,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2978','USA - CONUS north of 41°N, 112°W to 95°W','United States (USA) - CONUS north of 41°N and between 112°W and 95°W - North Dakota, South Dakota and Wyoming; Idaho and Montana east of 112°W; Utah north of 41°N and east of 112°W; Nebraska north of 41°N; Iowa north of 41°N and west of 95°W; Minnesota west of 95°W.',41.0,49.38,-112.0,-95.0,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2979','USA - CONUS north of 41°N, 95°W to 78°W','United States (USA) - CONUS north of 41°N and between 95°W and 78°W - Michigan and Wisconsin; Minnesota east of 95°W; Iowa north of 41°N and east of 95°W; Illinois, Indiana and Ohio north of 41°N; Pennsylvania north of 41°N and west of 78°W; New York west of 78°W.',41.0,49.37,-95.0,-77.99,0);
|
||||
@@ -1967,8 +1964,8 @@ INSERT INTO "extent" VALUES('EPSG','2984','Pakistan - Badin and Mehran','Pakista
|
||||
INSERT INTO "extent" VALUES('EPSG','2985','Pakistan - offshore Indus','Pakistan - offshore Indus fan.',21.05,25.39,64.0,68.24,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2986','Australia - SA','Australia - South Australia.',-38.13,-25.99,128.99,141.01,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2987','Libya - Amal','Libya - Amal field.',29.1,29.8,20.8,21.4,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2988','Jersey','Channel Islands - Jersey, Les Ecrehos and Les Minquiers - onshore and offshore.',48.87,49.44,-2.56,-1.81,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2989','Guernsey','Channel Islands - Guernsey, Alderney, Sark, Herm, Brecqhou, Jethou, Lihou - onshore and offshore.',49.21,49.94,-3.06,-2.03,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2988','Channel Islands - Jersey, Les Ecrehos and Les Minquiers','Channel Islands - Jersey, Les Ecrehos and Les Minquiers - onshore and offshore.',48.87,49.44,-2.56,-1.81,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2989','Channel Islands - Guernsey, Alderney, Sark','Channel Islands - Guernsey, Alderney, Sark, Herm, Brecqhou, Jethou, Lihou - onshore and offshore.',49.21,49.94,-3.06,-2.03,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2990','Australia - Brisbane','Australia - Brisbane and surrounding area. Also applicable in other local authorities in south-east Queensland (Gold Coast, Logan, Ipswich, Scenic Rim, Redland, Moreton Bay, Sunshine Coast, Noosa, eastern part of Gympie, eastern part of Fraser Coast) and north-east New South Wales (Tweed, Byron, Lismore, Kyogle, Ballina and Richmond Valley).',-29.36,-24.64,152.37,153.69,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2991','Antarctica - 60°S to 64°S, 72°W to 60°W (SP19-20)','Antarctica - 60°S to 64°S and 72°W to 60°W.',-64.0,-60.0,-72.0,-60.0,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2992','Antarctica - 60°S to 64°S, 60°W to 48°W (SP21-22)','Antarctica - 60°S to 64°S and 60°W to 48°W.',-64.0,-60.0,-60.0,-48.0,0);
|
||||
@@ -2096,7 +2093,7 @@ INSERT INTO "extent" VALUES('EPSG','3113','Nigeria - OML 58','Nigeria - block OM
|
||||
INSERT INTO "extent" VALUES('EPSG','3114','North America - 96°W to 90°W and NAD83 by country','North America - between 96°W and 90°W - onshore and offshore. Canada - Manitoba; Nunavut; Ontario. United States (USA) - Arkansas; Illinois; Iowa; Kansas; Louisiana; Michigan; Minnesota; Mississippi; Missouri; Nebraska; Oklahoma; Tennessee; Texas; Wisconsin.',25.61,84.0,-96.0,-90.0,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','3115','North America - 90°W to 84°W and NAD83 by country','North America - between 90°W and 84°W - onshore and offshore. Canada - Manitoba; Nunavut; Ontario. United States (USA) - Alabama; Arkansas; Florida; Georgia; Indiana; Illinois; Kentucky; Louisiana; Michigan; Minnesota; Mississippi; Missouri; North Carolina; Ohio; Tennessee; Wisconsin.',23.97,84.0,-90.0,-84.0,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','3116','North America - 84°W to 78°W and NAD83 by country','North America - between 84°W and 78°W - onshore and offshore. Canada - Nunavut; Ontario; Quebec. United States (USA) - Florida; Georgia; Kentucky; Maryland; Michigan; New York; North Carolina; Ohio; Pennsylvania; South Carolina; Tennessee; Virginia; West Virginia.',23.81,84.0,-84.0,-78.0,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','3117','North America - 78°W to 72°W and NAD83 by country','North America - between 78°W and 72°W - onshore and offshore. Canada - Nunavut; Ontario; Quebec. United States (USA) - Connecticut; Delaware; District of Columbia (DC); Maryland; Massachusetts; New Hampshire; New Jersey; New York; North Carolina; Pennsylvania; Virginia; Vermont.',28.28,84.0,-78.0,-72.0,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','3117','North America - 78°W to 72°W and NAD83 by country','North America - between 78°W and 72°W - onshore and offshore. Canada - Nunavut; Ontario; Quebec. United States (USA) - Connecticut; Delaware; Maryland; Massachusetts; New Hampshire; New Jersey; New York; North Carolina; Pennsylvania; Virginia; Vermont.',28.28,84.0,-78.0,-72.0,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','3118','Grenada - main island - onshore','Grenada - main island - onshore.',11.94,12.29,-61.84,-61.54,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','3119','Greenland - onshore','Greenland - onshore.',59.74,83.67,-73.29,-11.81,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','3120','French Polynesia - west of 150°W','French Polynesia - west of 150°W onshore and offshore.',-26.7,-12.5,-158.13,-150.0,0);
|
||||
@@ -2155,7 +2152,7 @@ INSERT INTO "extent" VALUES('EPSG','3172','Pacific Ocean','Pacific Ocean - Ameri
|
||||
INSERT INTO "extent" VALUES('EPSG','3173','Europe - FSU - CS63 zone C0','Estonia, Latvia and Lithuania - onshore west of 23°27''E. Russia - Kaliningrad onshore.',54.17,59.27,19.57,23.45,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','3174','Europe - FSU - CS63 zone C1','Estonia, Latvia and Lithuania - onshore between 23°27''E and 26°27''E.',53.89,59.72,23.45,26.45,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','3175','Europe - FSU - CS63 zone C2','Estonia, Latvia and Lithuania - onshore east of 26°27''E.',55.15,59.61,26.45,28.24,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','3176','Brazil - 54°W to 48°W and 15°S to 32°45''S','Brazil - onshore between 54°W and 48°W and between 15°S and 32°45''S.',-32.75,-15.0,-54.0,-48.0,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','3176','Brazil - 54°W to 48°W and south of 15°S','Brazil - onshore between 54°W and 48°W and south of 15°S.',-33.78,-15.0,-54.0,-48.0,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','3177','Brazil - 48°W to 42°W and south of 15°S','Brazil - onshore between 48°W and 42°W and south of 15°S.',-25.29,-15.0,-48.0,-42.0,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','3178','Brazil - east of 36°W onshore','Brazil - onshore east of 36°W .',-10.1,-4.99,-36.0,-34.74,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','3179','Africa - Angola (Cabinda) and DR Congo (Zaire) - coastal','Angola (Cabinda) - onshore and offshore; The Democratic Republic of the Congo (Zaire) - onshore coastal area and offshore.',-6.04,-4.38,10.53,13.1,0);
|
||||
@@ -2216,7 +2213,7 @@ INSERT INTO "extent" VALUES('EPSG','3233','Cote d''Ivoire (Ivory Coast) - onshor
|
||||
INSERT INTO "extent" VALUES('EPSG','3234','Croatia - onshore','Croatia - onshore.',42.34,46.54,13.43,19.43,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','3235','Cuba - onshore','Cuba - onshore.',19.77,23.25,-85.01,-74.07,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','3236','Cyprus - onshore','Cyprus - onshore.',34.59,35.74,32.2,34.65,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','3237','Denmark - onshore','Denmark - onshore.',54.5,57.81,7.98,15.28,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','3237','Denmark - onshore','Denmark - onshore.',54.51,57.8,8.0,15.25,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','3238','Djibouti - onshore','Djibouti - onshore.',10.94,12.72,41.75,43.48,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','3239','Dominica - onshore','Dominica - onshore.',15.14,15.69,-61.55,-61.2,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','3240','Dominican Republic - onshore','Dominican Republic - onshore.',17.55,19.99,-72.01,-68.27,0);
|
||||
@@ -2233,7 +2230,7 @@ INSERT INTO "extent" VALUES('EPSG','3250','Gambia - onshore','Gambia - onshore.'
|
||||
INSERT INTO "extent" VALUES('EPSG','3251','Georgia - onshore','Georgia - onshore.',41.04,43.59,39.99,46.72,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','3252','Ghana - onshore','Ghana - onshore.',4.67,11.16,-3.25,1.23,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','3253','Gibraltar - onshore','Gibraltar - onshore.',36.07,36.16,-5.42,-5.27,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','3254','Greece - onshore','Greece - onshore.',34.75,41.75,19.57,29.69,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','3254','Greece - onshore','Greece - onshore.',34.88,41.75,19.57,28.3,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','3255','Guam - onshore','Guam - onshore.',13.18,13.7,144.58,145.01,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','3256','Guatemala - onshore','Guatemala - onshore.',13.69,17.83,-92.29,-88.19,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','3257','Guinea - onshore','Guinea - onshore.',7.19,12.68,-15.13,-7.65,0);
|
||||
@@ -2241,11 +2238,11 @@ INSERT INTO "extent" VALUES('EPSG','3258','Guinea-Bissau - onshore','Guinea-Biss
|
||||
INSERT INTO "extent" VALUES('EPSG','3259','Guyana - onshore','Guyana - onshore.',1.18,8.58,-61.39,-56.47,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','3260','Haiti - onshore','Haiti - onshore.',17.97,20.15,-74.52,-71.62,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','3261','Honduras - onshore','Honduras - onshore.',12.98,16.49,-89.36,-83.08,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','3262','Iceland - mainland','Iceland - mainland.',63.34,66.59,-24.63,-13.38,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','3262','Iceland - mainland','Iceland - mainland.',63.34,66.59,-24.66,-13.38,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','3263','Japan - onshore mainland','Japan - onshore mainland - Hokkaido, Honshu, Shikoku, Kyushu.',30.94,45.54,129.3,145.87,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','3264','Kenya - onshore','Kenya - onshore.',-4.72,4.63,33.9,41.91,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','3265','North Korea - onshore','Democratic People''s Republic of Korea (North Korea) - onshore.',37.62,43.01,124.27,130.75,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','3266','South Korea - onshore','Republic of Korea (South Korea) - onshore.',33.14,38.64,124.53,131.01,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','3265','Korea, Democratic People''s Republic of (North Korea) - onshore','Democratic People''s Republic of Korea (North Korea) - onshore.',37.62,43.01,124.27,130.75,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','3266','Korea, Republic of (South Korea) - onshore','Republic of Korea (South Korea) - onshore.',33.14,38.64,124.53,131.01,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','3267','Kuwait - onshore','Kuwait - onshore.',28.53,30.09,46.54,48.48,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','3268','Latvia - onshore','Latvia - onshore.',55.67,58.09,20.87,28.24,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','3269','Lebanon - onshore','Lebanon - onshore.',33.06,34.65,35.04,36.63,0);
|
||||
@@ -2313,8 +2310,8 @@ INSERT INTO "extent" VALUES('EPSG','3330','Virgin Islands, US - onshore','US Vir
|
||||
INSERT INTO "extent" VALUES('EPSG','3331','Western Sahara - onshore','Western Sahara - onshore.',20.71,27.67,-17.16,-8.66,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','3332','Yemen - onshore','Yemen - onshore.',12.09,19.0,41.8,54.53,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','3333','Finland - onshore','Finland - onshore.',59.75,70.09,19.24,31.59,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','3334','Hong Kong - onshore','Hong Kong - onshore.',22.19,22.56,113.82,114.39,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','3335','Hong Kong - offshore','Hong Kong - offshore.',22.13,22.58,113.76,114.51,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','3334','China - Hong Kong - onshore','China - Hong Kong - onshore.',22.19,22.56,113.82,114.39,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','3335','China - Hong Kong - offshore','China - Hong Kong - offshore.',22.13,22.58,113.76,114.51,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','3336','Iran - onshore','Iran - onshore.',25.02,39.78,44.03,63.34,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','3337','Reunion - onshore','Reunion - onshore.',-21.42,-20.81,55.16,55.91,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','3338','New Zealand - Stewart Island','New Zealand - Stewart Island.',-47.33,-46.63,167.29,168.34,0);
|
||||
@@ -2408,7 +2405,7 @@ INSERT INTO "extent" VALUES('EPSG','3425','Mexico - 108°W to 102°W','Mexico be
|
||||
INSERT INTO "extent" VALUES('EPSG','3426','Mexico - 102°W to 96°W','Mexico between 102°W and 96°W, onshore and offshore.',12.3,29.81,-102.0,-96.0,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','3427','Latin America - 96°W to 90°W; N hemisphere and SIRGAS 2000 by country','Latin America - Central and South America - between 96°W and 90°W, northern hemisphere, onshore and offshore.',0.0,26.0,-96.0,-90.0,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','3428','Latin America - 90°W to 84°W; N hemisphere and SIRGAS 2000 by country','Latin America - Central America and South America - between 90°W and 84°W, northern hemisphere, onshore and offshore.',0.0,25.77,-90.0,-83.99,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','3429','Spain - mainland and Balearic Islands onshore','Spain - mainland, Balearic Islands and Ceuta - onshore.',35.84,43.82,-9.37,4.39,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','3429','Spain - mainland and Balearic Islands onshore','Spain - mainland, Balearic Islands, Ceuta and Melila - onshore.',35.26,43.82,-9.37,4.39,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','3430','New Caledonia - Belep, Grande Terre, Ile des Pins, Loyalty Islands','New Caledonia - Belep, Grande Terre, Ile des Pins, Loyalty Islands (Lifou, Mare, Ouvea).',-22.73,-19.5,163.54,168.19,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','3431','New Caledonia - west of 162°E','New Caledonia - west of 162°E onshore and offshore.',-26.03,-15.34,156.25,162.01,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','3432','New Caledonia - 162°E to 168°E','New Caledonia - between 162°E and 168°E onshore and offshore.',-26.45,-14.83,162.0,168.0,0);
|
||||
@@ -2484,7 +2481,7 @@ INSERT INTO "extent" VALUES('EPSG','3501','USA - 102°W to 96°W','United States
|
||||
INSERT INTO "extent" VALUES('EPSG','3502','USA - 96°W to 90°W','United States (USA) - between 96°W and 90°W onshore and offshore - Arkansas; Illinois; Iowa; Kansas; Louisiana; Michigan; Minnesota; Mississippi; Missouri; Nebraska; Oklahoma; Tennessee; Texas; Wisconsin.',25.61,49.38,-96.01,-90.0,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','3503','USA - 90°W to 84°W','United States (USA) - between 90°W and 84°W onshore and offshore - Alabama; Arkansas; Florida; Georgia; Indiana; Illinois; Kentucky; Louisiana; Michigan; Minnesota; Mississippi; Missouri; North Carolina; Ohio; Tennessee; Wisconsin.',23.97,48.32,-90.0,-84.0,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','3504','USA - 84°W to 78°W','United States (USA) - between 84°W and 78°W onshore and offshore - Florida; Georgia; Kentucky; Maryland; Michigan; New York; North Carolina; Ohio; Pennsylvania; South Carolina; Tennessee; Virginia; West Virginia.',23.81,46.13,-84.0,-78.0,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','3505','USA - 78°W to 72°W','United States (USA) - between 78°W and 72°W onshore and offshore - Connecticut; Delaware; District of Columbia (DC); Maryland; Massachusetts; New Hampshire; New Jersey; New York; North Carolina; Pennsylvania; Virginia; Vermont.',28.28,45.03,-78.0,-72.0,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','3505','USA - 78°W to 72°W','United States (USA) - between 78°W and 72°W onshore and offshore - Connecticut; Delaware; Maryland; Massachusetts; New Hampshire; New Jersey; New York; North Carolina; Pennsylvania; Virginia; Vermont.',28.28,45.03,-78.0,-72.0,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','3506','USA - 72°W to 66°W','United States (USA) - between 72°W and 66°W onshore and offshore - Connecticut; Maine; Massachusetts; New Hampshire; New York (Long Island); Rhode Island; Vermont.',33.61,47.47,-72.0,-65.99,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','3507','China - Tarim - 77.5°E to 88°E and 37°N to 42°N','China - south and west Tarim basin.',37.0,41.99,77.45,88.0,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','3508','New Zealand - offshore Pacific Ocean, Southern Ocean','Southwestern Pacific Ocean and Southern Ocean areas surrounding New Zealand.',-60.0,-25.0,155.0,-169.99,0);
|
||||
@@ -2504,7 +2501,7 @@ INSERT INTO "extent" VALUES('EPSG','3521','Indonesia - 129°E to 132°E onshore'
|
||||
INSERT INTO "extent" VALUES('EPSG','3522','Indonesia - 132°E to 135°E onshore','Indonesia - onshore between 132°E and 135°E.',-7.3,-0.29,132.0,135.0,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','3523','Indonesia - 135°E to 138°E onshore','Indonesia - onshore between 135°E and 138°E.',-8.49,-0.58,135.0,138.0,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','3524','Canada - 72°W to 66°W','Canada between 72°W and 66°W onshore and offshore - New Brunswick, Labrador, Nova Scotia, Nunavut, Quebec.',40.8,84.0,-72.0,-66.0,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','3525','Canada - 66°W to 60°W','Canada between 66°W and 60°W onshore and offshore - New Brunswick, Labrador, Nova Scotia, Nunavut, Prince Edward Island, Quebec.',38.21,84.0,-66.0,-59.99,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','3525','Canada - 66°W to 60°W','Canada between 66°W and 60°W onshore and offshore - New Brunswick, Labrador, Nova Scotia, Nunavut, Prince Edward Island, Quebec.',40.04,84.0,-66.0,-60.0,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','3526','Canada - 108°W to 102°W','Canada between 108°W and 102°W onshore and offshore - Northwest Territories, Nunavut, Saskatchewan.',48.99,84.0,-108.0,-102.0,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','3527','Canada - 114°W to 108°W','Canada between 114°W and 108°W onshore and offshore - Alberta, Northwest Territories, Nunavut, Saskatchewan.',48.99,84.0,-114.0,-108.0,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','3528','Canada - 120°W to 114°W','Canada between 120°W and 114°W onshore and offshore - Alberta, British Columbia, Northwest Territories, Nunavut.',48.99,83.5,-120.0,-114.0,0);
|
||||
@@ -2615,12 +2612,12 @@ INSERT INTO "extent" VALUES('EPSG','3632','Denmark - onshore Jutland east of 9°
|
||||
INSERT INTO "extent" VALUES('EPSG','3633','Mexico - 96°W to 90°W','Mexico between 96°W and 90°W, onshore and offshore.',12.1,26.0,-96.0,-90.0,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','3634','Caribbean - Puerto Rico and US Virgin Islands - onshore','Puerto Rico and US Virgin Islands - onshore.',17.62,18.57,-67.97,-64.51,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','3635','Mexico - east of 90°W','Mexico east of 90°W, onshore and offshore.',17.81,25.77,-90.0,-84.64,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','3636','Norway - onshore - west of 6°E','Norway - onshore - west of 6°E.',58.32,62.64,4.39,6.0,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','3637','USA - 102°W to 96°W and GoM OCS','United States (USA) - between 102°W and 96°W. Iowa; Kansas; Minnesota; Nebraska; North Dakota; Oklahoma; South Dakota; Texas; Gulf of Mexico west of approximately 96°W - leasing areas Matagorda Island, Mustang Island, North Padre Island and South Padre Island; outer continental shelf (GoM OCS) protraction areas Corpus Christi, Port Isabel.',25.83,49.01,-102.0,-95.87,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','3636','Norway - onshore - west of 6°E','Norway - onshore - west of 6°E.',58.32,62.64,4.39,6.01,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','3637','USA - 102°W to 96°W and GoM OCS','United States (USA) - between 102°W and 96°W. Iowa; Kansas; Minnesota; Nebraska; North Dakota; Oklahoma; South Dakota; Texas; Gulf of Mexico outer continental shelf (GoM OCS) west of approximately 96°W - protraction areas Corpus Christi; Port Isabel.',25.83,49.01,-102.0,-95.87,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','3638','South America - 84°W to 78°W, S hemisphere and SIRGAS95 by country','Ecuador (mainland whole country including areas in northern hemisphere and east of 78°W), onshore and offshore. In remainder of South America, between 84°W and 78°W, southern hemisphere, onshore and offshore.',-56.45,1.45,-84.0,-75.21,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','3639','Norway - onshore - 6°E to 7°E','Norway - onshore - between 6°E and 7°E.',57.93,63.03,6.0,7.01,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','3640','USA - 96°W to 90°W and GoM OCS','United States (USA) - between 96°W and 90°W - Arkansas; Illinois; Iowa; Kansas; Louisiana; Michigan; Minnesota; Mississippi; Missouri; Nebraska; Oklahoma; Tennessee; Texas; Wisconsin; Gulf of Mexico outer continental shelf (GoM OCS) between approximately 96°W and 90°W - leasing areas Brazos, Galveston, High Island; Sabine Pass; West Cameron, East Cameron, Vermilion, South Marsh Island, Eugene Island, Ship Shoal, South Pelto, Bay Marchand, South Timbalier, Grand Isle; protraction areas East Breaks, Alaminos Canyon, Garden Banks, Keathley Canyon, Sigsbee Escarpment, Ewing Bank, Green Canyon, Walker Ridge, Amery Terrace.',25.61,49.38,-96.01,-89.86,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','3641','USA - 90°W to 84°W and GoM OCS','United States (USA) - between 90°W and 84°W onshore and offshore - Alabama; Arkansas; Florida; Georgia; Indiana; Illinois; Kentucky; Louisiana; Michigan; Minnesota; Mississippi; Missouri; North Carolina; Ohio; Tennessee; Wisconsin; Gulf of Mexico outer continental shelf (GoM OCS) between approximately 90°W and 84°W - leasing areas Grand Isle, West Delta, South Pass, Breton Sound, Main Pass, Chandeleur; protraction areas Mobile, Viosca Knoll, Mississippi Canyon, Atwater Valley, Lund, Lund South, Pensacola, Destin Dome, De Soto Canyon, Lloyd Ridge, Henderson, Florida Plain, Campeche Escarpment, Apalachicola, Florida Middle Ground, The Elbow, Vernon Basin, Howell Hook, Rankin.',23.95,48.32,-90.01,-83.91,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','3640','USA - 96°W to 90°W and GoM OCS','United States (USA) - between 96°W and 90°W - Arkansas; Illinois; Iowa; Kansas; Louisiana; Michigan; Minnesota; Mississippi; Missouri; Nebraska; Oklahoma; Tennessee; Texas; Wisconsin; Gulf of Mexico outer continental shelf (GoM OCS) between approximately 96°W and 90°W - protraction areas East Breaks; Alaminos Canyon; Garden Banks; Keathley Canyon; Sigsbee Escarpment; Ewing Bank; Green Canyon; Walker Ridge; Amery Terrace.',25.61,49.38,-96.01,-89.86,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','3641','USA - 90°W to 84°W and GoM OCS','United States (USA) - between 90°W and 84°W onshore and offshore - Alabama; Arkansas; Florida; Georgia; Indiana; Illinois; Kentucky; Louisiana; Michigan; Minnesota; Mississippi; Missouri; North Carolina; Ohio; Tennessee; Wisconsin; Gulf of Mexico outer continental shelf (GoM OCS) between approximately 90°W and 84°W - protraction areas Mobile; Viosca Knoll; Mississippi Canyon; Atwater Valley; Lund; Lund South; Pensacola; Destin Dome; De Soto Canyon; Lloyd Ridge; Henderson; Florida Plain; Campeche Escarpment; Apalachicola; Florida Middle Ground; The Elbow; Vernon Basin; Howell Hook; Rankin.',23.95,48.32,-90.01,-83.91,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','3642','USA - 84°W to 78°W and GoM OCS','United States (USA) - between 84°W and 78°W onshore and offshore - Florida; Georgia; Maryland; Michigan; New York; North Carolina; Ohio; Pennsylvania; South Carolina; Tennessee; Virginia; West Virginia; Gulf of Mexico outer continental shelf (GoM OCS) east of approximately 84°W - protraction areas Gainesville; Tarpon Springs; St Petersburg; Charlotte Harbor; Pulley Ridge; Dry Tortugas; Tortugas Valley; Miami; Key West.',23.81,46.13,-84.09,-77.99,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','3643','Germany - Schleswig-Holstein','Germany - Schleswig-Holstein',53.35,55.06,7.8,11.35,1);
|
||||
INSERT INTO "extent" VALUES('EPSG','3644','Germany - Schleswig-Holstein - east of 10.5°E','Germany - Schleswig-Holstein - east of 10°30''E.',53.36,54.59,10.49,11.4,0);
|
||||
@@ -2643,7 +2640,7 @@ INSERT INTO "extent" VALUES('EPSG','3660','Norway - onshore - 18°E to 19°E','N
|
||||
INSERT INTO "extent" VALUES('EPSG','3661','Norway - onshore - 19°E to 20°E','Norway - onshore - between 19°E and 20°E.',68.33,70.35,19.0,20.01,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','3662','Norway - onshore - 20°E to 21°E','Norway - onshore - between 20°E and 21°E.',68.37,70.37,20.0,21.01,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','3663','Norway - onshore - 21°E to 22°E','Norway - onshore - between 21°E and 22°E.',69.03,70.73,21.0,22.01,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','3664','USA - CONUS and Alaska - onshore','United States (USA) - Alaska and conterminous (contiguous) lower 48 states (CONUS) - onshore.',24.41,71.4,-168.26,-66.91,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','3664','USA - CONUS and Alaska - onshore','United States (USA) - CONUS and Alaska - onshore - Alabama; Alaska mainland; Arizona; Arkansas; California; Colorado; Connecticut; Delaware; Florida; Georgia; Idaho; Illinois; Indiana; Iowa; Kansas; Kentucky; Louisiana; Maine; Maryland; Massachusetts; Michigan; Minnesota; Mississippi; Missouri; Montana; Nebraska; Nevada; New Hampshire; New Jersey; New Mexico; New York; North Carolina; North Dakota; Ohio; Oklahoma; Oregon; Pennsylvania; Rhode Island; South Carolina; South Dakota; Tennessee; Texas; Utah; Vermont; Virginia; Washington; West Virginia; Wisconsin; Wyoming.',24.41,71.4,-168.26,-66.91,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','3665','Norway - onshore - 22°E to 23°E','Norway - onshore - between 22°E and 23°E.',68.69,70.93,22.0,23.01,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','3666','Indonesia - Java, Java Sea and western Sumatra','Indonesia - Bali, Java and western Sumatra onshore, offshore southern Java Sea, Madura Strait and western Bali Sea.',-8.91,5.97,95.16,117.01,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','3667','Norway - onshore - 23°E to 24°E','Norway - onshore - between 23°E and 24°E.',68.62,71.15,23.0,24.01,0);
|
||||
@@ -2682,7 +2679,7 @@ INSERT INTO "extent" VALUES('EPSG','3699','Brazil - Cumuruxatiba, Jequitinhonha
|
||||
INSERT INTO "extent" VALUES('EPSG','3700','Brazil - Santos and Pelotas','Brazil - offshore - Santos and Pelotas basins.',-35.71,-22.66,-53.38,-40.2,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','3701','Iraq - 34.6°N to 36.2°N, west of 42.8°E (map 5)','Iraq - between UTM 3830000mN and 4010000mN (approximately 34°35''N and 36°13''N) and west of UTM 300000mE (approximately 42°48''E).',34.57,36.22,41.09,42.82,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','3702','Iraq - SE','Iraq - onshore southeast.',29.06,32.51,43.98,48.61,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','3703','Germany - Lower Saxony west of 7.5°E','Germany - Niedersachsen onshore west of 7°30''E.',52.23,53.81,6.56,7.51,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','3703','Germany - Lower Saxony west of 7.5°E','Germany - Niedersachsen onshore west of 7°30''E.',52.23,53.81,6.58,7.5,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','3704','Iraq - 31.4°N to 33°N, east of 46.1°E (map 17)','Iraq - between UTM 3470000mN and 3650000mN (approximately 31°21''N and 32°58''N) and east of UTM 600000mE (approximately 46°04''E).',31.33,32.99,46.05,47.87,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','3705','Germany - Lower Saxony east of 10.5°E','Germany - Niedersachsen east of 10°30''E.',51.55,53.38,10.5,11.59,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','3706','Iraq - 29.7 to 31.4°N, 42°E to 43.9°E (map 19)','Iraq - between UTM 3290000mN and 3470000mN (approximately 29°47''N and 31°21''N) and between 42°E and UTM 400000mE (approximately 43°56''E).',29.75,31.37,42.0,43.97,0);
|
||||
@@ -2699,8 +2696,8 @@ INSERT INTO "extent" VALUES('EPSG','3716','Asia - Korea N and S - 126°E to 128
|
||||
INSERT INTO "extent" VALUES('EPSG','3717','Iraq - north of 36.2°N, 42°E to 43.9°E (map 2)','Iraq - north of UTM 4010000mN (approximately 36°13''N) and between 42°E and UTM 400000mE (approximately 43°56''E).',36.19,37.39,42.0,43.89,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','3718','Iraq - 34.6°N to 36.2°N, east of 45°E (map 7)','Iraq - between UTM 3830000mN and 4010000mN (approximately 34°35''N and 36°13''N) and east of 45°E.',34.6,36.24,45.0,46.35,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','3719','Iraq - north of 36.2°N, east of 43.9°E (map 3)','Iraq - north of UTM 4010000mN (approximately 36°13''N) and east of UTM 400000mE (approximatrely 43°56''E).',36.22,37.33,43.87,45.33,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','3720','South Korea - 130°E to 132°E onshore','Republic of Korea (South Korea) - onshore between 130°E and 132°E.',37.39,37.62,130.71,131.01,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','3721','South Korea - Jeju','Republic of Korea (South Korea) - between 126°E and 128°E - Jeju island onshore.',33.14,33.61,126.09,127.01,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','3720','Korea, Republic of (South Korea) - 130°E to 132°E onshore','Republic of Korea (South Korea) - onshore between 130°E and 132°E.',37.39,37.62,130.71,131.01,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','3721','Korea, Republic of (South Korea) - 126°E to 128°E Jeju','Republic of Korea (South Korea) - between 126°E and 128°E - Jeju island onshore.',33.14,33.61,126.09,127.01,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','3722','Iraq - 33°N to 34.6°N, west of 40.1°E (map 8)','Iraq - north of UTM 3650000mN (approximately 32°58''N) and west of UTM zone 37 600000mE (approximately 40°04''E).',32.98,33.99,38.79,40.09,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','3723','Iraq - 33°N to 34.6°N, 40.1°E to 42°E (map 9)','Iraq - between UTM 3650000mN and 3830000mN (approximately 32°58''N and 34°35''N) and between UTM zone 37 600000mE (approximately 40°04''E) and 42°E.',32.95,34.6,40.07,42.0,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','3724','Iraq - 33°N to 34.6°N, 42°E to 43.9°E (map 10)','Iraq - between UTM 3650000mN and 3830000mN (approximately 32°58''N and 34°35''N) and between 42°E and UTM 400000mE (approximately 43°56''E).',32.95,34.61,42.0,43.93,0);
|
||||
@@ -2709,7 +2706,7 @@ INSERT INTO "extent" VALUES('EPSG','3726','Asia - Korea N and S - 128°E to 130
|
||||
INSERT INTO "extent" VALUES('EPSG','3727','Asia - Korea N and S - east of 130°E','Democratic People''s Republic of Korea (North Korea) and Republic of Korea (South Korea) - onshore east of 130°E.',37.39,42.98,130.0,131.01,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','3728','Iraq - 31.4°N to 33°N, 40.1°E to 42°E (map 14)','Iraq - between UTM 3470000mN and 3650000mN (approximately 31°21''N and 32°58''N) and between UTM zone 37 600000mE (approximately 40°04''E) and 42°E.',31.32,32.99,40.05,42.0,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','3729','Iraq - 31.4°N to 33°N, west of 40.1°E (map 13)','Iraq - sorth of UTM 3650000mN (approximately 32°58''N) and west of UTM zone 37 600000mE (approximately 40°04''E).',32.0,32.99,38.92,40.08,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','3730','South Korea - 126°E to 128°E mainland','Republic of Korea (South Korea) - between 126°E and 128°E - mainland and nearshore.',33.96,38.33,126.0,128.0,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','3730','Korea, Republic of (South Korea) - 126°E to 128°E mainland','Republic of Korea (South Korea) - between 126°E and 128°E - mainland and nearshore.',33.96,38.33,126.0,128.0,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','3731','Georgia - offshore','Georgia - offshore.',41.54,43.33,38.97,41.71,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','3732','Spain - Catalonia onshore','Spain - Catalonia onshore.',40.49,42.86,0.16,3.39,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','3733','Bolivia - east of 60°W','Bolivia - east of 60°W.',-20.17,-16.27,-60.0,-57.52,0);
|
||||
@@ -2718,7 +2715,7 @@ INSERT INTO "extent" VALUES('EPSG','3735','Thailand - onshore east of 102°E','T
|
||||
INSERT INTO "extent" VALUES('EPSG','3736','Italy - mainland and Sicily','Italy - mainland (including San Marino and Vatican City State) and Sicily.',36.59,47.1,6.62,18.58,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','3737','Bhutan - Chhukha district','Bhutan - Chhukha district.',26.71,27.32,89.26,89.83,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','3738','Bhutan - Dagana district','Bhutan - Dagana district.',26.7,27.29,89.63,90.08,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','3739','South Korea - mainland','Republic of Korea (South Korea) - mainland onshore.',33.96,38.64,125.75,129.65,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','3739','Korea, Republic of (South Korea) - mainland','Republic of Korea (South Korea) - mainland onshore.',33.96,38.64,125.75,129.65,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','3740','Bhutan - Gasa district','Bhutan - Gasa district.',27.72,28.33,89.44,90.47,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','3741','Thailand - onshore and Gulf of Thailand','Thailand - onshore plus offshore Gulf of Thailand.',5.63,20.46,97.34,105.64,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','3742','Bhutan - Ha district','Bhutan - Ha district.',27.02,27.62,88.9,89.39,0);
|
||||
@@ -2784,12 +2781,12 @@ INSERT INTO "extent" VALUES('EPSG','3801','New Zealand - South Island - Bluff vc
|
||||
INSERT INTO "extent" VALUES('EPSG','3802','New Zealand - South Island - Nelson vcrs','New Zealand - South Island - north of approximately 42°20''S - Nelson vertical CRS area.',-42.44,-40.44,171.82,174.46,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','3803','New Zealand - South Island - Dunedin vcrs','New Zealand - South Island - between approximately 44°S and 46°S - Dunedin vertical CRS area.',-46.4,-43.82,167.73,171.28,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','3804','New Zealand - South Island - Lyttleton vcrs','New Zealand - South Island - between approximately 41°20''S and 45°S - Lyttleton vertical CRS area.',-44.92,-41.6,168.95,173.77,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','3805','BES Islands','Bonaire, Sint Eustatius and Saba (BES Islands or Caribbean Netherlands) - onshore and offshore.',11.66,17.96,-69.09,-62.76,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','3805','Bonaire, St Eustatius and Saba','Bonaire, St Eustatius and Saba - onshore and offshore.',11.66,17.96,-69.09,-62.76,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','3806','New Zealand - South Island - Dunedin-Bluff vcrs','New Zealand - South Island - Dunedin-Bluff vertical CRS area.',-46.73,-44.52,166.37,169.95,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','3807','Curacao','Curaçao - onshore and offshore.',11.66,15.35,-69.55,-68.54,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','3808','Brazil - 36°W to 30°W offshore','Brazil - offshore between 36°W and 30°W, southern hemisphere.',-20.11,0.0,-36.0,-30.0,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','3809','St Maarten','Sint Maarten - onshore and offshore.',17.81,18.07,-63.3,-62.92,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','3810','Caribbean onshore - BES Islands - St Eustatius and Saba; Sint Maarten','Caribbean - Bonaire, Sint Eustatius and Saba (BES Islands or Caribbean Netherlands) - St Eustatius and Saba - onshore; St Maarten - onshore.',17.41,18.07,-63.31,-62.88,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','3810','Caribbean - St Maarten, St Eustatius and Saba - onshore','Caribbean - St Maarten, St Eustatius and Saba - onshore.',17.41,18.07,-63.31,-62.88,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','3811','Chile - 72°W to 66°W','Chile - 72°W to 66°W, onshore and offshore.',-59.87,-17.5,-72.0,-66.0,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','3812','Nigeria - offshore deep water - east of 6°E','Nigeria - offshore deep water - east of 6°E.',2.61,3.68,6.0,7.82,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','3813','Nigeria - offshore blocks OPL 209, 219 and 220','Nigeria - offshore blocks OPL 209, 219 and 220.',3.25,5.54,4.01,6.96,0);
|
||||
@@ -2799,12 +2796,12 @@ INSERT INTO "extent" VALUES('EPSG','3816','Nigeria - offshore blocks OPL 217-223
|
||||
INSERT INTO "extent" VALUES('EPSG','3817','Nigeria - offshore blocks OPL 210, 213, 217 and 218','Nigeria - offshore blocks OPL 210, 213, 217 and 218.',3.24,5.54,4.41,6.29,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','3818','New Zealand - North Island - Tararu vcrs','New Zealand - North Island - Tararu vertical CRS area.',-37.21,-36.78,175.44,175.99,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','3819','Nigeria - offshore blocks OPL 215 and 221','Nigeria - offshore blocks OPL 215 and 221.',3.25,4.23,5.02,7.31,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','3820','BES Islands - St Eustatius and Saba','Bonaire, Sint Eustatius and Saba (BES Islands or Caribbean Netherlands) - St Eustatius and Saba - onshore and offshore.',16.68,17.96,-64.02,-62.76,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','3821','BES Islands - Bonaire','Bonaire, Sint Eustatius and Saba (BES Islands or Caribbean Netherlands) - Bonaire - onshore and offshore.',11.66,15.3,-69.09,-67.98,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','3822','BES Islands - Bonaire onshore','Bonaire, Sint Eustatius and Saba (BES Islands or Caribbean Netherlands) - Bonaire - onshore.',11.97,12.36,-68.47,-68.14,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','3820','Bonaire - St Eustatius and Saba','Bonaire, St Eustatius and Saba - St Eustatius and Saba - onshore and offshore.',16.68,17.96,-64.02,-62.76,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','3821','Bonaire','Bonaire, St Eustatius and Saba - Bonaire - onshore and offshore.',11.66,15.3,-69.09,-67.98,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','3822','Bonaire - onshore','Bonaire, St Eustatius and Saba - Bonaire - onshore.',11.97,12.36,-68.47,-68.14,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','3823','Curacao - onshore','Curaçao - onshore.',11.99,12.44,-69.22,-68.69,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','3824','Nigeria - Gongola Basin','Nigeria - onshore - Gongola Basin',8.78,11.63,9.41,12.13,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','3825','Caribbean - French Antilles west of 60°W','French Antilles onshore and offshore west of 60°W - Guadeloupe (including Grande Terre, Basse Terre, Marie Galante, Les Saintes, Iles de la Petite Terre, La Desirade); Martinique; St Barthélemy; northern St Martin.',14.08,18.32,-63.66,-60.0,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','3825','Caribbean - French Antilles west of 60°W','French Antilles onshore and offshore west of 60°W - Guadeloupe (including Grande Terre, Basse Terre, Marie Galante, Les Saintes, Iles de la Petite Terre, La Desirade); Martinique; St Barthélemy; northern St Martin.',14.08,18.31,-63.66,-60.0,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','3826','Uruguay - west of 54°W','Uruguay - west of 54°W, onshore and offshore.',-36.63,-30.09,-58.49,-54.0,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','3827','Bolivia - west of 66°W','Bolivia - west of 66°W.',-22.91,-9.77,-69.66,-66.0,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','3828','Uruguay - east of 54°W','Uruguay - east of 54°W, onshore and offshore.',-37.77,-31.9,-54.0,-50.01,0);
|
||||
@@ -2847,7 +2844,7 @@ INSERT INTO "extent" VALUES('EPSG','3864','North America - 126°W to 120°W and
|
||||
INSERT INTO "extent" VALUES('EPSG','3865','Canada - Labrador - 66°W to 63°W','Canada - Labrador - 66°W to 63°W.',51.58,60.52,-66.0,-63.0,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','3866','North America - 132°W to 126°W and NAD83 by country','North America - between 132°W and 126°W - onshore and offshore. Canada - British Columbia; Northwest Territories; Yukon. United States (USA) - Alaska.',35.38,80.93,-132.0,-126.0,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','3867','North America - 138°W to 132°W and NAD83 by country','North America - between 138°W and 132°W - onshore and offshore. Canada - British Columbia; Northwest Territiories; Yukon. United States (USA) - Alaska.',48.06,79.42,-138.0,-132.0,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','3868','USA - 78°W to 72°W onshore','United States (USA) - between 78°W and 72°W - onshore - Connecticut; Delaware; District of Columbia (DC); Maryland; Massachusetts; New Hampshire; New Jersey; New York; North Carolina; Pennsylvania; Virginia; Vermont.',33.84,45.03,-78.0,-72.0,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','3868','USA - 78°W to 72°W onshore','United States (USA) - between 78°W and 72°W - onshore - Connecticut; Delaware; Maryland; Massachusetts; New Hampshire; New Jersey; New York; North Carolina; Pennsylvania; Virginia; Vermont.',33.84,45.03,-78.0,-72.0,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','3869','Costa Rica - onshore north of 9°32''N','Costa Rica - onshore north of 9°32''N.',9.53,11.22,-85.97,-82.53,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','3870','Costa Rica - onshore south of 9°56''N','Costa Rica - onshore south of 9°56''N',7.98,9.94,-85.74,-82.53,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','3871','USA - 72°W to 66°W onshore','United States (USA) - between 72°W and 66°W - onshore - Connecticut; Maine; Massachusetts; New Hampshire; New York (Long Island); Rhode Island; Vermont.',40.96,47.47,-72.0,-66.91,0);
|
||||
@@ -2866,12 +2863,12 @@ INSERT INTO "extent" VALUES('EPSG','3883','USA - Hawaii - main islands','United
|
||||
INSERT INTO "extent" VALUES('EPSG','3884','Brazil - SAD69 onshore south of 4°30''S','Brazil - onshore southeast of a line beginning at the intersection of the coast with the 4°30''S parallel, then westwards to 4°30''S, 54°W, then southwards to 5°S, 54°W, southwestwards to 10°S, 60°W, and southwards to the national boundary.',-33.78,-4.5,-60.57,-34.74,1);
|
||||
INSERT INTO "extent" VALUES('EPSG','3885','Papua New Guinea - 144°E to 150°E','Papua New Guinea - between 144°E and 150°E, onshore and offshore.',-13.88,2.58,144.0,150.01,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','3886','Finland - onshore west of 19.5°E','Finland - onshore west of 19°30''E.',60.0,60.42,19.3,19.5,1);
|
||||
INSERT INTO "extent" VALUES('EPSG','3887','Brazil - onshore south of 14°S and east of 53°W','Brazil - onshore southeast of a line beginning at the intersection of the 53°W meridian with the northern national boundary then running southwards to 14°S, then westwards to the national boundary.',-33.78,4.44,-60.58,-34.74,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','3887','Brazil - onshore south of 14°S and east of 53°W','Brazil - onshore southeast of a line beginning at the intersection of the 53°W meridian with the northern national boundary then running southwards to 14°S, then westwards to the national boundary.',-33.78,4.43,-60.58,-34.74,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','3888','Papua New Guinea - 150°E to 156°E','Papua New Guinea - between 150°E and 156°E, onshore and offshore.',-14.75,1.98,150.0,156.0,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','3889','Europe - Fehmarnbelt outer','Fehmarnbelt area of Denmark and Germany.',54.33,54.83,10.66,12.01,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','3890','Europe - Fehmarnbelt inner','Fehmarnbelt area of Denmark and Germany.',54.42,54.76,11.17,11.51,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','3891','Canada - 60°W to 54°W and NAD27','Canada between 60°W and 54°W, onshore and offshore - Newfoundland and Labrador; Quebec.',40.57,68.93,-60.0,-54.0,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','3892','Germany - offshore North Sea west of 4.5°E','Germany - offshore North Sea west of 4°30''E.',55.24,55.92,3.34,4.51,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','3892','Germany - offshore North Sea west of 4.5°E','Germany - offshore North Sea west of 4°30''E.',55.24,55.92,3.34,4.5,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','3893','UK - Wytch Farm','United Kingdom (UK) - Wytch Farm area - onshore and offshore.',50.53,50.8,-2.2,-1.68,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','3894','New Zealand - Chatham Island onshore','New Zealand - Chatham Island - onshore.',-44.18,-43.67,-176.92,-176.2,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','3895','Ukraine - west of 24°E','Ukraine - west of 24°E.',47.95,51.66,22.15,24.0,0);
|
||||
@@ -2880,7 +2877,7 @@ INSERT INTO "extent" VALUES('EPSG','3897','France - offshore Mediterranean','Fra
|
||||
INSERT INTO "extent" VALUES('EPSG','3898','Ukraine - 24°E to 30°E','Ukraine - between 24°E and 30°E, onshore and offshore.',45.1,51.96,24.0,30.0,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','3899','Europe - South Permian basin','Europe - South Permian basin.',50.5,56.0,-1.67,22.0,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','3900','Europe - onshore - eastern - S-42(83)','Onshore Bulgaria, Czechia, Germany (former DDR), Hungary and Slovakia.',41.24,54.74,9.92,28.68,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','3901','Germany - onshore west of 6°E','Germany - onshore west of 6°E - Nordrhein-Westfalen.',50.97,51.83,5.86,6.01,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','3901','Germany - onshore west of 6°E','Germany - onshore west of 6°E.',50.97,51.83,5.86,6.0,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','3902','Reunion','Reunion - onshore and offshore.',-24.72,-18.28,51.83,58.24,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','3903','Ukraine - 30°E to 36°E','Ukraine - between 30°E and 36°E, onshore and offshore.',43.18,52.38,30.0,36.0,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','3904','Germany - onshore between 6°E and 12°E','Germany - onshore between 6°E and 12°E.',47.27,55.09,6.0,12.0,0);
|
||||
@@ -3037,7 +3034,7 @@ INSERT INTO "extent" VALUES('EPSG','4054','Arctic - 84°30''N to 79°30''N, 33°
|
||||
INSERT INTO "extent" VALUES('EPSG','4055','Arctic - 84°30''N to 79°30''N, 73°E to 113°E','Arctic - between 84°30''N and 79°30''N, approximately 73°E to approximately 113°E. May be extended westwards or eastwards within the latitude limits.',79.5,84.51,73.0,113.01,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4056','Arctic - 84°30''N to 79°30''N, 113°E to 153°E','Arctic - between 84°30''N and 79°30''N, approximately 113°E to approximately 153°E. May be extended westwards or eastwards within the latitude limits.',79.5,84.51,113.0,153.01,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4057','Arctic - 84°30''N to 79°30''N, 146°E to 174°W','Arctic - between 84°30''N and 79°30''N, approximately 146°E to approximately 174°W. May be extended westwards or eastwards within the latitude limits.',79.5,84.51,146.0,-173.99,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4058','Arctic - 81°10''N to 76°10''N, 4°W to 38°E','Arctic (Norway (Svalbard) onshore and offshore) - between 81°10''N and 76°10''N.',76.16,81.17,-3.35,38.0,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4058','Arctic - 81°10''N to 76°10''N, 4°W to 38°E','Arctic (Norway (Svalbard) onshore and offshore) - between 81°10''N and 76°10''N.',76.16,81.17,-3.35,38.01,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4059','Arctic - 81°10''N to 76°10''N, 35°E to 67°E','Arctic (Russia onshore and offshore) - between 81°10''N and 76°10''N, approximately 35°E to approximately 67°E. May be extended eastwards within the latitude limits.',76.16,81.17,34.99,67.01,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4060','Arctic - 81°10''N to 76°10''N, 67°E to 98°E','Arctic (Russia onshore and offshore) - between 81°10''N and 76°10''N, approximately 67°E to approximately 98°E. May be extended westwards or eastwards within the latitude limits.',76.16,81.17,67.0,98.01,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4061','Arctic - 81°10''N to 76°10''N, 98°E to 129°E','Arctic (Russia onshore and offshore) - between 81°10''N and 76°10''N, approximately 98°E to approximately 129°E. May be extended westwards or eastwards within the latitude limits.',76.16,81.17,98.0,129.01,0);
|
||||
@@ -3045,10 +3042,10 @@ INSERT INTO "extent" VALUES('EPSG','4062','Arctic - 81°10''N to 76°10''N, 129
|
||||
INSERT INTO "extent" VALUES('EPSG','4063','Arctic - 81°10''N to 76°10''N, 160°E to 169°W','Arctic - between 81°10''N and 76°10''N, approximately 160°E to approximately 169°W. May be extended westwards or eastwards within the latitude limits.',76.16,81.17,160.0,-168.99,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4064','Arctic - 81°10''N to 76°10''N, 169°W to 138°W','Arctic - between 81°10''N and 76°10''N, approximately 169°W to approximately 138°W. May be extended westwards or eastwards within the latitude limits.',76.16,81.17,-169.0,-138.0,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4065','Arctic - 81°10''N to 76°10''N, 144°W to 114°W','Arctic - between 81°10''N and 76°10''N, approximately 144°W to approximately 114°W. May be extended eastwards within the latitude limits.',76.16,81.17,-144.0,-114.0,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4066','Norway - onshore - 6°E to 12°E','Norway - onshore - between 6°E and 12°E.',57.9,67.58,6.0,12.0,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4067','Norway - onshore - 12°E to 18°E','Norway - onshore - between 12°E and 18°E.',59.88,69.96,12.0,18.0,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4068','Norway - onshore - 18°E to 24°E','Norway - onshore - between 18°E and 24°E.',68.04,71.15,18.0,24.0,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4069','Norway - onshore - 24°E to 30°E','Norway - onshore - between 24°E and 30°E.',68.58,71.24,24.0,30.0,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4066','Norway - onshore - 6°E to 12°E','Norway - onshore - between 6°E and 12°E.',57.9,67.58,6.0,12.01,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4067','Norway - onshore - 12°E to 18°E','Norway - onshore - between 12°E and 18°E.',59.88,69.96,12.0,18.01,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4068','Norway - onshore - 18°E to 24°E','Norway - onshore - between 18°E and 24°E.',68.04,71.15,18.0,24.01,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4069','Norway - onshore - 24°E to 30°E','Norway - onshore - between 24°E and 30°E.',68.58,71.24,24.0,30.01,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4070','Arctic - 81°10''N to 76°10''N, 114°W to 84°W','Arctic - between 81°10''N and 76°10''N, approximately 114°W to approximately 84°W. May be extended westwards or eastwards within the latitude limits.',76.16,81.17,-114.0,-84.0,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4071','Arctic - 81°10''N to 76°10''N, 84°W to 54°W','Arctic - between 81°10''N and 76°10''N, approximately 84°W to approximately 54°W. May be extended westwards or eastwards within the latitude limits.',76.16,81.17,-84.0,-54.0,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4072','Arctic - 81°10''N to 76°10''N, Canada east of 84°W','Arctic - between 81°10''N and 76°10''N, Canada east of approximately 84°W. May be extended westwards within the latitude limits.',76.16,81.17,-84.0,-64.78,0);
|
||||
@@ -3140,7 +3137,7 @@ INSERT INTO "extent" VALUES('EPSG','4157','Colombia - San Jose del Guaviare city
|
||||
INSERT INTO "extent" VALUES('EPSG','4158','Colombia - Valledupar city','Colombia - Valledupar city.',10.39,10.51,-73.3,-73.19,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4159','Colombia - Villavicencio city','Colombia - Villavicencio city.',4.07,4.21,-73.69,-73.56,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4160','Colombia - Yopal city','Colombia - Yopal city.',5.3,5.37,-72.43,-72.35,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4161','North America - Mexico and USA - onshore','Mexico - onshore. United States (USA) - onshore - United States (USA) - Alaska, conterminous (contiguous) lower 48 states (CONUS).',14.51,71.4,172.42,-66.91,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4161','North America - Mexico and USA - onshore','Mexico - onshore. United States (USA) - CONUS and Alaska - onshore - Alabama; Alaska; Arizona; Arkansas; California; Colorado; Connecticut; Delaware; Florida; Georgia; Idaho; Illinois; Indiana; Iowa; Kansas; Kentucky; Louisiana; Maine; Maryland; Massachusetts; Michigan; Minnesota; Mississippi; Missouri; Montana; Nebraska; Nevada; New Hampshire; New Jersey; New Mexico; New York; North Carolina; North Dakota; Ohio; Oklahoma; Oregon; Pennsylvania; Rhode Island; South Carolina; South Dakota; Tennessee; Texas; Utah; Vermont; Virginia; Washington; West Virginia; Wisconsin; Wyoming.',14.51,71.4,172.42,-66.91,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4162','Pacific - US interests Pacific plate','American Samoa, Marshall Islands, United States (USA) - Hawaii, United States minor outlying islands; onshore and offshore.',-17.56,31.8,157.47,-151.27,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4163','Japan excluding northern main province','Japan - onshore and offshore, excluding northern prefectures of ''main province'' (see remarks).',17.09,46.05,122.38,157.65,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4164','USA - Iowa - Spencer','United States (USA) - Iowa - counties of Clay; Dickinson; Emmet; Kossuth; Lyon; O''Brien; Osceola; Palo Alto; Sioux.',42.9,43.51,-96.6,-93.97,0);
|
||||
@@ -3494,8 +3491,8 @@ INSERT INTO "extent" VALUES('EPSG','4511','USA - Kansas - Arkansas City','United
|
||||
INSERT INTO "extent" VALUES('EPSG','4512','USA - Kansas - Coffeyville','United States (USA) - Kansas - counties of Chautauqua; Coffey; Elk; Greenwood; Montgomery; Osage; Wilson; Woodson.',36.99,38.88,-96.53,-95.5,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4513','USA - Kansas - Pittsburg','United States (USA) - Kansas - counties of Allen; Anderson; Bourbon; Cherokee; Crawford; Franklin; Labette; Linn; Miami; Neosho.',36.99,38.74,-95.53,-94.6,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4514','Pacific - Guam and NMI west of 144°E','Guam and Northern Mariana Islands; offshore west of 144°E.',10.95,23.9,141.19,144.01,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4515','USA - FBN','American Samoa - Tutuila, Aunu''u, Ofu, Olesega, Ta''u and Rose islands - onshore. Guam - onshore. Northern Mariana Islands - onshore. Puerto Rico - onshore. United States (USA) - conterminous (contiguous) lower 48 states (CONUS) onshore plus Gulf of Mexico offshore continental shelf (GoM OCS). US Virgin Islands - onshore.',-14.59,49.38,144.58,-64.51,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4516','USA - CONUS and GoM','United States (USA) - conterminous (contiguous) lower 48 states (CONUS) onshore, Gulf of Mexico offshore continental shelf (GoM OCS).',23.82,49.38,-124.79,-66.91,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4515','USA - FBN','American Samoa - Tutuila, Aunu''u, Ofu, Olesega, Ta''u and Rose islands - onshore. Guam - onshore. Northern Mariana Islands - onshore. Puerto Rico - onshore. United States (USA) - CONUS - Alabama; Arizona; Arkansas; California; Colorado; Connecticut; Delaware; Florida; Georgia; Idaho; Illinois; Indiana; Iowa; Kansas; Kentucky; Louisiana; Maine; Maryland; Massachusetts; Michigan; Minnesota; Mississippi; Missouri; Montana; Nebraska; Nevada; New Hampshire; New Jersey; New Mexico; New York; North Carolina; North Dakota; Ohio; Oklahoma; Oregon; Pennsylvania; Rhode Island; South Carolina; South Dakota; Tennessee; Texas; Utah; Vermont; Virginia; Washington; West Virginia; Wisconsin; Wyoming - onshore plus Gulf of Mexico offshore continental shelf (GoM OCS). US Virgin Islands - onshore.',-14.59,49.38,144.58,-64.51,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4516','USA - CONUS and GoM','United States (USA) - CONUS onshore - Alabama; Arizona; Arkansas; California; Colorado; Connecticut; Delaware; Florida; Georgia; Idaho; Illinois; Indiana; Iowa; Kansas; Kentucky; Louisiana; Maine; Maryland; Massachusetts; Michigan; Minnesota; Mississippi; Missouri; Montana; Nebraska; Nevada; New Hampshire; New Jersey; New Mexico; New York; North Carolina; North Dakota; Ohio; Oklahoma; Oregon; Pennsylvania; Rhode Island; South Carolina; South Dakota; Tennessee; Texas; Utah; Vermont; Virginia; Washington; West Virginia; Wisconsin; Wyoming. US Gulf of Mexico offshore continental shelf (GoM OCS).',23.82,49.38,-124.79,-66.91,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4517','Canada - NAD27','Canada - onshore - Alberta; British Columbia; Manitoba; New Brunswick; Newfoundland and Labrador; Northwest Territories; Nova Scotia; Nunavut; Ontario; Prince Edward Island; Quebec; Saskatchewan; Yukon; offshore east coast west of 44°W and north of 40°N.',40.0,83.17,-141.01,-44.0,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4518','Pacific - Guam and NMI east of 144°E','Guam and Northern Mariana Islands; onshore and offshore east of 144°E.',11.05,23.9,144.0,149.55,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4519','Algeria - 32°N to 34°39''N','Algeria - 35.6 grads to 38.5 grads North (32°N to 34°39''N).',31.99,34.66,-2.95,9.09,0);
|
||||
@@ -3508,7 +3505,6 @@ INSERT INTO "extent" VALUES('EPSG','4525','Pacific - Guam and NMI - onshore','Gu
|
||||
INSERT INTO "extent" VALUES('EPSG','4526','Saudi Arabia - 36°E to 42°E','Saudi Arabia - onshore and offshore - between 36°E and 42°E.',16.29,32.16,36.0,42.0,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4527','Saudi Arabia - 42°E to 48°E','Saudi Arabia - onshore and offshore - between of 42°E and 48°E.',16.35,31.15,41.99,48.0,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4528','Saudi Arabia - 48°E to 54°E','Saudi Arabia - onshore and offshore - between 48°E and 54°E.',17.94,28.94,47.99,54.01,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4529','USA - California - San Francisco international airport','USA - California - San Francisco international airport.',37.58,37.66,-122.43,-122.33,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4530','Latin America - Central America and South America','Latin America - Central America and South America, onshore and offshore.',-59.87,32.72,-122.19,-25.28,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4531','Costa Rica - offshore Caribbean','Costa Rica - offshore - Caribbean sea.',9.6,11.77,-83.6,-81.43,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4532','Costa Rica - offshore Pacific','Costa Rica - offshore Pacific ocean and onshore Coco Island.',2.15,11.11,-90.45,-82.92,0);
|
||||
@@ -3523,7 +3519,7 @@ INSERT INTO "extent" VALUES('EPSG','4540','Africa - South Africa, Lesotho and Es
|
||||
INSERT INTO "extent" VALUES('EPSG','4541','Vietnam - Dien Bien and Lai Chau','Vietnam - Dien Bien and Lai Chau provinces.',20.89,22.82,102.14,103.99,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4542','Kosovo','Kosovo.',41.85,43.25,19.97,21.8,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4543','Serbia','Serbia including Vojvodina.',42.23,46.19,18.81,23.01,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4544','North America - Canada, US (Conus+AK), PRVI','North America - onshore and offshore: Canada; Puerto Rico; United States (USA) - Alaska and conterminous (contiguous) lower 48 states (CONUS); US Virgin Islands.',14.92,86.46,167.65,-47.74,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4544','North America - Canada, US (Conus+AK), PRVI','North America - onshore and offshore: Canada - Alberta; British Columbia; Manitoba; New Brunswick; Newfoundland and Labrador; Northwest Territories; Nova Scotia; Nunavut; Ontario; Prince Edward Island; Quebec; Saskatchewan; Yukon. Puerto Rico. United States (USA) - Alabama; Alaska; Arizona; Arkansas; California; Colorado; Connecticut; Delaware; Florida; Georgia; Idaho; Illinois; Indiana; Iowa; Kansas; Kentucky; Louisiana; Maine; Maryland; Massachusetts; Michigan; Minnesota; Mississippi; Missouri; Montana; Nebraska; Nevada; New Hampshire; New Jersey; New Mexico; New York; North Carolina; North Dakota; Ohio; Oklahoma; Oregon; Pennsylvania; Rhode Island; South Carolina; South Dakota; Tennessee; Texas; Utah; Vermont; Virginia; Washington; West Virginia; Wisconsin; Wyoming. US Virgin Islands.',14.92,86.46,167.65,-47.74,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4545','Vietnam - Ca Mau and Kien Giang','Vietnam - Ca Mau and Kien Giang provinces.',8.33,10.55,103.4,105.54,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4546','Vietnam - An Giang, Lao Cai, Nghe An, Phu Tho, Yen Bai','Vietnam - An Giang, Lao Cai, Nghe An, Phu Tho and Yen Bai provinces.',10.18,22.85,103.53,105.86,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4547','Vietnam - 104°20''E to 106°10''E by province - Hanoi','Vietnam - Ha Noi city, Ha Nam, Ha Tay, Ninh Binh, Thanh Hoa and Vinh Phuc provinces; Can Tho city, Bac Lieu, Dong Thap and Hau Giang provinces.',8.97,21.58,104.37,106.19,0);
|
||||
@@ -3542,9 +3538,9 @@ INSERT INTO "extent" VALUES('EPSG','4559','Vietnam - Binh Dinh, Khanh Hoa, Ninh
|
||||
INSERT INTO "extent" VALUES('EPSG','4560','Vietnam - Binh Thuan, Dak Lak, Dak Nong, Gia Lai, Phu Yen','Vietnam - Binh Thuan, Dak Lak, Dak Nong, Gia Lai and Phu Yen provinces.',10.43,14.61,107.2,109.52,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4561','Argentina - Mendoza - Cuyo basin','Argentina - Mendoza province - Cuyo basin.',-36.37,-31.96,-69.4,-66.42,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4562','Argentina - Mendoza and Neuquen','Argentina - Mendoza province, Neuquen province, western La Pampa province and western Rio Negro province.',-43.41,-31.91,-72.14,-65.86,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4563','Argentina - 42.5°S to 50.3°S','Argentina - Chibut province south of approximately 42°30''S, Santa Cruz province north of approximately 50°20''S, and offshore Golfo San Jorge.',-50.34,-42.49,-73.59,-65.47,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4563','Argentina - 42.5°S to 50.3°S','Argentina - Chibut province south of approximately 42°30''S and Santa Cruz province north of approximately 50°20''S.',-50.34,-42.49,-73.59,-65.47,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4564','Argentina - 42.5°S to 50.3°S and west of 70.5°W','Argentina - Chibut province west of 70°30''W and south of approximately 44°55''S and Santa Cruz province west of 70°30''W and north of approximately 50°20''S.',-50.34,-44.94,-73.59,-70.5,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4565','Argentina - 42.5°S to 50.3°S and east of 67.5°W','Argentina - Chibut province east of 67°30''W and south of approximately 43°35''S, Santa Cruz province east of 67°30''W and north of approximately 49°23''S, and offshore Golfo san Jorge.',-49.05,-43.58,-67.5,-65.47,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4565','Argentina - 42.5°S to 50.3°S and east of 67.5°W','Argentina - Chibut province east of 67°30''W and south of approximately 43°35''S and Santa Cruz province east of 67°30''W and north of approximately 49°23''S.',-49.05,-43.58,-67.5,-65.47,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4566','Europe - offshore North Sea - Germany and Netherlands east of 5°E','Germany - offshore North Sea. Netherlands - offshore east of 5E.',53.49,55.92,3.34,8.88,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4567','South Africa - mainland - onshore and offshore','South Africa - mainland - onshore and offshore.',-38.17,-22.13,13.33,36.54,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4568','South Africa - Prince Edward islands - onshore and offshore','South Africa - Marion Island and Prince Edward Island - onshore and offshore.',-50.32,-43.26,32.71,42.85,0);
|
||||
@@ -3569,7 +3565,7 @@ INSERT INTO "extent" VALUES('EPSG','4586','World - south of 50°S','Southern hem
|
||||
INSERT INTO "extent" VALUES('EPSG','4587','Congo DR (Zaire) - 6th parallel south 21.5°E to 23°E','The Democratic Republic of the Congo (Zaire) - adjacent to 6th parallel south traverse between 21°30''E and 23°E.',-7.31,-5.31,21.5,23.01,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4588','UK - London to Sheffield','United Kingdom (UK) - on or related to the Midland Mainline rail route from Sheffield to London.',51.46,53.42,-1.89,0.16,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4589','UK - Aberdeen to Inverness','United Kingdom (UK) - on or related to the A96 highway from Aberdeen to Inverness.',57.1,57.71,-4.31,-2.1,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4590','Spain - Ceuta','Spain - Ceuta onshore.',35.84,35.97,-5.4,-5.24,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4590','Spain - Ceuta','Spain - Ceuta onshore.',35.82,35.97,-5.4,-5.24,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4591','Spain - Canary Islands - Lanzarote','Spain - Canary Islands - Lanzarote onshore.',28.78,29.47,-13.95,-13.37,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4592','Spain - Canary Islands - Fuerteventura','Spain - Canary Islands - Fuerteventura onshore.',27.99,28.81,-14.58,-13.75,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4593','Spain - Canary Islands - Gran Canaria','Spain - Canary Islands - Gran Canaria onshore.',27.68,28.23,-15.88,-15.31,0);
|
||||
@@ -3584,7 +3580,7 @@ INSERT INTO "extent" VALUES('EPSG','4601','Spain - Canary Islands western east o
|
||||
INSERT INTO "extent" VALUES('EPSG','4602','Spain - Balearic Islands - Mallorca','Spain - Balearic Islands - Mallorca onshore.',39.07,40.02,2.23,3.55,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4603','Spain - Balearic Islands - Menorca','Spain - Balearic Islands - Menorca onshore.',39.75,40.15,3.73,4.39,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4604','Spain - Balearic Islands - Ibiza','Spain - Balearic Islands - Ibiza - onshore.',38.77,39.17,1.12,1.68,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4605','Spain - mainland onshore and Ceuta','Spain - mainland and Ceuta - onshore.',35.84,43.82,-9.37,3.39,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4605','Spain - mainland onshore and Ceuta','Spain - mainland and Ceuta - onshore.',35.82,43.82,-9.37,3.39,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4606','Europe - British Isles - UK and Ireland onshore, UKCS','United Kingdom (UK) - offshore to boundary of UKCS within 49°45''N to 61°N and 9°W to 2°E; onshore Great Britain (England, Wales and Scotland) and Northern Ireland. Ireland onshore. Isle of Man onshore.',49.75,61.01,-10.85,2.01,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4607','UK - Glasgow to Kilmarnock','United Kingdom (UK) - on or related to the rail route from Glasgow to Kilmarnock via Barrhead and the branch to East Kilbride.',55.55,55.95,-4.65,-4.05,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4608','Europe - EVRF2019','Europe - onshore - Andorra; Austria; Belarus; Belgium; Bosnia and Herzegovina; Bulgaria; Croatia; Czechia; Denmark; Estonia; Finland; France - mainland; Germany; Gibraltar, Hungary; Italy - mainland and Sicily; Latvia; Liechtenstein; Lithuania; Luxembourg; Netherlands; North Macedonia; Norway; Poland; Portugal - mainland; Romania; Russia – west of approximately 60°E; San Marino; Slovakia; Slovenia; Spain - mainland; Sweden; Switzerland; United Kingdom (UK) - Great Britain mainland; Ukraine; Vatican City State.',35.95,77.07,-9.56,69.15,0);
|
||||
@@ -3641,14 +3637,14 @@ INSERT INTO "extent" VALUES('EPSG','4658','St Barthelemy','St Barthélemy - onsh
|
||||
INSERT INTO "extent" VALUES('EPSG','4659','Italy - mainland west of 16°E','Italy - mainland northwest of approximately 16°E, including San Marino and Vatican City State.',39.65,47.1,6.62,16.53,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4660','Germany - Hessen','Germany - Hessen.',49.39,51.66,7.77,10.24,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4661','UK - Newport to Ebbw Vale','United Kingdom (UK) - on or related to the rail route from Newport (Park Junction) to Ebbw Vale.',51.5,51.85,-3.3,-2.89,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4662','Iceland - onshore','Iceland - onshore.',63.24,66.63,-24.63,-13.38,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4662','Iceland - onshore','Iceland - onshore.',63.24,66.62,-24.66,-13.38,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4663','UK - Leeds to Hull','United Kingdom (UK) - on or related to the rail route from the Morley tunnel through Leeds to Hull.',53.6,53.9,-1.7,-0.27,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4664','UK - Inverness to Thurso','United Kingdom (UK) - on or related to the rail route from Inverness to Thurso and Wick.',57.4,58.64,-4.6,-3.0,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4665','UK - Motherwell to Inverness','United Kingdom (UK) - on or related to the Scottish central mainline rail route from Motherwell through Perth and Pitlochry to Inverness.',55.7,57.55,-4.4,-3.3,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4666','UK - Manchester, Wigan and Chester','United Kingdom (UK) - on or related to the rail route from Manchester via Wigan and Liverpool to Chester.',53.09,53.65,-3.15,-2.1,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4667','Chile - west of 108°W','Chile - Easter Island onshore and offshore - west of 108°W.',-30.54,-23.72,-113.21,-108.0,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4668','Europe - Ireland and UK offshore','Ireland and United Kingdom (UK) (including Isle of Man and Channel Islands) - inshore, nearshore and offshore.',47.42,63.89,-16.1,3.4,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4669','USA - Amtrak NE corridor','United States (USA) - parts of Connecticut, Delaware, District of Columbia (DC), Maryland, Massachusetts, New Jersey, New York, Pennsylvania, Rhode Island and Virginia on or related to the Amtrak northeast corridor rail route from Boston to Washington DC via New York and Philadelphia.',38.64,42.74,-78.51,-70.48,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4669','USA - Amtrak NE corridor','United States (USA) - parts of Connecticut, Delaware, District of Columbia, Maryland, Massachusetts, New Jersey, New York, Pennsylvania, Rhode Island and Virginia on or related to the Amtrak northeast corridor rail route from Boston to Washington DC via New York and Philadelphia.',38.64,42.74,-78.51,-70.48,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4670','Japan - zone I - onshore mainland','Japan - onshore - Kyushu west of approximately 130°E - Nagasaki-ken',32.51,33.49,129.3,130.46,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4671','Japan - zone II - onshore mainland','Japan - onshore - Kyushu east of approximately 130°E - Fukuoka-ken; Saga-ken; Kumamoto-ken; Oita-ken; Miyazaki-ken; Kagoshima-ken on Kyushu (except for area within Japan Plane Rectangular Coordinate System zone I).',30.94,33.99,129.76,132.05,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4672','Japan - zone III - onshore mainland','Japan - onshore - Honshu west of approximately 133°15''E - Yamaguchi-ken; Shimane-ken; Hiroshima-ken.',33.72,35.64,130.81,133.49,0);
|
||||
@@ -3667,8 +3663,8 @@ INSERT INTO "extent" VALUES('EPSG','4684','UK - Cardiff and the valleys','United
|
||||
INSERT INTO "extent" VALUES('EPSG','4685','UK - London to Swansea','United Kingdom (UK) - on or related to the rail route from London (Paddington) to Swansea.',51.25,52.06,-4.26,-0.1,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4686','UK - Dovey Junction to Pwllheli','United Kingdom (UK) - on or related to the rail route from Dovey Junction to Pwllheli.',52.45,53.01,-4.51,-3.8,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4687','UK - Shrewsbury to Aberystwyth','United Kingdom (UK) - on or related to the rail route from Shrewsbury to Aberystwyth.',52.37,52.77,-4.16,-2.6,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4688','UK - Okehampton to Penstone','United Kingdom (UK) - on or related to the rail route from Okehampton to Penstone.',50.65,50.86,-4.11,-3.6,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4689','UK - Reading to Penzance','United Kingdom (UK) - on or related to the rail route from Reading via Newbury to Penzance.',50.05,51.71,-5.63,-0.85,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4688','UK – Okehampton to Penstone','United Kingdom (UK) - on or related to the rail route from Okehampton to Penstone.',50.65,50.85,-4.1,-3.6,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4689','UK – Reading to Penzance','United Kingdom (UK) - on or related to the rail route from Reading via Newbury to Penzance.',50.05,51.7,-5.63,-0.85,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4690','UK - London to Fishguard','United Kingdom (UK) - on or related to the rail routes from London (Paddington) to Swansea; Swansea to Pembroke Dock, Milford Haven and Fishguard; and around Cardiff and the valleys.',51.25,52.06,-5.16,-0.1,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4691','Portugal - mainland - nearshore','Portugal - mainland - nearshore.',36.9,41.88,-9.57,-7.39,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4692','Portugal - mainland - nearshore - Tagus estuary','Portugal - mainland - nearshore - Tagus estuary.',38.58,38.96,-9.46,-8.92,0);
|
||||
@@ -3723,133 +3719,3 @@ INSERT INTO "extent" VALUES('EPSG','4740','Spain - Melilla','Spain - Melilla ons
|
||||
INSERT INTO "extent" VALUES('EPSG','4741','Spain - Alboran','Spain - Alboran island - onshore.',35.88,36.0,-3.1,-2.96,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4742','Netherlands - offshore and nearshore ','Netherlands - offshore North Sea and nearshore.',51.32,55.77,2.53,7.21,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4743','UK - Coventry','United Kingdom (UK) - in and around the area of Coventry city centre and the route to Birmingham airport.',52.3,52.5,-1.85,-1.3,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4744','Europe - Brenner','Austria and Italy - on or related to the Brenner Base Tunnel rail route from Innsbruck to Fortezza (Franzensfeste).',46.45,47.33,11.04,11.91,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4745','Africa - Equi7','Africa and the Arabian peninsula.',-43.89,38.8,-31.68,79.3,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4746','Antarctica - Equi7','Antarctica.',-90.0,-34.47,-180.0,180.0,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4747','Asia - Equi7','Asia including Maldives and British Indian Ocean Territory.',-10.8,83.67,31.45,-168.43,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4748','Europe - Equi7','Europe including Russia west of the Ural Mountains.',29.24,83.67,-42.52,51.73,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4749','North America - Equi7','North America including Greenland, the Caribbean and Central America, together with circum-polar area north of 83°40''N. Excluding the circum-polar area, the longitude extent is from 167.65° in west across the 180° meridian to 15.72° in east.',7.98,90.0,-180.0,180.0,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4750','South America - Equi7','South America including Panama.',-59.87,30.31,-124.82,-14.58,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4751','Oceania - Equi7','Australasia and the western Pacific Ocean.',-60.56,21.57,72.37,-121.05,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4752','Canada - onshore south of 60°N','Canada - onshore south of 60°N - Alberta, British Columbia (BC), Manitoba, New Brunswick (NB), Newfoundland and Labrador, Nova Scotia (NS), Ontario, Prince Edward Island (PEI), Quebec and Saskatchewan.',41.67,60.01,-139.04,-52.54,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4753','Canada - onshore north of 60°N','Canada - onshore north of 60°N - Newfoundland and Labrador; Northwest Territories (NWT); Nunavut; Quebec; Yukon.',59.99,83.17,-141.01,-60.72,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4754','Canada - onshore','Canada - onshore - Alberta; British Columbia (BC); Manitoba; New Brunswick (NB); Newfoundland and Labrador; Northwest Territories (NWT); Nova Scotia (NS); Nunavut; Ontario; Prince Edward Island (PEI); Quebec; Saskatchewan; Yukon.',41.67,83.17,-141.01,-52.54,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4755','Europe - ETRF by country','Europe - onshore and offshore: Albania; Andorra; Austria; Belgium; Bosnia and Herzegovina; Bulgaria; Croatia; Czechia; Denmark; Estonia; Faroe Islands; Finland; France; Germany; Gibraltar; Greece; Hungary; Ireland; Italy; Kosovo; Latvia; Liechtenstein; Lithuania; Luxembourg; Malta; Moldova; Monaco; Montenegro; Netherlands; North Macedonia; Norway including Svalbard and Jan Mayen; Poland; Portugal - mainland; Romania; San Marino; Serbia; Slovakia; Slovenia; Spain - mainland and Balearic islands; Sweden; Switzerland; United Kingdom (UK) including Channel Islands and Isle of Man; Vatican City State.',33.26,84.73,-16.1,38.0,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4756','Denmark - offshore','Denmark - offshore.',54.36,58.27,3.25,16.51,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4757','BES Islands - Saba onshore','Bonaire, Sint Eustatius and Saba (BES Islands or Caribbean Netherlands) - Saba - onshore.',17.56,17.71,-63.31,-63.16,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4758','Europe - 6°W to 0°W and ETRF','Europe between 6°W and 0°W and approximately 35°15''N to 80°30''N.',35.26,80.49,-6.01,0.0,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4759','Europe - 0°E to 6°E and ETRF','Europe between 0°E and 6°E and approximately 37°N to 82°27''N.',37.0,82.45,0.0,6.01,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4760','Europe - 6°E to 12°E and ETRF','Europe between 6°E and 12°E and approximately 36°30''N to 84°N.',36.53,84.01,6.0,12.01,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4761','Europe - 12°E to 18°E and ETRF','Europe between 12°E and 18°E and approximately 34°30''N to 84°N.',34.49,84.01,12.0,18.01,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4762','Europe - 18°E to 24°E and ETRF','Europe between 18°E and 24°E and approximately 33°36''N to 84°N.',33.59,84.01,18.0,24.01,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4763','Europe - 24°E to 30°E and ETRF','Europe between 24°E and 30°E and approximately 33°15''N to 84°N.',33.26,84.0,23.99,30.0,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4764','Europe - 30°E to 36°E and ETRF','Europe between 30°E and 36°E and approximately 33°55''N to 84°N.',34.05,84.0,30.0,36.0,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4765','Europe - 12°W to 6°W and ETRF','Europe between 12°W and 6°W and approximately 34°50''N to 74°10''N.',34.91,74.13,-12.01,-6.0,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4766','Europe - 12°W to 6°W and ETRF by country','Europe between 12°W and 6°W and approximately 34°50''N to 74°10''N: Faroe Islands - offshore; Ireland - offshore; Jan Mayen - onshore and offshore; Portugal - mainland - onshore and offshore; Spain - mainland - onshore and offshore; United Kingdom - UKCS offshore.',34.91,74.13,-12.01,-6.0,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4767','Europe - 6°W to 0°W and ETRF by country','Europe between 6°W and 0°W and approximately 35°15''N to 80°30''N: Faroe Islands - offshore; Ireland - offshore; Jan Mayen - offshore; Norway including Svalbard - offshore; Spain - mainland - onshore and offshore.',35.26,80.49,-6.01,0.0,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4768','Europe - 0°E to 6°E and ETRF by country','Europe between 0°E and 6°E and approximately 37°N to 82°27''N: Andorra; Denmark - offshore; Germany - offshore; Jan Mayen - offshore; Norway including Svalbard - onshore and offshore; Spain - mainland and Balearic islands - onshore and offshore.',37.0,82.45,0.0,6.01,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4769','Europe - 6°E to 12°E and ETRF by country','Europe between 6°E and 12°E and approximately 36°30''N to 84°N: Austria; Denmark - onshore and offshore; Germany - onshore and offshore; Italy - onshore and offshore; Norway including Svalbard - onshore and offshore; Spain - offshore.',36.53,84.01,6.0,12.01,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4770','Europe - 12°E to 18°E and ETRF by country','Europe between 12°E and 18°E and approximately 34°30''N to 84°N.: Austria; Croatia; Denmark - offshore and offshore; Germany - onshore and offshore; Italy - onshore and offshore; Norway including Svalbard - onshore and offshore.',34.49,84.01,12.0,18.01,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4771','Europe - 18°E to 24°E and ETRF by country','Europe between 18°E and 24°E and approximately 33°36''N to 84°N: Bulgaria; Croatia; Italy - onshore and offshore; Norway including Svalbard - onshore and offshore.',33.59,84.01,18.0,24.01,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4772','Europe - 24°E to 30°E and ETRF by country','Europe between 24°E and 30°E and approximately 33°15''N to 84°N: Bulgaria - onshore and offshore; Norway including Svalbard - onshore and offshore.',33.26,84.0,23.99,30.0,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4773','Europe - 30°E to 36°E and ETRF by country','Europe between 30°E and 36°E and approximately 33°55''N to 84°N: Bulgaria - offshore; Norway including Svalbard - onshore and offshore.',34.05,84.0,30.0,36.0,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4774','UK - London to Edinburgh','United Kingdom (UK) - on or related to the east coast mainline rail route from London (Kings Cross) via Newcastle to Edinburgh.',51.45,56.1,-3.45,0.05,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4775','UK - London to Glasgow','United Kingdom (UK) - on or related to the west coast mainline rail route from London (Euston) via Carlisle to Glasgow.',51.4,55.92,-4.33,-0.04,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4776','Greenland - offshore','Greenland - offshore.',56.38,87.03,-75.0,7.99,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4777','Brazil - Porto Alegre municipality','Brazil - Porto Alegre municipality.',-30.27,-29.93,-51.3,-51.01,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4778','Canada - CGVD28(HTv2.0)','Canada - onshore and offshore between 41°N and 84°N and west of 48°W - Alberta; British Columbia; Manitoba; New Brunswick; Newfoundland and Labrador; Northwest Territories; Nova Scotia; Nunavut; Ontario; Prince Edward Island; Quebec; Saskatchewan; Yukon.',41.0,84.0,-141.01,-48.0,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4779','Europe - Baltic Sea','Denmark, Estonia, Finland, Germany, Latvia, Lithuania, Norway, Poland, Russia and Sweden - offshore Baltic Sea including Skagerrak east of 8°30''E, Kattegat, Gulf of Bothnia, and Gulf of Finland.',53.88,65.92,8.5,30.23,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4780','Vietnam - offshore','Vietnam - offshore.',5.67,21.45,102.2,112.55,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4781','Finland - west of 24°E','Finland - west of 24°E, onshore and offshore.',58.84,69.33,19.08,24.0,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4782','Finland - 24°E to 30°E','Finland - between 24°E and 30°E, onshore and offshore.',59.64,70.09,23.99,30.0,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4783','Finland - east of 30°E','Finland - east of 30°E.',61.73,67.71,30.0,31.59,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4784','Uzbekistan - west of 60°E','Uzbekistan - west of 60°E.',41.25,45.58,55.99,60.0,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4785','Uzbekistan - 60°E to 66°E','Uzbekistan - between 60°E and 66°E.',38.22,44.82,60.0,66.0,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4786','Uzbekistan - 66°E to 72°E','Uzbekistan - between 66°E and 72°E.',37.18,43.0,66.0,72.0,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4787','Uzbekistan - east of 72°E','Uzbekistan - east of 72°E.',40.26,41.21,72.0,73.17,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4788','BES Islands - Sint Eustatius - onshore','Bonaire, Sint Eustatius and Saba (BES Islands or Caribbean Netherlands) - Sint Eustatius - onshore.',17.41,17.58,-63.05,-62.88,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4789','Brazil - Ribeirao Preto municipality','Brazil - Ribeirao Preto municipality, Sao Paulo state.',-21.37,-21.06,-47.99,-47.64,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4790','Uganda - north of equator and east of 30°E','Uganda - north of equator and east of 30°E.',0.0,4.23,30.0,35.01,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4791','Uganda - south of equator and east of 30°E','Uganda - south of equator and east of 30°E.',-1.45,0.0,30.0,33.98,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4792','Uganda - south of equator and west of 30°E','Uganda - south of equator and west of 30°E.',-1.48,0.0,29.57,30.0,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4793','Liberia - east of 12°W','Liberia - onshore, and offshore east of 12°W.',1.02,8.52,-12.0,-7.36,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4794','Liberia - west of 12°W','Liberia - offshore west of 12°W.',3.12,6.4,-13.59,-12.0,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4795','Europe - Nordic and Baltic countries','Denmark, Estonia, Finland, Latvia, Lithuania, and Sweden - onshore and offshore; Norway - onshore, nearshore, and offshore southeast of a line joining Haugesund and the western limit of the Norway-Denmark maritime boundary.',53.89,71.39,3.24,31.77,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4796','UK - Heathrow','UK - Heathrow airport and surrounding area.',51.42,51.52,-0.56,-0.37,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4797','Georgia - west of 42°E','Georgia - west of 42°E - onshore and offshore.',41.43,43.59,38.97,42.0,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4798','Georgia - east of 42°E','Georgia - east of 42°E - onshore and offshore.',41.04,43.24,41.99,46.72,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4799','UK - Oxford to Cambridge','United Kingdom (UK) - on or related to the East West Rail (Phases 2 and 3) route from Oxford to Cambridge via Bicester, Bletchley and Bedford, including the route from Claydon Junction to Aylesbury and Princes Risborough.',51.7,52.33,-1.43,0.27,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4800','Papua New Guinea - onshore and offshore - Western, Gulf and Central provinces','Papua New Guinea - onshore and offshore - Western Province, Gulf Province, Central Province, National Capital District and maritime zones offshore of these provinces.',-12.0,-4.98,139.2,149.67,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4801','UK - Sneatonthorpe to Redcar','United Kingdom (UK) - covering the surface level works associated with the Woodsmith mining project between Sneatonthorpe and Wilton works, Redcar.',54.35,54.7,-1.25,-0.45,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4802','Norway - onshore and nearshore','Norway - onshore, nearshore, and offshore southeast of a line from Haugesund to the western limit of the southern maritime boundary.',56.08,71.39,3.24,31.77,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4803','North America - Canada, USA (Conus+AK)','North America - onshore and offshore: Canada; United States (USA) - Alaska, conterminous (contiguous) lower 48 states (CONUS).',23.81,86.46,167.65,-40.73,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4805','Germany - Lower Saxony - Asse','Germany - Lower Saxony - Asse mining area.',52.11,52.16,10.6,10.7,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4806','USA - CONUS and Alaska - onshore and offshore','United States (USA) - Alaska and conterminous (contiguous) lower 48 states (CONUS) - onshore and offshore.',23.81,74.71,167.65,-65.69,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4807','USA - Gulf OCS - Texas shelf south','USA - Gulf OCS - Texas shelf south of approximately 27°50''N - leasing areas Mustang Island, North Padre Island and South Padre Island.',25.97,27.84,-97.22,-95.36,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4808','USA - Gulf OCS - Texas shelf north','USA - Gulf OCS - Texas shelf north of approximately 27°48''N - leasing areas Matagorda Island, Brazos, Galveston, High Island; Sabine Pass. ',27.79,29.54,-96.86,-93.41,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4809','USA - Gulf OCS - Louisiana shelf','USA - Gulf OCS - Louisiana shelf - leasing areas Sabine Pass; West Cameron, East Cameron, Vermilion, South Marsh Island, Eugene Island, Ship Shoal, South Pelto, Bay Marchand, South Timbalier, Grand Isle, West Delta, South Pass, Breton Sound, Main Pass, Chandeleur.',27.82,30.02,-93.82,-87.76,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4810','USA - GoM OCS - west of 96°W deep water','USA - Gulf outer continental shelf (GoM OCS) deep water west of approxinately 96°W - protraction areas Corpus Christi, Port Isabel.',26.0,27.61,-96.52,-95.87,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4811','USA - GoM OCS - 96°W to 90°W deep water','USA - Gulf outer continental shelf (GoM OCS) deep water between approxinately 96°W and 90°W - protraction areas East Breaks, Alaminos Canyon, Garden Banks, Keathley Canyon, Sigsbee Escarpment, Ewing Bank, Green Canyon, Walker Ridge, Amery Terrace.',25.61,28.69,-95.92,-89.86,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4812','USA - GoM OCS - 90°W to 84°W deep water','USA - Gulf outer continental shelf (GoM OCS) deep water between approxinately 90°W and 84°W - protraction areas Mobile, Viosca Knoll, Mississippi Canyon, Atwater Valley, Lund, Lund South, Pensacola, Destin Dome, De Soto Canyon, Lloyd Ridge, Henderson, Florida Plain, Campeche Escarpment, Apalachicola, Florida Middle Ground, The Elbow, Vernon Basin, Howell Hook, Rankin.',23.95,30.25,-89.95,-83.91,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4813','Kazakhstan - west of 48°E','Kazakhstan - west of 48°E including Caspian Sea.',47.69,50.47,46.49,48.0,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4814','Kazakhstan - 48°E to 54°E','Kazakhstan - 48°E to 54°E including Caspian Sea.',41.15,51.79,48.0,54.0,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4815','Kazakhstan - 54°E to 60°E','Kazakhstan - 54°E to 60°E including Caspian Sea.',41.26,51.18,54.0,60.0,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4816','Kazakhstan - 60°E to 66°E','Kazakhstan - 60°E to 66°E.',42.87,54.71,60.0,66.0,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4817','Kazakhstan - 66°E to 72°E','Kazakhstan - 66°E to 72°E.',40.59,55.45,66.0,72.0,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4818','Kazakhstan - 72°E to 78°E','Kazakhstan - 72°E to 78°E.',42.4,54.45,72.0,78.0,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4819','Kazakhstan - 78°E to 84°E','Kazakhstan - 78°E to 84°E.',42.19,53.18,78.0,84.0,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4820','Kazakhstan - east of 84°E','Kazakhstan - east of 84°E.',46.82,50.7,84.0,87.35,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4821','USA - Gulf central planning area deep water','United States (USA) - central Gulf of Mexico outer continental shelf (GoM OCS) planning area, deep water portion.',25.58,29.35,-93.38,-86.53,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4822','UK - Greater London','United Kingdom (UK) - Greater London and surrounding area.',51.1,52.0,-1.33,0.8,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4823','Norway - west of 0°E','Norway including Svalbard - west of 0°E.',63.47,80.49,-3.35,0.0,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4824','Norway - 0°E to 6°E','Norway including Svalbard between 0°E and 6°E, onshore and offshore.',56.08,82.45,0.0,6.0,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4825','Norway - 6°E to 12°E','Norway including Svalbard south of 84°N between 6°E and 12°E, onshore and offshore.',56.88,84.0,5.99,12.0,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4826','Norway - 12°E to 18°E','Norway including Svalbard south of 84°N between 12°E and 18°E, onshore and offshore.',59.88,84.0,12.0,18.0,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4827','Norway - 18°E to 24°E','Norway including Svalbard south of 84°N between 18°E and 24°E, onshore and offshore.',68.04,84.0,18.0,24.0,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4828','Norway - 24°E to 30°E','Norway including Svalbard south of 84°N between 24°E and 30°E, onshore and offshore.',68.58,84.0,23.99,30.0,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4829','Norway - 30°E to 36°E','Norway including Svalbard south of 84°N between 30°E and 36°E, onshore and offshore.',69.46,84.0,30.0,36.0,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4830','Norway - east of 36°E','Norway including Svalbard - east of 36°E.',72.99,79.07,36.0,38.0,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4831','Svalbard','Svalbard including Bear Island.',74.3208,81.8504,6.49005,33.50985,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4832','Portugal - mainland - onshore and offshore','Portugal - mainland ("continental") - onshore and offshore.',34.91,42.16,-13.87,-6.19,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4833','Spain - mainland and Balearic Islands','Spain - mainland, Balearic Islands, Ceuta and Melilla - onshore and offshore.',35.26,46.26,-13.86,6.3,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4834','Spain - mainland - west of 12°W','Spain - mainland offshore west of 12°W.',41.36,45.83,-13.86,-12.0,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4835','Spain - mainland - 12°W to 6°W','Spain - mainland between 12°W and 6°W - onshore and offshore.',35.75,46.26,-12.0,-5.99,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4836','Spain - mainland - 6°W to 0°E','Spain - mainland between 6°W and 0°E - onshore and offshore, including Ceuta and Melilla.',35.26,45.36,-6.0,0.0,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4837','Spain - east of 0°E','Spain - east of 0°E - onshore and offshore, including the Balearic Islands.',37.0,42.86,0.0,6.3,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4838','USA - Montana - Big Timber','United States (USA) - Montana - Big Timber.',44.9,46.31,-111.17,-109.29,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4839','Argentina - 67.5°W to 64.5°W onshore and Golfo San Jorge','Argentina - between 67°30''W and 64°30''W, onshore and offshore Golfo San Jorge.',-55.11,-21.78,-67.5,-64.49,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4840','Canada - British Columbia - mainland 138°05''W to 114°20''W','Canada - British Columbia - mainland between 138°05''W and 114°20''W and Graham Island.',48.99,60.01,-138.07,-114.33,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4841','USA - Montana - Butte','United States (USA) - Montana - Butte.',45.06,46.36,-113.65,-112.16,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4842','USA - Montana - Canyon Ferry','United States (USA) - Montana - Canyon Ferry.',45.96,47.18,-112.67,-110.14,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4843','USA - Montana - Flathead','United States (USA) - Montana - Flathead.',47.7,49.09,-115.39,-112.91,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4844','USA - Montana - Interstate','United States (USA) - Montana - Interstate.',45.7,47.89,-106.33,-103.91,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4845','USA - Montana - Mission','United States (USA) - Montana - Mission.',47.03,48.14,-115.29,-113.46,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4846','USA - Montana - Missoula','United States (USA) - Montana - Missoula.',45.93,47.69,-114.93,-113.17,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4847','USA - Montana - NECI','United States (USA) - Montana - NECI.',48.04,48.53,-110.22,-109.36,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4848','USA - Montana - Phillips','United States (USA) - Montana - Phillips.',47.36,49.09,-109.03,-107.04,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4849','Chile - onshore north of 43.5°S and west of 72°W','Chile - onshore north of 43°30''S and west of 72°W.',-43.5,-34.01,-74.48,-72.0,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4850','Chile - onshore north of 43.5°S and east of 72°W','Chile - onshore north of 43°30''S and east of 72°W.',-43.5,-17.5,-72.0,-67.0,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4851','Chile - onshore south of 43.5°S and west of 72°W','Chile - onshore south of 43°30''S and west of 72°W.',-54.48,-43.49,-75.8,-72.0,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4852','Chile - Tierra del Fuego east of 72°W','Chile - onshore Tierra del Fuego west of 72°W.',-55.96,-51.99,-72.0,-66.33,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4853','Japan - offshore and onshore mainland and outlying islands','Japan - offshore and onshore mainland and outlying islands (Tokara Islands and south, and Hachijo-jima and south).',20.88,46.05,122.38,147.86,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4854','Japan - offshore and onshore outlying islands','Japan - offshore and onshore outlying islands (Tokara Islands and south, and Hachijo-jima and south).',20.88,33.93,122.38,146.0,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4855','Wallis and Futuna - Futuna and Alofi','Wallis and Futuna - Futuna and Alofi - onshore.',-14.42,-14.18,-178.24,-177.94,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4856','USA - Maryland','United States (USA) - Maryland - counties of Allegany; Anne Arundel; Baltimore; Calvert; Caroline; Carroll; Cecil; Charles; Dorchester; Frederick; Garrett; Harford; Howard; Kent; Montgomery; Prince Georges; Queen Annes; Somerset; St Marys; Talbot; Washington; Wicomico; Worcester.',37.97,39.73,-79.49,-74.97,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4857','USA - DC metropolitan','United States (USA) - Washington DC metropolitan area: District of Columbia; Maryland - counties of Charles, Culpepper, Fauquier, Frederick, Montgomery and Prince Georges; Virginia - cities of Alexandria, Fairfax, Falls Church, Frericksberg, Manassas and Manassas Park, counties of Arlington, Clarke, Fairfax, Loudoun, Madison, Prince William, Rappahannock, Spotsylvania, Stafford, Warren; West Virginia - Jefferson county.',37.99,39.73,-78.4,-76.32,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4858','Ireland - Dublin area','Ireland - on or related to the DART+ rail project from Dublin city centre to Drogheda, Greystones, Hazelhatch and Kilcock.',53.1,53.8,-6.75,-6.0,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4859','Netherlands - offshore and nearshore - east of 2.54° and south of 55.7625°','4859 - Netherlands - offshore and nearshore - east of 2.54° and south of 55.7625°',51.33,55.76,2.54,7.21,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4860','Svalbard - onshore and offshore - west of 37.91° between 76.21° and 81.12°','4860 - Svalbard - onshore and offshore - west of 37.91° between 76.21° and 81.12°',76.22,81.11,-3.35,37.91,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4861','USA - Arkansas - SPCS83 - N','United States (USA) - Arkansas - counties of Baxter; Benton; Boone; Carroll; Clay; Cleburne; Conway; Craighead; Crawford; Crittenden; Cross; Faulkner; Franklin; Fulton; Greene; Independence; Izard; Jackson; Johnson; Lawrence; Logan; Madison; Marion; Mississippi; Newton; Perry; Poinsett; Pope; Pulaski; Randolph; Scott; Searcy; Sebastian; Sharp; St Francis; Stone; Van Buren; Washington; White; Woodruff; Yell.',34.48,36.5,-94.62,-89.64,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4862','USA - Arkansas - SPCS83 - S','United States (USA) - Arkansas - counties Arkansas; Ashley; Bradley; Calhoun; Chicot; Clark; Cleveland; Columbia; Dallas; Desha; Drew; Garland; Grant; Hempstead; Hot Spring; Howard; Jefferson; Lafayette; Lee; Lincoln; Little River; Lonoke; Miller; Monroe; Montgomery; Nevada; Ouachita; Phillips; Pike; Polk; Prairie; Saline; Sevier; Union.',33.0,35.1,-94.49,-90.4,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4863','UK - Sizewell','United Kingdom (UK) - Sizewell power station site and rail and road routes related to the site.',52.13,52.38,1.35,1.7,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4864','USA - Illinois - St Clair','United States (USA) - Illinois - St Clair county.',38.21,38.67,-90.27,-89.7,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4865','USA - Illinois - Madison','United States (USA) - Illinois - Madison county',38.65,39.0,-90.28,-89.59,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4866','USA - Illinois - Monroe','United States (USA) - Illinois - Monroe county.',38.08,38.53,-90.38,-89.89,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4867','USA - Illinois - Calhoun','United States (USA) - Illinois - Calhoun county.',38.86,39.41,-90.94,-90.45,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4868','USA - Illinois - Greene, Jersey','United States (USA) - Illinois - counties of Greene and Jersey.',38.92,39.53,-90.63,-90.14,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4869','USA - Illinois - Clinton, Washington','United States (USA) - Illinois - counties of Clinton and Washington.',38.21,38.75,-89.71,-89.13,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4870','USA - Illinois - Randolph','United States (USA) - Illinois - Randolph county.',37.79,38.23,-90.21,-89.59,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4871','USA - Illinois - Marion','United States (USA) - Illinois - Marion county.',38.47,38.83,-89.15,-88.69,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4872','USA - Illinois - Bond','United States (USA) - Illinois - Bond county.',38.74,39.03,-89.64,-89.25,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4880','Greece - onshore west of 28°51''E','Greece - onshore west of 28°51''E.',34.75,41.75,19.57,28.3,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4881','Greece - onshore east of 28°51''E','Greece - onshore east of 28°51''E - Kastellorizo.',36.05,36.19,29.42,29.69,0);
|
||||
|
||||
@@ -1,173 +0,0 @@
|
||||
-- Final consistency checks
|
||||
CREATE TABLE dummy(foo);
|
||||
CREATE TRIGGER final_checks
|
||||
BEFORE INSERT ON dummy
|
||||
FOR EACH ROW BEGIN
|
||||
|
||||
-- check that view definitions have no error
|
||||
SELECT RAISE(ABORT, 'corrupt definition of coordinate_operation_view')
|
||||
WHERE (SELECT 1 FROM coordinate_operation_view LIMIT 1) = 0;
|
||||
SELECT RAISE(ABORT, 'corrupt definition of crs_view')
|
||||
WHERE (SELECT 1 FROM crs_view LIMIT 1) = 0;
|
||||
SELECT RAISE(ABORT, 'corrupt definition of object_view')
|
||||
WHERE (SELECT 1 FROM object_view LIMIT 1) = 0;
|
||||
SELECT RAISE(ABORT, 'corrupt definition of authority_list')
|
||||
WHERE (SELECT 1 FROM authority_list LIMIT 1) = 0;
|
||||
|
||||
-- check that the auth_name of all objects in object_view is recorded in builtin_authorities
|
||||
SELECT RAISE(ABORT, 'One or several authorities referenced in object_view are missing in builtin_authorities')
|
||||
WHERE EXISTS (
|
||||
SELECT DISTINCT o.auth_name FROM object_view o WHERE NOT EXISTS (
|
||||
SELECT 1 FROM builtin_authorities b WHERE o.auth_name = b.auth_name)
|
||||
);
|
||||
|
||||
-- check that a usage is registered for most objects where this is needed
|
||||
SELECT RAISE(ABORT, 'One or several objects lack a corresponding record in the usage table')
|
||||
WHERE EXISTS (
|
||||
SELECT * FROM object_view o WHERE NOT EXISTS (
|
||||
SELECT 1 FROM usage u WHERE
|
||||
o.table_name = u.object_table_name AND
|
||||
o.auth_name = u.object_auth_name AND
|
||||
o.code = u.object_code)
|
||||
AND o.table_name NOT IN ('unit_of_measure', 'axis',
|
||||
'celestial_body', 'ellipsoid', 'prime_meridian', 'extent')
|
||||
-- the IGNF registry lacks extent for the following objects
|
||||
AND NOT (o.auth_name = 'IGNF' AND o.table_name IN ('geodetic_datum', 'vertical_datum', 'conversion'))
|
||||
);
|
||||
|
||||
SELECT RAISE(ABORT, 'Geodetic datum ensemble defined, but no ensemble member')
|
||||
WHERE EXISTS (
|
||||
SELECT * FROM geodetic_datum d WHERE ensemble_accuracy IS NOT NULL
|
||||
AND NOT EXISTS (SELECT 1 FROM geodetic_datum_ensemble_member WHERE
|
||||
d.auth_name = ensemble_auth_name AND d.code = ensemble_code)
|
||||
);
|
||||
|
||||
SELECT RAISE(ABORT, 'Vertical datum ensemble defined, but no ensemble member')
|
||||
WHERE EXISTS (
|
||||
SELECT * FROM vertical_datum d WHERE ensemble_accuracy IS NOT NULL
|
||||
AND NOT EXISTS (SELECT 1 FROM vertical_datum_ensemble_member WHERE
|
||||
d.auth_name = ensemble_auth_name AND d.code = ensemble_code)
|
||||
);
|
||||
|
||||
SELECT RAISE(ABORT, 'PROJ defines an alias that exists in EPSG')
|
||||
WHERE EXISTS (
|
||||
SELECT * FROM (
|
||||
SELECT count(*) AS count, table_name, auth_name, code, alt_name FROM alias_name
|
||||
WHERE source in ('EPSG', 'PROJ')
|
||||
AND NOT (source = 'PROJ' AND alt_name IN ('GGRS87', 'NAD27', 'NAD83'))
|
||||
GROUP BY table_name, auth_name, code, alt_name) x WHERE count > 1
|
||||
);
|
||||
|
||||
-- test to check that our custom grid transformation overrides are really needed
|
||||
SELECT RAISE(ABORT, 'PROJ grid_transformation defined whereas EPSG has one')
|
||||
WHERE EXISTS (SELECT 1 FROM grid_transformation g1
|
||||
JOIN grid_transformation g2
|
||||
ON g1.source_crs_auth_name = g2.source_crs_auth_name
|
||||
AND g1.source_crs_code = g2.source_crs_code
|
||||
AND g1.target_crs_auth_name = g2.target_crs_auth_name
|
||||
AND g1.target_crs_code = g2.target_crs_code
|
||||
WHERE g1.auth_name = 'PROJ' AND g1.code NOT LIKE '%_RESTRICTED_TO_VERTCRS%' AND g2.auth_name = 'EPSG' AND g2.deprecated = 0 AND (
|
||||
(g1.interpolation_crs_auth_name IS NULL AND g2.interpolation_crs_auth_name IS NULL) OR
|
||||
(g1.interpolation_crs_auth_name IS NOT NULL AND g2.interpolation_crs_auth_name IS NOT NULL AND
|
||||
g1.interpolation_crs_auth_name = g2.interpolation_crs_auth_name AND
|
||||
g1.interpolation_crs_code = g2.interpolation_crs_code)))
|
||||
OR EXISTS (SELECT 1 FROM grid_transformation g1
|
||||
JOIN grid_transformation g2
|
||||
ON g1.source_crs_auth_name = g2.target_crs_auth_name
|
||||
AND g1.source_crs_code = g2.target_crs_code
|
||||
AND g1.target_crs_auth_name = g1.source_crs_auth_name
|
||||
AND g1.target_crs_code = g1.source_crs_code
|
||||
WHERE g1.auth_name = 'PROJ' AND g1.code NOT LIKE '%_RESTRICTED_TO_VERTCRS%' AND g2.auth_name = 'EPSG' AND g2.deprecated = 0);
|
||||
|
||||
SELECT RAISE(ABORT, 'Arg! there is now a EPSG:102100 object. Hack in createFromUserInput() will no longer work')
|
||||
WHERE EXISTS(SELECT 1 FROM crs_view WHERE auth_name = 'EPSG' AND code = '102100');
|
||||
|
||||
-- check coordinate_operation_view "foreign keys"
|
||||
SELECT RAISE(ABORT, 'One coordinate_operation has a broken source_crs link')
|
||||
WHERE EXISTS (SELECT * FROM coordinate_operation_view cov WHERE
|
||||
cov.source_crs_auth_name || cov.source_crs_code NOT IN
|
||||
(SELECT auth_name || code FROM crs_view));
|
||||
SELECT RAISE(ABORT, 'One coordinate_operation has a broken target_crs link')
|
||||
WHERE EXISTS (SELECT * FROM coordinate_operation_view cov WHERE
|
||||
cov.target_crs_auth_name || cov.target_crs_code NOT IN
|
||||
(SELECT auth_name || code FROM crs_view));
|
||||
|
||||
-- check that transformations intersect the area of use of their source/target CRS
|
||||
-- EPSG, ESRI and IGNF have cases where this does not hold.
|
||||
SELECT RAISE(ABORT, 'The area of use of at least one coordinate_operation does not intersect the one of its source CRS')
|
||||
WHERE EXISTS (SELECT * FROM coordinate_operation_view v, crs_view c, usage vu, extent ve, usage cu, extent ce WHERE
|
||||
v.deprecated = 0 AND
|
||||
(v.table_name = 'grid_transformation' OR v.auth_name NOT IN ('EPSG', 'ESRI', 'IGNF')) AND
|
||||
v.source_crs_auth_name = c.auth_name AND
|
||||
v.source_crs_code = c.code AND
|
||||
vu.object_table_name = v.table_name AND
|
||||
vu.object_auth_name = v.auth_name AND
|
||||
vu.object_code = v.code AND
|
||||
vu.extent_auth_name = ve.auth_name AND
|
||||
vu.extent_code = ve.code AND
|
||||
cu.object_table_name = c.table_name AND
|
||||
cu.object_auth_name = c.auth_name AND
|
||||
cu.object_code = c.code AND
|
||||
cu.extent_auth_name = ce.auth_name AND
|
||||
cu.extent_code = ce.code AND
|
||||
NOT ((ce.south_lat < ve.north_lat AND ve.south_lat < ce.north_lat) OR
|
||||
(ce.west_lon < ce.east_lon AND ve.west_lon < ve.east_lon AND
|
||||
NOT (ce.west_lon < ve.east_lon AND ve.west_lon < ce.east_lon))) );
|
||||
SELECT RAISE(ABORT, 'The area of use of at least one coordinate_operation does not intersect the one of its target CRS')
|
||||
WHERE EXISTS (SELECT * FROM coordinate_operation_view v, crs_view c, usage vu, extent ve, usage cu, extent ce WHERE
|
||||
v.deprecated = 0 AND
|
||||
((v.table_name = 'grid_transformation' AND NOT (v.auth_name = 'IGNF' AND v.code = 'TSG1185'))
|
||||
OR v.auth_name NOT IN ('EPSG', 'ESRI', 'IGNF')) AND
|
||||
v.target_crs_auth_name = c.auth_name AND
|
||||
v.target_crs_code = c.code AND
|
||||
vu.object_table_name = v.table_name AND
|
||||
vu.object_auth_name = v.auth_name AND
|
||||
vu.object_code = v.code AND
|
||||
vu.extent_auth_name = ve.auth_name AND
|
||||
vu.extent_code = ve.code AND
|
||||
cu.object_table_name = c.table_name AND
|
||||
cu.object_auth_name = c.auth_name AND
|
||||
cu.object_code = c.code AND
|
||||
cu.extent_auth_name = ce.auth_name AND
|
||||
cu.extent_code = ce.code AND
|
||||
NOT ((ce.south_lat < ve.north_lat AND ve.south_lat < ce.north_lat) OR
|
||||
(ce.west_lon < ce.east_lon AND ve.west_lon < ve.east_lon AND
|
||||
NOT (ce.west_lon < ve.east_lon AND ve.west_lon < ce.east_lon))) );
|
||||
|
||||
-- check geoid_model table
|
||||
SELECT RAISE(ABORT, 'missing GEOID99 in geoid_model')
|
||||
WHERE NOT EXISTS(SELECT 1 FROM geoid_model WHERE name = 'GEOID99');
|
||||
SELECT RAISE(ABORT, 'missing GEOID03 in geoid_model')
|
||||
WHERE NOT EXISTS(SELECT 1 FROM geoid_model WHERE name = 'GEOID03');
|
||||
SELECT RAISE(ABORT, 'missing GEOID06 in geoid_model')
|
||||
WHERE NOT EXISTS(SELECT 1 FROM geoid_model WHERE name = 'GEOID06');
|
||||
SELECT RAISE(ABORT, 'missing GEOID09 in geoid_model')
|
||||
WHERE NOT EXISTS(SELECT 1 FROM geoid_model WHERE name = 'GEOID09');
|
||||
SELECT RAISE(ABORT, 'missing GEOID12A in geoid_model')
|
||||
WHERE NOT EXISTS(SELECT 1 FROM geoid_model WHERE name = 'GEOID12A');
|
||||
SELECT RAISE(ABORT, 'missing GEOID12B in geoid_model')
|
||||
WHERE NOT EXISTS(SELECT 1 FROM geoid_model WHERE name = 'GEOID12B');
|
||||
SELECT RAISE(ABORT, 'missing GEOID18 in geoid_model')
|
||||
WHERE NOT EXISTS(SELECT 1 FROM geoid_model WHERE name = 'GEOID18');
|
||||
|
||||
-- check presence of au_ga_AUSGeoid98.tif
|
||||
SELECT RAISE(ABORT, 'missing au_ga_AUSGeoid98.tif')
|
||||
WHERE NOT EXISTS(SELECT 1 FROM grid_alternatives WHERE proj_grid_name = 'au_ga_AUSGeoid98.tif');
|
||||
|
||||
-- check PROJ.VERSION value
|
||||
SELECT RAISE(ABORT, 'Value of PROJ.VERSION entry of metadata tables not substituted by actual value')
|
||||
WHERE (SELECT 1 FROM metadata WHERE key = 'PROJ.VERSION' AND value LIKE '$%');
|
||||
|
||||
-- Only available in sqlite >= 3.16. May be activated as soon as support for ubuntu 16 is dropped
|
||||
-- check all foreign key constraints have an 'ON DELETE CASCADE'
|
||||
-- SELECT RAISE(ABORT, 'FK constraint with missing "ON DELETE CASCADE"')
|
||||
-- WHERE EXISTS (SELECT 1 FROM
|
||||
-- pragma_foreign_key_list(name),
|
||||
-- (SELECT name from sqlite_master WHERE type='table')
|
||||
-- WHERE upper(on_delete) != 'CASCADE');
|
||||
|
||||
|
||||
END;
|
||||
INSERT INTO dummy DEFAULT VALUES;
|
||||
DROP TRIGGER final_checks;
|
||||
DROP TABLE dummy;
|
||||
+1161
-1499
File diff suppressed because it is too large
Load Diff
+645
-769
File diff suppressed because it is too large
Load Diff
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user