def generateMissingRDFs():
	lat, lng = 43.285890624612605, -2.0001983642578125
	station = Station(cod="ANORGA", codzone="DONOS", id=100, name="Añorga", location="Donostia", url="http://www.ingurumena.ejgv.euskadi.net/r49-n82/es/vima_ai_vigilancia/estaciones.apl?CodZona=@DONOS&CodEst=A%D1ORGA&lenguaje=C", lat=lat, lng=lng, address=None, prov="GIPUZKOA", zonedesc="Donostialdea", geonames=get_geonames_uri(lat=lat, lng=lng))
	station.generateRDF(resourceuri=RESOURCE_URI, sparql=VIRTUOSO_URL, path=None)

	lat, lng = UTMtoLL(23, 537791.53, 4775458.32, "30T")
	station = Station(cod="ELORIO", codzone="IBDEB", id=51, name="Elorrio", location="Elorrio", url="http://www.ingurumena.ejgv.euskadi.net/r49-n82/es/vima_ai_vigilancia/estaciones.apl?CodZona=@IBDEB&CodEst=ELORIO&lenguaje=C", lat=lat, lng=lng, address=None, prov="BIZKAIA", zonedesc="Ibaizabal-Alto Deba/Ibaizabal-Deba garaia", geonames=get_geonames_uri(lat=lat, lng=lng))
	station.generateRDF(resourceuri=RESOURCE_URI, sparql=VIRTUOSO_URL, path=None)

	lat, lng = UTMtoLL(23, 528629.73, 4746400.9, "30T")
	station = Station(cod="BETONO", codzone="LLALV", id=19, name="Betoño", location="Vitoria-Gasteiz", url="http://www.ingurumena.ejgv.euskadi.net/r49-n82/es/vima_ai_vigilancia/estaciones.apl?CodZona=@LLALV&codest=BETO%D1O&lenguaje=c", lat=lat, lng=lng, address="Portal de Vergara,10", prov="ARABA", zonedesc="Llanada Alavesa/Arabako lautada", geonames=get_geonames_uri(lat=lat, lng=lng))
	station.generateRDF(resourceuri=RESOURCE_URI, sparql=VIRTUOSO_URL, path=None)

	lat, lng = UTMtoLL(23, 504952.62, 4789929.93, "30T")
	station = Station(cod="INDAUC", codzone="BJNVN", id=35, name="Indautxu Reubicada", location="Bilbao", url="http://www.ingurumena.ejgv.euskadi.net/r49-n82/es/vima_ai_vigilancia/estaciones.apl?CodZona=@BJNVN&codest=INDAUC&lenguaje=c", lat=lat, lng=lng, address=None, prov="BIZKAIA", zonedesc="Bajo Nervión/Nerbioi behera", geonames=get_geonames_uri(lat=lat, lng=lng))
	station.generateRDF(resourceuri=RESOURCE_URI, sparql=VIRTUOSO_URL, path=None)
