Django

Code

Show
Ignore:
Timestamp:
06/19/08 15:01:29 (7 months ago)
Author:
jbronn
Message:

gis: Added the ogrinspect management command.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • django/branches/gis/django/contrib/gis/utils/ogrinspect.py

    r7570 r7709  
    1111from django.contrib.gis.gdal.field import OFTDate, OFTDateTime, OFTInteger, OFTReal, OFTString, OFTTime 
    1212 
    13 def mapping(data_source, geom_name='geom', layer_key=0): 
     13def mapping(data_source, geom_name='geom', layer_key=0, multi_geom=False): 
    1414    """ 
    1515    Given a DataSource, generates a dictionary that may be used  
     
    2222       defaults to 0 (the first layer).  May be an integer index or a string 
    2323       identifier for the layer. 
     24 
     25     `multi_geom` => Boolean (default: False) - specify as multigeometry. 
    2426    """ 
    2527    if isinstance(data_source, basestring): 
     
    4042        _mapping[mfield] = field 
    4143    gtype = data_source[layer_key].geom_type 
    42     _mapping[geom_name] = str(gtype).upper() 
    43  
     44    if multi_geom and gtype.num in (1, 2, 3): prefix = 'MULTI' 
     45    else: prefix = '' 
     46    _mapping[geom_name] = prefix + str(gtype).upper() 
    4447    return _mapping 
    4548