LayerMapping
utility.Function | _ogrinspect |
Helper routine for ogrinspect that generates GeoDjango models corresponding to the given data source. See the ogrinspect docstring for more details. |
Function | mapping |
Given a DataSource, generate a dictionary that may be used for invoking the LayerMapping utility. |
Function | ogrinspect |
Given a data source (either a string or a DataSource object) and a string model name this function will generate a GeoDjango model. |
ogrinspect
that generates GeoDjango models corresponding
to the given data source. See the ogrinspect
docstring for more details.Given a DataSource, generate a dictionary that may be used for invoking the LayerMapping utility.
geom_name
=> The name of the geometry field to use for the model.
layer_key
=> The key for specifying which layer in the DataSource to use;multi_geom
=> Boolean (default: False) - specify as multigeometry.
Given a data source (either a string or a DataSource object) and a string model name this function will generate a GeoDjango model.
Usage:
>>> from django.contrib.gis.utils import ogrinspect >>> ogrinspect('/path/to/shapefile.shp','NewModel')
...will print model definition to stout
or put this in a Python script and use to redirect the output to a new model like:
$ python generate_model.py > myapp/models.py
# generate_model.py from django.contrib.gis.utils import ogrinspect shp_file = 'data/mapping_hacks/world_borders.shp' model_name = 'WorldBorders'
datasource
=> string or DataSource object to file pointer
model name
=> string of name of new model class to create
geom_name
=> For specifying the model name for the Geometry Field.geom
layer_key
=> The key for specifying which layer in the DataSource to use;srid
=> The SRID to use for the Geometry Field. If it can be determined,multi_geom
=> Boolean (default: False) - specify as multigeometry.
name_field
=> String - specifies a field name to return for theimports
=> Boolean (default: True) - set to False to omit thefrom django.contrib.gis.db import models
code from the
autogenerated models thus avoiding duplicated imports when building
more than one model by batching ogrinspect()decimal
=> Boolean or sequence (default: False). When set to TrueOFTReal
type will
be DecimalField
instead of FloatField
. A sequence of specific
field names to generate as DecimalField
may also be used.blank
=> Boolean or sequence (default: False). When set to True allblank=True
. If the user wants to
give specific fields to have blank, then a list/tuple of OGR field
names may be used.null
=> Boolean (default: False) - When set to True all generatednull=True
. If the user wants to specify
give specific fields to have null, then a list/tuple of OGR field
names may be used.Note: Call the _ogrinspect() helper to do the heavy lifting.