def shaperead(fn, encoding=None): ''' Returns a layer readed from a shape file. :param fn: (*string*) The shape file name (.shp). :param encoding: (*string*) Encoding :returns: (*MILayer*) The created layer. ''' if not fn.endswith('.shp'): fn = fn + '.shp' if not os.path.exists(fn): fn = os.path.join(migl.mapfolder, fn) if os.path.exists(fn): try: if encoding is None: layer = MILayer(MapDataManage.readMapFile_ShapeFile(fn)) else: layer = MILayer(MapDataManage.readMapFile_ShapeFile(fn, encoding)) if not layer.legend() is None: lb = layer.legend().getLegendBreaks()[0] if lb.getBreakType() == BreakTypes.PolygonBreak: lb.setDrawFill(False) return layer except: raise else: print 'File not exists: ' + fn raise