Loading django/contrib/gis/gdal/geomtype.py +8 −0 Original line number Diff line number Diff line Loading @@ -85,3 +85,11 @@ class OGRGeomType(object): elif s == 'Unknown': s = 'Geometry' return s + 'Field' def to_multi(self): """ Transform Point, LineString, Polygon, and their 25D equivalents to their Multi... counterpart. """ if self.name.startswith(('Point', 'LineString', 'Polygon')): self.num += 3 django/contrib/gis/utils/ogrinspect.py +6 −9 Original line number Diff line number Diff line Loading @@ -43,11 +43,9 @@ def mapping(data_source, geom_name='geom', layer_key=0, multi_geom=False): mfield += 'field' _mapping[mfield] = field gtype = data_source[layer_key].geom_type if multi_geom and gtype.num in (1, 2, 3): prefix = 'MULTI' else: prefix = '' _mapping[geom_name] = prefix + str(gtype).upper() if multi_geom: gtype.to_multi() _mapping[geom_name] = str(gtype).upper() return _mapping Loading Loading @@ -210,9 +208,8 @@ def _ogrinspect(data_source, model_name, geom_name='geom', layer_key=0, srid=Non # TODO: Autodetection of multigeometry types (see #7218). gtype = layer.geom_type if multi_geom and gtype.num in (1, 2, 3): geom_field = 'Multi%s' % gtype.django else: if multi_geom: gtype.to_multi() geom_field = gtype.django # Setting up the SRID keyword string. Loading tests/gis_tests/data/gas_lines/gas_leitung.dbf 0 → 100644 +5.33 KiB File added.No diff preview for this file type. View file tests/gis_tests/data/gas_lines/gas_leitung.prj 0 → 100644 +1 −0 Original line number Diff line number Diff line PROJCS["MGI_Ferro_Austria_GK_East",GEOGCS["GCS_MGI_Ferro",DATUM["D_MGI",SPHEROID["Bessel_1841",6377397.155,299.1528128]],PRIMEM["Ferro",-17.66666666666667],UNIT["Degree",0.0174532925199433]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",0.0],PARAMETER["False_Northing",-5000000.0],PARAMETER["Central_Meridian",34.0],PARAMETER["Scale_Factor",1.0],PARAMETER["Latitude_Of_Origin",0.0],UNIT["Meter",1.0]] No newline at end of file tests/gis_tests/data/gas_lines/gas_leitung.shp 0 → 100644 +37.2 KiB File added.No diff preview for this file type. View file Loading
django/contrib/gis/gdal/geomtype.py +8 −0 Original line number Diff line number Diff line Loading @@ -85,3 +85,11 @@ class OGRGeomType(object): elif s == 'Unknown': s = 'Geometry' return s + 'Field' def to_multi(self): """ Transform Point, LineString, Polygon, and their 25D equivalents to their Multi... counterpart. """ if self.name.startswith(('Point', 'LineString', 'Polygon')): self.num += 3
django/contrib/gis/utils/ogrinspect.py +6 −9 Original line number Diff line number Diff line Loading @@ -43,11 +43,9 @@ def mapping(data_source, geom_name='geom', layer_key=0, multi_geom=False): mfield += 'field' _mapping[mfield] = field gtype = data_source[layer_key].geom_type if multi_geom and gtype.num in (1, 2, 3): prefix = 'MULTI' else: prefix = '' _mapping[geom_name] = prefix + str(gtype).upper() if multi_geom: gtype.to_multi() _mapping[geom_name] = str(gtype).upper() return _mapping Loading Loading @@ -210,9 +208,8 @@ def _ogrinspect(data_source, model_name, geom_name='geom', layer_key=0, srid=Non # TODO: Autodetection of multigeometry types (see #7218). gtype = layer.geom_type if multi_geom and gtype.num in (1, 2, 3): geom_field = 'Multi%s' % gtype.django else: if multi_geom: gtype.to_multi() geom_field = gtype.django # Setting up the SRID keyword string. Loading
tests/gis_tests/data/gas_lines/gas_leitung.dbf 0 → 100644 +5.33 KiB File added.No diff preview for this file type. View file
tests/gis_tests/data/gas_lines/gas_leitung.prj 0 → 100644 +1 −0 Original line number Diff line number Diff line PROJCS["MGI_Ferro_Austria_GK_East",GEOGCS["GCS_MGI_Ferro",DATUM["D_MGI",SPHEROID["Bessel_1841",6377397.155,299.1528128]],PRIMEM["Ferro",-17.66666666666667],UNIT["Degree",0.0174532925199433]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",0.0],PARAMETER["False_Northing",-5000000.0],PARAMETER["Central_Meridian",34.0],PARAMETER["Scale_Factor",1.0],PARAMETER["Latitude_Of_Origin",0.0],UNIT["Meter",1.0]] No newline at end of file
tests/gis_tests/data/gas_lines/gas_leitung.shp 0 → 100644 +37.2 KiB File added.No diff preview for this file type. View file