Corrected outputs and made cosmetic edits in GeoDjango tutorial.
@@ -258,7 +258,7 @@ This command should produce the following output:
-- Create model WorldBorder
--
CREATE TABLE "world_worldborder" (
- "id" serial NOT NULL PRIMARY KEY,
+ "id" bigserial NOT NULL PRIMARY KEY,
"name" varchar(50) NOT NULL,
"area" integer NOT NULL,
"pop2005" integer NOT NULL,
@@ -367,13 +367,20 @@ system associated with it. If it does, the ``srs`` attribute will return a
>>> srs = lyr.srs
>>> print(srs)
- GEOGCS["GCS_WGS_1984",
+ GEOGCS["WGS 84",
DATUM["WGS_1984",
- SPHEROID["WGS_1984",6378137.0,298.257223563]],
- PRIMEM["Greenwich",0.0],
- UNIT["Degree",0.0174532925199433]]
+ SPHEROID["WGS 84",6378137,298.257223563,
+ AUTHORITY["EPSG","7030"]],
+ AUTHORITY["EPSG","6326"]],
+ PRIMEM["Greenwich",0,
+ AUTHORITY["EPSG","8901"]],
+ UNIT["degree",0.0174532925199433,
+ AUTHORITY["EPSG","9122"]],
+ AXIS["Latitude",NORTH],
+ AXIS["Longitude",EAST],
+ AUTHORITY["EPSG","4326"]]
>>> srs.proj # PROJ representation
- '+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs '
+ '+proj=longlat +datum=WGS84 +no_defs'
This shapefile is in the popular WGS84 spatial reference
system -- in other words, the data uses longitude, latitude pairs in
@@ -389,7 +396,7 @@ The following code will let you examine the OGR types (e.g. integer or
string) associated with each of the fields:
>>> [fld.__name__ for fld in lyr.field_types]
- ['OFTString', 'OFTString', 'OFTString', 'OFTInteger', 'OFTString', 'OFTInteger', 'OFTInteger', 'OFTInteger', 'OFTInteger', 'OFTReal', 'OFTReal']
+ ['OFTString', 'OFTString', 'OFTString', 'OFTInteger', 'OFTString', 'OFTInteger', 'OFTInteger64', 'OFTInteger', 'OFTInteger', 'OFTReal', 'OFTReal']
You can iterate over each feature in the layer and extract information from both
the feature's geometry (accessed via the ``geom`` attribute) as well as the
@@ -423,11 +430,10 @@ Boundary geometries may be exported as WKT and GeoJSON::
>>> print(geom.json)
{ "type": "Polygon", "coordinates": [ [ [ 12.415798, 43.957954 ], [ 12.450554, 43.979721 ], ...
-
``LayerMapping``
----------------
-To import the data, use a LayerMapping in a Python script.
+To import the data, use a ``LayerMapping`` in a Python script.
Create a file called ``load.py`` inside the ``world`` application,
with the following code::
@@ -685,7 +691,6 @@ GeoDjango also offers a set of geographic annotations to compute distances and
several other operations (intersection, difference, etc.). See the
:doc:`functions` documentation.
-
Putting your data on the map
============================
