mirror of https://github.com/django/django.git
Renamed PROJ.4 to PROJ.
This commit is contained in:
parent
fbdb032de2
commit
d4c5ef3ebb
|
@ -314,7 +314,7 @@ class PostGISOperations(BaseSpatialOperations, DatabaseOperations):
|
|||
return self._get_postgis_func('postgis_lib_version')
|
||||
|
||||
def postgis_proj_version(self):
|
||||
"Return the version of the PROJ.4 library used with PostGIS."
|
||||
"""Return the version of the PROJ library used with PostGIS."""
|
||||
return self._get_postgis_func('postgis_proj_version')
|
||||
|
||||
def postgis_version(self):
|
||||
|
@ -335,7 +335,7 @@ class PostGISOperations(BaseSpatialOperations, DatabaseOperations):
|
|||
|
||||
def proj_version_tuple(self):
|
||||
"""
|
||||
Return the version of PROJ.4 used by PostGIS as a tuple of the
|
||||
Return the version of PROJ used by PostGIS as a tuple of the
|
||||
major, minor, and subminor release numbers.
|
||||
"""
|
||||
proj_regex = re.compile(r'(\d+)\.(\d+)\.(\d+)')
|
||||
|
@ -344,7 +344,7 @@ class PostGISOperations(BaseSpatialOperations, DatabaseOperations):
|
|||
if m:
|
||||
return tuple(map(int, m.groups()))
|
||||
else:
|
||||
raise Exception('Could not determine PROJ.4 version from PostGIS.')
|
||||
raise Exception('Could not determine PROJ version from PostGIS.')
|
||||
|
||||
def spatial_aggregate_name(self, agg_name):
|
||||
if agg_name == 'Extent3D':
|
||||
|
|
|
@ -159,8 +159,8 @@ class SpatiaLiteOperations(BaseSpatialOperations, DatabaseOperations):
|
|||
"Return the version of GEOS used by SpatiaLite as a string."
|
||||
return self._get_spatialite_func('geos_version()')
|
||||
|
||||
def proj4_version(self):
|
||||
"Return the version of the PROJ.4 library used by SpatiaLite."
|
||||
def proj_version(self):
|
||||
"""Return the version of the PROJ library used by SpatiaLite."""
|
||||
return self._get_spatialite_func('proj4_version()')
|
||||
|
||||
def lwgeom_version(self):
|
||||
|
|
|
@ -383,7 +383,7 @@ class OGRGeometry(GDALBase):
|
|||
"""
|
||||
Transform this geometry to a different spatial reference system.
|
||||
May take a CoordTransform object, a SpatialReference object, string
|
||||
WKT or PROJ.4, and/or an integer SRID. By default, return nothing
|
||||
WKT or PROJ, and/or an integer SRID. By default, return nothing
|
||||
and transform the geometry in-place. However, if the `clone` keyword is
|
||||
set, return a transformed clone of this geometry.
|
||||
"""
|
||||
|
|
|
@ -57,7 +57,7 @@ identify_epsg = void_output(lgdal.OSRAutoIdentifyEPSG, [c_void_p])
|
|||
linear_units = units_func(lgdal.OSRGetLinearUnits)
|
||||
angular_units = units_func(lgdal.OSRGetAngularUnits)
|
||||
|
||||
# For exporting to WKT, PROJ.4, "Pretty" WKT, and XML.
|
||||
# For exporting to WKT, PROJ, "Pretty" WKT, and XML.
|
||||
to_wkt = string_output(std_call('OSRExportToWkt'), [c_void_p, POINTER(c_char_p)], decoding='utf-8')
|
||||
to_proj = string_output(std_call('OSRExportToProj4'), [c_void_p, POINTER(c_char_p)], decoding='ascii')
|
||||
to_pretty_wkt = string_output(
|
||||
|
|
|
@ -53,7 +53,7 @@ class SpatialReference(GDALBase):
|
|||
"""
|
||||
Create a GDAL OSR Spatial Reference object from the given input.
|
||||
The input may be string of OGC Well Known Text (WKT), an integer
|
||||
EPSG code, a PROJ.4 string, and/or a projection "well known" shorthand
|
||||
EPSG code, a PROJ string, and/or a projection "well known" shorthand
|
||||
string (one of 'WGS84', 'WGS72', 'NAD27', 'NAD83').
|
||||
"""
|
||||
if not isinstance(axis_order, (type(None), AxisOrder)):
|
||||
|
@ -296,7 +296,7 @@ class SpatialReference(GDALBase):
|
|||
capi.from_epsg(self.ptr, epsg)
|
||||
|
||||
def import_proj(self, proj):
|
||||
"Import the Spatial Reference from a PROJ.4 string."
|
||||
"""Import the Spatial Reference from a PROJ string."""
|
||||
capi.from_proj(self.ptr, proj)
|
||||
|
||||
def import_user_input(self, user_input):
|
||||
|
@ -324,7 +324,7 @@ class SpatialReference(GDALBase):
|
|||
|
||||
@property
|
||||
def proj(self):
|
||||
"Return the PROJ.4 representation for this Spatial Reference."
|
||||
"""Return the PROJ representation for this Spatial Reference."""
|
||||
return capi.to_proj(self.ptr, byref(c_char_p()))
|
||||
|
||||
@property
|
||||
|
|
|
@ -447,7 +447,7 @@ class GEOSGeometryBase(GEOSBase):
|
|||
"""
|
||||
Requires GDAL. Transform the geometry according to the given
|
||||
transformation object, which may be an integer SRID, and WKT or
|
||||
PROJ.4 string. By default, transform the geometry in-place and return
|
||||
PROJ string. By default, transform the geometry in-place and return
|
||||
nothing. However if the `clone` keyword is set, don't modify the
|
||||
geometry and return a transformed clone instead.
|
||||
"""
|
||||
|
|
|
@ -628,7 +628,7 @@ coordinate transformation::
|
|||
Transforms this geometry to a different spatial reference system. May take
|
||||
a :class:`CoordTransform` object, a :class:`SpatialReference` object, or
|
||||
any other input accepted by :class:`SpatialReference` (including spatial
|
||||
reference WKT and PROJ.4 strings, or an integer SRID).
|
||||
reference WKT and PROJ strings, or an integer SRID).
|
||||
|
||||
By default nothing is returned and the geometry is transformed in-place.
|
||||
However, if the ``clone`` keyword is set to ``True`` then a transformed
|
||||
|
@ -881,7 +881,7 @@ Coordinate System Objects
|
|||
|
||||
* OGC Well Known Text (WKT) (a string)
|
||||
* EPSG code (integer or string)
|
||||
* PROJ.4 string
|
||||
* PROJ string
|
||||
* A shorthand string for well-known standards (``'WGS84'``, ``'WGS72'``,
|
||||
``'NAD27'``, ``'NAD83'``)
|
||||
|
||||
|
@ -890,8 +890,8 @@ Coordinate System Objects
|
|||
>>> wgs84 = SpatialReference('WGS84') # shorthand string
|
||||
>>> wgs84 = SpatialReference(4326) # EPSG code
|
||||
>>> wgs84 = SpatialReference('EPSG:4326') # EPSG string
|
||||
>>> proj4 = '+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs '
|
||||
>>> wgs84 = SpatialReference(proj4) # PROJ.4 string
|
||||
>>> proj = '+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs '
|
||||
>>> wgs84 = SpatialReference(proj) # PROJ string
|
||||
>>> wgs84 = SpatialReference("""GEOGCS["WGS 84",
|
||||
DATUM["WGS_1984",
|
||||
SPHEROID["WGS 84",6378137,298.257223563,
|
||||
|
@ -967,7 +967,7 @@ Coordinate System Objects
|
|||
|
||||
.. method:: import_proj(proj)
|
||||
|
||||
Import spatial reference from PROJ.4 string.
|
||||
Import spatial reference from PROJ string.
|
||||
|
||||
.. method:: import_user_input(user_input)
|
||||
|
||||
|
@ -1050,7 +1050,7 @@ Coordinate System Objects
|
|||
|
||||
.. attribute:: proj
|
||||
|
||||
Returns the PROJ.4 representation for this spatial reference.
|
||||
Returns the PROJ representation for this spatial reference.
|
||||
|
||||
.. attribute:: proj4
|
||||
|
||||
|
|
|
@ -642,12 +642,11 @@ Other Properties & Methods
|
|||
|
||||
Transforms the geometry according to the given coordinate transformation
|
||||
parameter (``ct``), which may be an integer SRID, spatial reference WKT
|
||||
string, a PROJ.4 string, a
|
||||
:class:`~django.contrib.gis.gdal.SpatialReference` object, or a
|
||||
:class:`~django.contrib.gis.gdal.CoordTransform` object. By default, the
|
||||
geometry is transformed in-place and nothing is returned. However if the
|
||||
``clone`` keyword is set, then the geometry is not modified and a
|
||||
transformed clone of the geometry is returned instead.
|
||||
string, a PROJ string, a :class:`~django.contrib.gis.gdal.SpatialReference`
|
||||
object, or a :class:`~django.contrib.gis.gdal.CoordTransform` object. By
|
||||
default, the geometry is transformed in-place and nothing is returned.
|
||||
However if the ``clone`` keyword is set, then the geometry is not modified
|
||||
and a transformed clone of the geometry is returned instead.
|
||||
|
||||
.. note::
|
||||
|
||||
|
|
|
@ -9,7 +9,7 @@ geospatial libraries:
|
|||
Program Description Required Supported Versions
|
||||
======================== ==================================== ================================ ===================================
|
||||
:doc:`GEOS <../geos>` Geometry Engine Open Source Yes 3.8, 3.7, 3.6, 3.5
|
||||
`PROJ.4`_ Cartographic Projections library Yes (PostgreSQL and SQLite only) 6.3, 6.2, 6.1, 6.0, 5.x, 4.x
|
||||
`PROJ`_ Cartographic Projections library Yes (PostgreSQL and SQLite only) 6.x, 5.x, 4.x
|
||||
:doc:`GDAL <../gdal>` Geospatial Data Abstraction Library Yes 3.1, 3.0, 2.4, 2.3, 2.2, 2.1, 2.0
|
||||
:doc:`GeoIP <../geoip2>` IP-based geolocation library No 2
|
||||
`PostGIS`__ Spatial extensions for PostgreSQL Yes (PostgreSQL only) 3.0, 2.5, 2.4, 2.3, 2.2
|
||||
|
@ -45,7 +45,7 @@ totally fine with GeoDjango. Your mileage may vary.
|
|||
independently of Django. In other words, no database or settings file
|
||||
required -- import them as normal from :mod:`django.contrib.gis`.
|
||||
|
||||
.. _PROJ.4: https://github.com/OSGeo/proj.4/wiki/
|
||||
.. _PROJ: https://proj.org/
|
||||
__ https://postgis.net/
|
||||
__ https://www.gaia-gis.it/gaia-sins/
|
||||
|
||||
|
@ -146,13 +146,13 @@ See also :ref:`My logs are filled with GEOS-related errors <geos-exceptions-in-l
|
|||
|
||||
.. _proj4:
|
||||
|
||||
PROJ.4
|
||||
------
|
||||
PROJ
|
||||
----
|
||||
|
||||
`PROJ.4`_ is a library for converting geospatial data to different coordinate
|
||||
`PROJ`_ is a library for converting geospatial data to different coordinate
|
||||
reference systems.
|
||||
|
||||
First, download the PROJ.4 source code and datum shifting files [#]_::
|
||||
First, download the PROJ source code and datum shifting files [#]_::
|
||||
|
||||
$ wget https://download.osgeo.org/proj/proj-X.Y.Z.tar.gz
|
||||
$ wget https://download.osgeo.org/proj/proj-datumgrid-X.Y.tar.gz
|
||||
|
@ -165,7 +165,7 @@ Next, untar the source code archive, and extract the datum shifting files in the
|
|||
$ tar xzf ../../proj-datumgrid-X.Y.tar.gz
|
||||
$ cd ..
|
||||
|
||||
Finally, configure, make and install PROJ.4::
|
||||
Finally, configure, make and install PROJ::
|
||||
|
||||
$ ./configure
|
||||
$ make
|
||||
|
@ -234,7 +234,7 @@ the GDAL library. For example::
|
|||
.. rubric:: Footnotes
|
||||
.. [#] The datum shifting files are needed for converting data to and from
|
||||
certain projections.
|
||||
For example, the PROJ.4 string for the `Google projection (900913 or 3857)
|
||||
For example, the PROJ string for the `Google projection (900913 or 3857)
|
||||
<https://spatialreference.org/ref/sr-org/6864/prj/>`_ requires the
|
||||
``null`` grid file only included in the extra datum shifting files.
|
||||
It is easier to install the shifting files now, then to have debug a
|
||||
|
|
|
@ -58,10 +58,10 @@ supported versions, and any notes for each of the supported database backends:
|
|||
================== ============================== ================== =========================================
|
||||
Database Library Requirements Supported Versions Notes
|
||||
================== ============================== ================== =========================================
|
||||
PostgreSQL GEOS, GDAL, PROJ.4, PostGIS 9.5+ Requires PostGIS.
|
||||
PostgreSQL GEOS, GDAL, PROJ, PostGIS 9.5+ Requires PostGIS.
|
||||
MySQL GEOS, GDAL 5.6.1+ :ref:`Limited functionality <mysql-spatial-limitations>`.
|
||||
Oracle GEOS, GDAL 12.2+ XE not supported.
|
||||
SQLite GEOS, GDAL, PROJ.4, SpatiaLite 3.8.3+ Requires SpatiaLite 4.3+
|
||||
SQLite GEOS, GDAL, PROJ, SpatiaLite 3.8.3+ Requires SpatiaLite 4.3+
|
||||
================== ============================== ================== =========================================
|
||||
|
||||
See also `this comparison matrix`__ on the OSGeo Wiki for
|
||||
|
@ -446,7 +446,7 @@ __ http://www.stickpeople.com/projects/python/win-psycopg/
|
|||
OSGeo4W
|
||||
~~~~~~~
|
||||
|
||||
The `OSGeo4W installer`_ helps to install the PROJ.4, GDAL, and GEOS libraries
|
||||
The `OSGeo4W installer`_ helps to install the PROJ, GDAL, and GEOS libraries
|
||||
required by GeoDjango. First, download the `OSGeo4W installer`_, and run it.
|
||||
Select :menuselection:`Express Web-GIS Install` and click next. In the 'Select
|
||||
Packages' list, ensure that GDAL is selected; MapServer and Apache are also
|
||||
|
|
|
@ -26,7 +26,7 @@ __ https://www.gaia-gis.it/gaia-sins/
|
|||
Installing from source
|
||||
======================
|
||||
|
||||
:doc:`GEOS and PROJ.4</ref/contrib/gis/install/geolibs>` should be installed
|
||||
:doc:`GEOS and PROJ</ref/contrib/gis/install/geolibs>` should be installed
|
||||
prior to building SpatiaLite.
|
||||
|
||||
SQLite
|
||||
|
|
|
@ -114,7 +114,7 @@ Keyword Arguments
|
|||
|
||||
``source_srs`` Use this to specify the source SRS manually (for
|
||||
example, some shapefiles don't come with a ``'.prj'``
|
||||
file). An integer SRID, WKT or PROJ.4 strings, and
|
||||
file). An integer SRID, WKT or PROJ strings, and
|
||||
:class:`django.contrib.gis.gdal.SpatialReference`
|
||||
objects are accepted.
|
||||
|
||||
|
|
|
@ -372,7 +372,7 @@ system associated with it. If it does, the ``srs`` attribute will return a
|
|||
SPHEROID["WGS_1984",6378137.0,298.257223563]],
|
||||
PRIMEM["Greenwich",0.0],
|
||||
UNIT["Degree",0.0174532925199433]]
|
||||
>>> srs.proj4 # PROJ.4 representation
|
||||
>>> srs.proj # PROJ representation
|
||||
'+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs '
|
||||
|
||||
This shapefile is in the popular WGS84 spatial reference
|
||||
|
@ -751,7 +751,7 @@ This provides more context (including street and thoroughfare details) than
|
|||
available with the :class:`~django.contrib.gis.admin.GeoModelAdmin`
|
||||
(which uses the `Vector Map Level 0`_ WMS dataset hosted at `OSGeo`_).
|
||||
|
||||
The PROJ.4 datum shifting files must be installed (see the :ref:`PROJ.4
|
||||
The PROJ datum shifting files must be installed (see the :ref:`PROJ
|
||||
installation instructions <proj4>` for more details).
|
||||
|
||||
If you meet this requirement, then substitute the ``OSMGeoAdmin`` option class
|
||||
|
|
|
@ -227,7 +227,8 @@ backends.
|
|||
Miscellaneous
|
||||
-------------
|
||||
|
||||
* ...
|
||||
* The undocumented ``SpatiaLiteOperations.proj4_version()`` method is renamed
|
||||
to ``proj_version()``.
|
||||
|
||||
.. _deprecated-features-3.2:
|
||||
|
||||
|
|
|
@ -181,7 +181,7 @@ class SpatialRefTest(SimpleTestCase):
|
|||
)
|
||||
|
||||
def test04_proj(self):
|
||||
"Test PROJ.4 import and export."
|
||||
"""PROJ import and export."""
|
||||
proj_parts = [
|
||||
'+proj=longlat', '+ellps=WGS84', '+towgs84=0,0,0,0,0,0,0', '+datum=WGS84', '+no_defs'
|
||||
]
|
||||
|
|
|
@ -11,7 +11,7 @@ test_srs = ({
|
|||
# Only the beginning, because there are differences depending on installed libs
|
||||
'srtext': 'GEOGCS["WGS 84",DATUM["WGS_1984",SPHEROID["WGS 84"',
|
||||
# +ellps=WGS84 has been removed in the 4326 proj string in proj-4.8
|
||||
'proj4_re': r'\+proj=longlat (\+ellps=WGS84 )?(\+datum=WGS84 |\+towgs84=0,0,0,0,0,0,0 )\+no_defs ?',
|
||||
'proj_re': r'\+proj=longlat (\+ellps=WGS84 )?(\+datum=WGS84 |\+towgs84=0,0,0,0,0,0,0 )\+no_defs ?',
|
||||
'spheroid': 'WGS 84', 'name': 'WGS 84',
|
||||
'geographic': True, 'projected': False, 'spatialite': True,
|
||||
# From proj's "cs2cs -le" and Wikipedia (semi-minor only)
|
||||
|
@ -37,7 +37,7 @@ test_srs = ({
|
|||
'PROJCS["NAD83 / Texas South Central",GEOGCS["NAD83",'
|
||||
'DATUM["North_American_Datum_1983",SPHEROID["GRS 1980"'
|
||||
),
|
||||
'proj4_re': r'\+proj=lcc (\+lat_1=30.28333333333333? |\+lat_2=28.38333333333333? |\+lat_0=27.83333333333333? |'
|
||||
'proj_re': r'\+proj=lcc (\+lat_1=30.28333333333333? |\+lat_2=28.38333333333333? |\+lat_0=27.83333333333333? |'
|
||||
r'\+lon_0=-99 ){4}\+x_0=600000 \+y_0=4000000 (\+ellps=GRS80 )?'
|
||||
r'(\+datum=NAD83 |\+towgs84=0,0,0,0,0,0,0 )?\+units=m \+no_defs ?',
|
||||
'spheroid': 'GRS 1980', 'name': 'NAD83 / Texas South Central',
|
||||
|
@ -74,10 +74,10 @@ class SpatialRefSysTest(TestCase):
|
|||
|
||||
self.assertEqual(sd['auth_srid'], srs.auth_srid)
|
||||
|
||||
# No proj.4 and different srtext on oracle backends :(
|
||||
# No PROJ and different srtext on oracle backends :(
|
||||
if postgis:
|
||||
self.assertTrue(srs.wkt.startswith(sd['srtext']))
|
||||
self.assertRegex(srs.proj4text, sd['proj4_re'])
|
||||
self.assertRegex(srs.proj4text, sd['proj_re'])
|
||||
|
||||
def test_osr(self):
|
||||
"""
|
||||
|
@ -90,14 +90,14 @@ class SpatialRefSysTest(TestCase):
|
|||
self.assertEqual(sd['projected'], sr.projected)
|
||||
|
||||
if not (spatialite and not sd['spatialite']):
|
||||
# Can't get 'NAD83 / Texas South Central' from PROJ.4 string
|
||||
# Can't get 'NAD83 / Texas South Central' from PROJ string
|
||||
# on SpatiaLite
|
||||
self.assertTrue(sr.name.startswith(sd['name']))
|
||||
|
||||
# Testing the SpatialReference object directly.
|
||||
if postgis or spatialite:
|
||||
srs = sr.srs
|
||||
self.assertRegex(srs.proj4, sd['proj4_re'])
|
||||
self.assertRegex(srs.proj, sd['proj_re'])
|
||||
self.assertTrue(srs.wkt.startswith(sd['srtext']))
|
||||
|
||||
def test_ellipsoid(self):
|
||||
|
|
Loading…
Reference in New Issue