def getFileData(filename):
    if not os.path.isfile(filename):
        parser.error("the file '%s' does not exist" % (filename))
    dataSource = ogr.Open(filename, 0)  # 0 means read-only
    if dataSource is None:
        l.error('OGR failed to open ' + filename + ', format may be unsuported')
        sys.exit(1)
    myS57 = s57(None, dataSource)
    global zoom
    zoom = myS57.getZoom()
    global lat
    lat = myS57.getCenterPoint()[0]
    return dataSource
示例#2
0
def getFileData(filename):
    if not os.path.isfile(filename):
        parser.error("the file '%s' does not exist" % (filename))
    dataSource = ogr.Open(filename, 0)  # 0 means read-only
    if dataSource is None:
        l.error('OGR failed to open ' + filename +
                ', format may be unsuported')
        sys.exit(1)
    myS57 = s57(None, dataSource)
    global zoom
    zoom = myS57.getZoom()
    global lat
    lat = myS57.getCenterPoint()[0]
    return dataSource
示例#3
0
    def __init__(self, directory):
        fps = FilePathSearch(directory)
        
        self.scalemap = {} #scale: path
        self.scales = [] #list of unique scales
        self.layermap = {} #path: layers
        self.layers = [] #list of unique layers
        self.zoommap = {} #zoom: path
        self.zooms = [] #list of unique zooms
        skiplayers = ["M_QUAL", "M_NSYS", "M_NPUB", "M_COVR", "DSID", "C_ASSO"]
        
        self.geommap = {} #layer: geomtype
        
        for s57path in fps.getfilePaths():
            s57 = ogrS57info.s57(s57path)
            
            scale = s57.getScale()
            self.scalemap[scale] = self.scalemap.get(scale, [])
            self.scalemap[scale].append(s57path)
            
            zoom = s57.getZoom()
            self.zoommap[zoom] = self.zoommap.get(zoom, [])
            self.zoommap[zoom].append(s57path)
            
            layers = s57.getLayerList()
            for lyr in layers:
                if skiplayers.count(lyr) > 0:
                    layers.remove(lyr)
            self.layermap[s57path] = layers
            
            for lyr in s57.getLayerList():
                if self.layers.count(lyr) == 0 and skiplayers.count(lyr) == 0:
                    self.layers.append(lyr)
                    self.geommap[lyr] = s57.getLayerGeometryType(lyr)
 
        for key in self.scalemap.keys():
            self.scales.append(key)
            
        for key in self.zoommap.keys():
            self.zooms.append(key)
        
        self.layers.sort()
        self.scales.sort()
        self.zooms.sort()