def handle(self, *args, **kwargs): tree_id = int(args[0]) level = int(args[1]) shape_file = args[2] ds = DataSource(shape_file) layer = ds[0] with Area.objects.delay_mptt_updates(): for feat in layer: parent_id = feat['ID_%s' % (level - 1, )].value area_id = feat['ID_%s' % level].value area_name = unicode(feat['NAME_%s' % level].value, 'iso-8859-1') try: area_varname = unicode(feat['VARNAME_%s' % level].value, 'iso-8859-1') except: area_varname = '' area_type = unicode(feat['TYPE_%s' % level].value, 'iso-8859-1') try: Area.objects.get(tree_id=tree_id, level=level, shape_id=area_id) except Area.DoesNotExist: pass else: continue mpgeom = OGRGeometry('MultiPolygon') mpgeom.add(feat.geom) area_geom = GEOSGeometry(mpgeom.wkt) print "%s (%s): %s (%s)" % (area_id, parent_id, area_name, area_type) area = Area() area.shape_id = area_id area.parent_id = Area.objects.get(tree_id=tree_id, level=(level - 1), shape_id=parent_id).pk area.name = area_name area.varname = area_varname area.type = area_type area.save() areageom = Geom(area=area) areageom.geom = area_geom areageom.save()
def handle(self, *args, **kwargs): tree_id = int(args[0]) level = int(args[1]) shape_file = args[2] ds = DataSource(shape_file) layer = ds[0] with Area.objects.delay_mptt_updates(): for feat in layer: parent_id = feat['ID_%s' % (level-1,)].value area_id = feat['ID_%s' % level].value area_name = unicode(feat['NAME_%s' % level].value, 'iso-8859-1') try: area_varname = unicode(feat['VARNAME_%s' % level].value, 'iso-8859-1') except: area_varname = '' area_type = unicode(feat['TYPE_%s' % level].value, 'iso-8859-1') try: Area.objects.get(tree_id=tree_id, level=level, shape_id=area_id) except Area.DoesNotExist: pass else: continue mpgeom = OGRGeometry('MultiPolygon') mpgeom.add(feat.geom) area_geom = GEOSGeometry(mpgeom.wkt) print "%s (%s): %s (%s)" % (area_id, parent_id, area_name, area_type) area = Area() area.shape_id = area_id area.parent_id = Area.objects.get(tree_id=tree_id, level=(level-1), shape_id=parent_id).pk area.name = area_name area.varname = area_varname area.type = area_type area.save() areageom = Geom(area=area) areageom.geom = area_geom areageom.save()
def handle(self, *args, **kwargs): level = int(args[0]) shape_file = args[1] ds = DataSource(shape_file) layer = ds[0] print layer.fields if level == 0: for feat in layer: area_id = feat['GADMID'].value area_name = feat['NAME_ENGLI'].value area_varname = feat['NAME_LOCAL'].value mpgeom = OGRGeometry('MultiPolygon') mpgeom.add(feat.geom) area_geom = GEOSGeometry(mpgeom.wkt) print "%s %s %s" % (area_id, area_name, area_varname) area = Area() area.id = area_id area.name = area_name area.varname = area_varname area.type = 'Country' area.save() areageom = Geom(area=area) areageom.geom = area_geom areageom.save() else: for feat in layer: parent_id = feat['ID_%s' % (level-1,)].value area_id = feat['ID_%s' % level].value area_name = unicode(feat['NAME_%s' % level].value, 'iso-8859-1') area_varname = unicode(feat['VARNAME_%s' % level].value, 'iso-8859-1') area_type = unicode(feat['TYPE_%s' % level].value, 'iso-8859-1') mpgeom = OGRGeometry('MultiPolygon') mpgeom.add(feat.geom) area_geom = GEOSGeometry(mpgeom.wkt) print "%s (%s): %s (%s)" % (area_id, parent_id, area_name, area_type) area = Area() area.id = area_id area.parent_id = parent_id area.name = area_name area.varname = area_varname area.type = area_type area.save() areageom = Geom(area=area) areageom.geom = area_geom areageom.save()
def handle(self, *args, **kwargs): shape_file = args[0] ds = DataSource(shape_file) layer = ds[0] for feat in layer: try: area_id = feat['ID_0'].value except: area_id = feat['GADMID'].value area_name = unicode(feat['NAME_ENGLI'].value, 'iso-8859-1') area_varname = unicode(feat['NAME_LOCAL'].value, 'iso-8859-1') mpgeom = OGRGeometry('MultiPolygon') mpgeom.add(feat.geom) area_geom = GEOSGeometry(mpgeom.wkt) print "%s %s %s" % (area_id, area_name, area_varname) area = Area() area.shape_id = area_id area.name = area_name area.varname = area_varname area.type = 'Country' area.save() area.update_path() area.save() print "Tree ID: %d" % (area.tree_id,) areageom = Geom(area=area) areageom.geom = area_geom areageom.save()
def handle(self, *args, **kwargs): shape_file = args[0] ds = DataSource(shape_file) layer = ds[0] for feat in layer: try: area_id = feat['ID_0'].value except: area_id = feat['GADMID'].value area_name = unicode(feat['NAME_ENGLI'].value, 'iso-8859-1') area_varname = unicode(feat['NAME_LOCAL'].value, 'iso-8859-1') mpgeom = OGRGeometry('MultiPolygon') mpgeom.add(feat.geom) area_geom = GEOSGeometry(mpgeom.wkt) print "%s %s %s" % (area_id, area_name, area_varname) area = Area() area.shape_id = area_id area.name = area_name area.varname = area_varname area.type = 'Country' area.save() area.update_path() area.save() print "Tree ID: %d" % (area.tree_id, ) areageom = Geom(area=area) areageom.geom = area_geom areageom.save()
def handle(self, *args, **kwargs): level = int(args[0]) shape_file = args[1] ds = DataSource(shape_file) layer = ds[0] print layer.fields if level == 0: for feat in layer: area_id = feat['GADMID'].value area_name = feat['NAME_ENGLI'].value area_varname = feat['NAME_LOCAL'].value mpgeom = OGRGeometry('MultiPolygon') mpgeom.add(feat.geom) area_geom = GEOSGeometry(mpgeom.wkt) print "%s %s %s" % (area_id, area_name, area_varname) area = Area() area.id = area_id area.name = area_name area.varname = area_varname area.type = 'Country' area.save() areageom = Geom(area=area) areageom.geom = area_geom areageom.save() else: for feat in layer: parent_id = feat['ID_%s' % (level - 1, )].value area_id = feat['ID_%s' % level].value area_name = unicode(feat['NAME_%s' % level].value, 'iso-8859-1') area_varname = unicode(feat['VARNAME_%s' % level].value, 'iso-8859-1') area_type = unicode(feat['TYPE_%s' % level].value, 'iso-8859-1') mpgeom = OGRGeometry('MultiPolygon') mpgeom.add(feat.geom) area_geom = GEOSGeometry(mpgeom.wkt) print "%s (%s): %s (%s)" % (area_id, parent_id, area_name, area_type) area = Area() area.id = area_id area.parent_id = parent_id area.name = area_name area.varname = area_varname area.type = area_type area.save() areageom = Geom(area=area) areageom.geom = area_geom areageom.save()