def generateRDFs():
    with open(CSV_PATH, 'r') as stdoc:
        #Each line of CSV represents an station. Content of each line: OBJECTID, IDEST, NAME, DIR, POBL, URL, ZONE, URL_ZONE, PROV_COD,..., XUTM, YUTM
        reader = csv.reader(stdoc, delimiter=';', quoting=csv.QUOTE_NONE)
        for details in reader:
            #It only saves an station if it has an URL (details[5])
            if ("http://" in details[5]):
                lat = None
                lng = None

                #Call to "utmll" library for converting from UTM to LatLng coordinates
                #lat, lng = UTMtoLL(23, float(details[-2].replace(',', '.')), float(details[-1].replace(',', '.')), "30T")

                #Transformation from UTM to Spherical Mercator, and from SM to Lat Long (WGS84) with "pyproj"
                utm = pyproj.Proj(init='epsg:23030')
                sm = pyproj.Proj(init='epsg:3785')
                wgs = pyproj.Proj(init='epsg:4326')
                sm_x, sm_y = pyproj.transform(
                    utm, sm, float(details[-2].replace(',', '.')),
                    float(details[-1].replace(',', '.')))
                lng, lat = pyproj.transform(sm, wgs, sm_x, sm_y)

                #Get codes and format as needed
                cod = re.sub('CodEst=', '',
                             re.findall('CodEst=.+\&', details[5])[0])
                cod = formatCod(cod=utf8encoding(cod))
                codzone = re.sub('CodZona=\@', '',
                                 re.findall('CodZona=\@.+\&', details[5])[0])
                codzone = formatCod(cod=utf8encoding(codzone))

                if cod == "ZUMARR":
                    lat = float(43.08395)
                    lng = float(-2.315733)

                #Get internal id
                id = re.split(',', details[1])[0]

                geonamesuri = get_geonames_uri(lat=lat, lng=lng)

                #Get and format url (quote) avoiding errors with special characters
                url = utf8encoding(details[5])
                url = url[:-1] if url[-1] == '"' else url
                url = "http:" + urllib.quote(url[5:])

                #Get address and province
                try:
                    address = utf8encoding(details[3])
                except:
                    address = None

                prov = utf8encoding(details[8])

                zonedesc = utf8encoding(details[6])

                print utf8encoding(details[2])

                #Create station
                station = Station(cod=cod,
                                  codzone=codzone,
                                  id=id,
                                  name=utf8encoding(details[2]),
                                  location=utf8encoding(details[4]),
                                  url=url,
                                  lat=lat,
                                  lng=lng,
                                  address=address,
                                  prov=prov,
                                  zonedesc=zonedesc,
                                  geonames=geonamesuri)

                #Generate all RDFs
                sparql = None
                path = None
                if ST_PATH:
                    path = ST_PATH + station.internal_id + "_" + station.cod + "_at_" + station.codzone + ".rdf"
                else:
                    sparql = VIRTUOSO_URL

                if cod.find("BETO") == -1:
                    station.generateRDF(resourceuri=RESOURCE_URI,
                                        sparql=sparql,
                                        path=path)
            else:
                pass  #print "SIN WEB: " + details[2].decode('latin-1').encode('utf-8')
def generateMissingRDFs():
    lat, lng = 43.285890624612605, -2.0001983642578125
    station = Station(
        cod="ANORGA",
        codzone="DONOS",
        id=100,
        name="Añorga",
        location="Donostia",
        url=
        "http://www.ingurumena.ejgv.euskadi.net/r49-n82/es/vima_ai_vigilancia/estaciones.apl?CodZona=@DONOS&CodEst=A%D1ORGA&lenguaje=C",
        lat=lat,
        lng=lng,
        address=None,
        prov="GIPUZKOA",
        zonedesc="Donostialdea",
        geonames=get_geonames_uri(lat=lat, lng=lng))
    station.generateRDF(resourceuri=RESOURCE_URI,
                        sparql=VIRTUOSO_URL,
                        path=None)

    lat, lng = UTMtoLL(23, 537791.53, 4775458.32, "30T")
    station = Station(
        cod="ELORIO",
        codzone="IBDEB",
        id=51,
        name="Elorrio",
        location="Elorrio",
        url=
        "http://www.ingurumena.ejgv.euskadi.net/r49-n82/es/vima_ai_vigilancia/estaciones.apl?CodZona=@IBDEB&CodEst=ELORIO&lenguaje=C",
        lat=lat,
        lng=lng,
        address=None,
        prov="BIZKAIA",
        zonedesc="Ibaizabal-Alto Deba/Ibaizabal-Deba garaia",
        geonames=get_geonames_uri(lat=lat, lng=lng))
    station.generateRDF(resourceuri=RESOURCE_URI,
                        sparql=VIRTUOSO_URL,
                        path=None)

    lat, lng = UTMtoLL(23, 528629.73, 4746400.9, "30T")
    station = Station(
        cod="BETONO",
        codzone="LLALV",
        id=19,
        name="Betoño",
        location="Vitoria-Gasteiz",
        url=
        "http://www.ingurumena.ejgv.euskadi.net/r49-n82/es/vima_ai_vigilancia/estaciones.apl?CodZona=@LLALV&codest=BETO%D1O&lenguaje=c",
        lat=lat,
        lng=lng,
        address="Portal de Vergara,10",
        prov="ARABA",
        zonedesc="Llanada Alavesa/Arabako lautada",
        geonames=get_geonames_uri(lat=lat, lng=lng))
    station.generateRDF(resourceuri=RESOURCE_URI,
                        sparql=VIRTUOSO_URL,
                        path=None)

    lat, lng = UTMtoLL(23, 504952.62, 4789929.93, "30T")
    station = Station(
        cod="INDAUC",
        codzone="BJNVN",
        id=35,
        name="Indautxu Reubicada",
        location="Bilbao",
        url=
        "http://www.ingurumena.ejgv.euskadi.net/r49-n82/es/vima_ai_vigilancia/estaciones.apl?CodZona=@BJNVN&codest=INDAUC&lenguaje=c",
        lat=lat,
        lng=lng,
        address=None,
        prov="BIZKAIA",
        zonedesc="Bajo Nervión/Nerbioi behera",
        geonames=get_geonames_uri(lat=lat, lng=lng))
    station.generateRDF(resourceuri=RESOURCE_URI,
                        sparql=VIRTUOSO_URL,
                        path=None)
