Skip to content

Instantly share code, notes, and snippets.

@andrewxhill
Created August 24, 2012 15:43
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save andrewxhill/3452148 to your computer and use it in GitHub Desktop.
Save andrewxhill/3452148 to your computer and use it in GitHub Desktop.
Python script to covert GeoTiff .CLR file to a Carto style for CartoDB
import sys
args = []
for arg in sys.argv:
args.append(arg)
try:
clr_file = args[1] #'glc2000_v1_1.clr'
except:
print """ You must supply an input .CLR filename.
python clr2carto.py {filename} {optional: value_column_name} {optional: target_table}"""
try:
value_column_name = args[2]
except:
value_column_name = 'rast_value'
try:
cartodb_tablename = args[3]
except:
cartodb_tablename = clr_file.rsplit('.',1)[0].replace('.','_').replace(' ','_').replace('-','_')
delimiter = ' '
raster_styles = ''
for line in open(clr_file):
li=line.strip()
if not li.startswith("#") and li.strip() != '':
params = line.strip().split(delimiter)
cell_val = params.pop(0)
rgb = 'rgb(%s)' % ','.join(str(x) for x in params)
raster_styles += "\n [%s = %s]{ polygon-fill: %s }" % (value_column_name, cell_val, rgb)
default_output = """#%s {
polygon-fill:#FF6600;
polygon-opacity: 0.7;
line-opacity:1;
line-color: #FFFFFF;%s
}""" % (cartodb_tablename, raster_styles)
f = open('CartoDB.carto.css','w+').write(default_output)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment