annotate eventsDB2kml.py @ 0:26c06d568e1d

first
author dwinter
date Thu, 13 Sep 2012 16:56:49 +0200
parents
children 283badd62593
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
dwinter
parents:
diff changeset
1 #diese klasse fragt die postgres db ab und erzeugt ein kml file aus den abfragen
dwinter
parents:
diff changeset
2
dwinter
parents:
diff changeset
3 import psycopg2
dwinter
parents:
diff changeset
4 import harvestDataFromEvents
dwinter
parents:
diff changeset
5
dwinter
parents:
diff changeset
6 class DBQuery:
dwinter
parents:
diff changeset
7 def __init__(self):
dwinter
parents:
diff changeset
8 self.conn=psycopg2.connect("dbname='mmpermits' user='postgres' host='localhost' password='XX'")
dwinter
parents:
diff changeset
9 self.cur=self.conn.cursor()
dwinter
parents:
diff changeset
10
dwinter
parents:
diff changeset
11
dwinter
parents:
diff changeset
12
dwinter
parents:
diff changeset
13 def searchXPath(self,xpath,searchTerm):
dwinter
parents:
diff changeset
14 query="""select data from locations
dwinter
parents:
diff changeset
15 where
dwinter
parents:
diff changeset
16 '%s' = ANY (cast (xpath('%s', data) as text[])) ;
dwinter
parents:
diff changeset
17 """%(searchTerm,xpath)
dwinter
parents:
diff changeset
18
dwinter
parents:
diff changeset
19
dwinter
parents:
diff changeset
20 self.cur.execute(query)
dwinter
parents:
diff changeset
21
dwinter
parents:
diff changeset
22
dwinter
parents:
diff changeset
23 results= self.cur.fetchall()
dwinter
parents:
diff changeset
24
dwinter
parents:
diff changeset
25 ret=""
dwinter
parents:
diff changeset
26 for result in results:
dwinter
parents:
diff changeset
27 ret+=result[0]+"\n"
dwinter
parents:
diff changeset
28
dwinter
parents:
diff changeset
29
dwinter
parents:
diff changeset
30
dwinter
parents:
diff changeset
31 return ret
dwinter
parents:
diff changeset
32
dwinter
parents:
diff changeset
33 def query(self,q):
dwinter
parents:
diff changeset
34 self.cur.execute(q)
dwinter
parents:
diff changeset
35 results= self.cur.fetchall()
dwinter
parents:
diff changeset
36
dwinter
parents:
diff changeset
37 return results
dwinter
parents:
diff changeset
38
dwinter
parents:
diff changeset
39
dwinter
parents:
diff changeset
40 if __name__ == '__main__':
dwinter
parents:
diff changeset
41 db = DBQuery()
dwinter
parents:
diff changeset
42 res= "<events>"+db.searchXPath("//name/text()", "Brian L. Cypher")+"</events>"
dwinter
parents:
diff changeset
43
dwinter
parents:
diff changeset
44
dwinter
parents:
diff changeset
45
dwinter
parents:
diff changeset
46 hv=harvestDataFromEvents.EventKMLTransformer()
dwinter
parents:
diff changeset
47
dwinter
parents:
diff changeset
48
dwinter
parents:
diff changeset
49 x,cnt=hv.readString(res, ".//research_location/place_information", 0)
dwinter
parents:
diff changeset
50
dwinter
parents:
diff changeset
51 hv.close()
dwinter
parents:
diff changeset
52
dwinter
parents:
diff changeset
53 s = hv.toKML(x)
dwinter
parents:
diff changeset
54
dwinter
parents:
diff changeset
55 print s
dwinter
parents:
diff changeset
56