pycrs/utils.py
def build_crs_table(savepath):
    """
    Build crs table of all equivalent format variations by scraping spatialreference.org.
    Saves table as tab-delimited text file.
    NOTE: Might take a while.

    Arguments:

    - *savepath*: The absolute or relative filepath to which to save the crs table, including the ".txt" extension. 
    """
    # create table
    outfile = open(savepath, "wb")
    
    # create fields
    fields = ["codetype", "code", "proj4", "ogcwkt", "esriwkt"]
    outfile.write("\t".join(fields) + "\n")
    
    # make table from url requests
    for codetype in ("epsg", "esri", "sr-org"):
        print(codetype)
        
        # collect existing proj list
        print("fetching list of available codes")
        codelist = []
        page = 1
        while True:
            try:
                link = 'http://spatialreference.org/ref/%s/?page=%s' %(codetype,page)
                html = urllib2.urlopen(link).read()
                codes = [match.groups()[0] for match in re.finditer(r'/ref/'+codetype+'/(\d+)', html) ]
                if not codes: break
                print("page",page)
                codelist.extend(codes)
                page += 1
            except:
                break

        print("fetching string formats for each projection")
        for i,code in enumerate(codelist):
            
            # check if code exists
            link = 'http://spatialreference.org/ref/%s/%s/' %(codetype,code)
            urllib2.urlopen(link)
            
            # collect each projection format in a table row
            row = [codetype, code]
            for resulttype in ("proj4", "ogcwkt", "esriwkt"):
                try:
                    link = 'http://spatialreference.org/ref/%s/%s/%s/' %(codetype,code,resulttype)
                    result = urllib2.urlopen(link).read()
                    row.append(result)
                except:
                    pass

            print("projection %i of %i added" %(i,len(codelist)) )
            outfile.write("\t".join(row) + "\n")

    # close the file
    outfile.close()
def build_crs_table(savepath):
    """
    Build crs table of all equivalent format variations by scraping spatialreference.org.
    Saves table as tab-delimited text file.
    NOTE: Might take a while.

    Arguments:

    - *savepath*: The absolute or relative filepath to which to save the crs table, including the ".txt" extension. 
    """
    # create table
    outfile = open(savepath, "wb")
    
    # create fields
    fields = ["codetype", "code", "proj4", "ogcwkt", "esriwkt"]
    outfile.write("\t".join(fields) + "\n")
    
    # make table from url requests
    for codetype in ("epsg", "esri", "sr-org"):
        print(codetype)
        
        # collect existing proj list
        print("fetching list of available codes")
        codelist = []
        page = 1
        while True:
            try:
                link = 'http://spatialreference.org/ref/%s/?page=%s' %(codetype,page)
                html = urllib2.urlopen(link).read()
                codes = [match.groups()[0] for match in re.finditer(r'/ref/'+codetype+'/(\d+)', html) ]
                if not codes: break
                print("page",page)
                codelist.extend(codes)
                page += 1
            except:
                break

        print("fetching string formats for each projection")
        for i,code in enumerate(codelist):
            
            # check if code exists
            link = 'http://spatialreference.org/ref/%s/%s/' %(codetype,code)
            urllib2.urlopen(link)
            
            # collect each projection format in a table row
            row = [codetype, code]
            for resulttype in ("proj4", "ogcwkt", "esriwkt"):
                try:
                    link = 'http://spatialreference.org/ref/%s/%s/%s/' %(codetype,code,resulttype)
                    result = urllib2.urlopen(link).read()
                    row.append(result)
                except:
                    pass

            print("projection %i of %i added" %(i,len(codelist)) )
            outfile.write("\t".join(row) + "\n")

    # close the file
    outfile.close()
def build_crs_table ( savepath ) : # create table outfile = open ( savepath , "wb" ) # create fields fields = [ "codetype" , "code" , "proj4" , "ogcwkt" , "esriwkt" ] outfile . write ( "\t" . join ( fields ) + "\n" ) # make table from url requests for codetype in ( "epsg" , "esri" , "sr-org" ) : print ( codetype ) # collect existing proj list print ( "fetching list of available codes" ) codelist = [ ] page = 1 while True : try : link = 'http://spatialreference.org/ref/%s/?page=%s' % ( codetype , page ) html = urllib2 . urlopen ( link ) . read ( ) codes = [ match . groups ( ) [ 0 ] for match in re . finditer ( r'/ref/' + codetype + '/(\d+)' , html ) ] if not codes : break print ( "page" , page ) codelist . extend ( codes ) page += 1 except : break print ( "fetching string formats for each projection" ) for i , code in enumerate ( codelist ) : # check if code exists link = 'http://spatialreference.org/ref/%s/%s/' % ( codetype , code ) urllib2 . urlopen ( link ) # collect each projection format in a table row row = [ codetype , code ] for resulttype in ( "proj4" , "ogcwkt" , "esriwkt" ) : try : link = 'http://spatialreference.org/ref/%s/%s/%s/' % ( codetype , code , resulttype ) result = urllib2 . urlopen ( link ) . read ( ) row . append ( result ) except : pass print ( "projection %i of %i added" % ( i , len ( codelist ) ) ) outfile . write ( "\t" . join ( row ) + "\n" ) # close the file outfile . close ( )
Build crs table of all equivalent format variations by scraping spatialreference.org.
    Saves table as tab-delimited text file.
    NOTE: Might take a while.

    Arguments:

    - *savepath*: The absolute or relative filepath to which to save the crs table, including the ".txt" extension.
Build crs table of all equivalent format variations by scraping spatialreference . org . Saves table as tab - delimited text file . NOTE : Might take a while .