Mercurial > hg > events2kml
view eventsDB2kml.py @ 5:2715bff4628d JS-viewer
Files for JS-viewer (GeoTemCo)
author | Sebastian Kruse <skruse@mpiwg-berlin.mpg.de> |
---|---|
date | Tue, 22 Jan 2013 15:07:06 +0100 |
parents | f198c86dd1f6 |
children |
line wrap: on
line source
#diese klasse fragt die postgres db ab und erzeugt ein kml file aus den abfragen import psycopg2 import harvestDataFromEvents CONNECTION_STRING="dbname='mmpermits' user='www' host='localhost' password='3333'" class DBQuery: def __init__(self): self.conn=psycopg2.connect(CONNECTION_STRING) self.cur=self.conn.cursor() def sql(self,query): self.cur.execute(query) results= self.cur.fetchall() ret="" for result in results: ret+="%s\n"%result[0] return ret def searchXPaths(self,queries,query="data",asList=False): qs=[] for q in queries: qs.append(""" '%s' = ANY (cast (xpath('%s', data) as text[]))"""%(q[1],q[0])) query="""select %s from locations where"""%query query+=" AND ".join(qs) self.cur.execute(query) print query results= self.cur.fetchall() if asList: return results ret="" for result in results: ret+="%s\n"%result[0] return ret def searchXPath(self,xpath,searchTerm,query="data",asList=False): query="""select %s from locations where '%s' = ANY (cast (xpath('%s', data) as text[])) ; """%(query,searchTerm,xpath) self.cur.execute(query) results= self.cur.fetchall() if asList: return results ret="" for result in results: ret+="%s\n"%result[0] return ret def query(self,q): self.cur.execute(q) results= self.cur.fetchall() return results if __name__ == '__main__': db = DBQuery() res= "<events>"+db.searchXPath("//name/text()", "Brian L. Cypher")+"</events>" hv=harvestDataFromEvents.EventKMLTransformer() x,cnt=hv.readString(res, ".//research_location/place_information", 0) hv.close() s = hv.toKML(x) print s