def generateRDFs():
	with open(CSV_PATH, 'r') as stdoc:
		#Each line of CSV represents an station. Content of each line: OBJECTID, IDEST, NAME, DIR, POBL, URL, ZONE, URL_ZONE, PROV_COD,..., XUTM, YUTM
		reader = csv.reader(stdoc, delimiter=';', quoting=csv.QUOTE_NONE)
		for details in reader:
			#It only saves an station if it has an URL (details[5])
			if ("http://" in details[5]):
				lat = None
				lng = None

				#Call to "utmll" library for converting from UTM to LatLng coordinates
				#lat, lng = UTMtoLL(23, float(details[-2].replace(',', '.')), float(details[-1].replace(',', '.')), "30T")

				#Transformation from UTM to Spherical Mercator, and from SM to Lat Long (WGS84) with "pyproj"
				utm = pyproj.Proj(init='epsg:23030')
				sm = pyproj.Proj(init='epsg:3785')
				wgs = pyproj.Proj(init='epsg:4326')
				sm_x, sm_y = pyproj.transform(utm, sm, float(details[-2].replace(',', '.')), float(details[-1].replace(',', '.')))
				lng, lat = pyproj.transform(sm, wgs, sm_x, sm_y)

				#Get codes and format as needed
				cod = re.sub('CodEst=', '', re.findall('CodEst=.+\&', details[5])[0])
				cod = formatCod(cod = utf8encoding(cod))
				codzone = re.sub('CodZona=\@', '', re.findall('CodZona=\@.+\&', details[5])[0])
				codzone = formatCod(cod = utf8encoding(codzone))

				if cod == "ZUMARR":
					lat = float(43.08395)
					lng = float(-2.315733)

				#Get internal id
				id = re.split(',', details[1])[0]

				geonamesuri = get_geonames_uri(lat=lat, lng=lng)

				#Get and format url (quote) avoiding errors with special characters
				url = utf8encoding(details[5])
				url = url[:-1] if url[-1] == '"' else url
				url = "http:" + urllib.quote(url[5:])

				#Get address and province
				try:
					address = utf8encoding(details[3])
				except:
					address = None

				prov = utf8encoding(details[8])

				zonedesc = utf8encoding(details[6])

				print utf8encoding(details[2])

				#Create station
				station = Station(cod=cod, codzone=codzone, id=id, name=utf8encoding(details[2]), location=utf8encoding(details[4]), url=url, lat=lat, lng=lng, address=address, prov=prov, zonedesc=zonedesc, geonames=geonamesuri)

				#Generate all RDFs
				sparql = None
				path = None
				if ST_PATH:
					path = ST_PATH + station.internal_id + "_" + station.cod + "_at_" + station.codzone + ".rdf"
				else:
					sparql = VIRTUOSO_URL

				if cod.find("BETO") == -1:
					station.generateRDF(resourceuri=RESOURCE_URI, sparql=sparql, path=path)
			else:
				pass#print "SIN WEB: " + details[2].decode('latin-1').encode('utf-8')