# HG changeset patch
# User fknauft
# Date 1296834410 -3600
# Node ID 96311f3d627bdc1f2d31abaad7dc50a736f20629
# Parent 143b67a139f98f7bfcf6f332368e7b69f99391ee
polygon-Layers
diff -r 143b67a139f9 -r 96311f3d627b RestDbGisApi.py
--- a/RestDbGisApi.py Thu Feb 03 14:02:05 2011 +0100
+++ b/RestDbGisApi.py Fri Feb 04 16:46:50 2011 +0100
@@ -239,7 +239,18 @@
# convert data
kmlData = []
- for dataset in data['rows']:
+
+ if geomField=='poly' and len(geomdata)>0:
+ geom_list=geomdata.values()[1]
+ data_list=data['rows']
+ for k in range (len(data_list)):
+ dataset = data_list[k]
+ if len(geom_list)>k:
+ geom_value = geom_list[k]
+
+
+
+ # for dataset in data['rows']:
xCoord = 0.0
yCoord = 0.0
if gisIdIdx is not None:
@@ -267,12 +278,15 @@
# description
desc = ''
- i = -1
- for value in dataset:
- i += 1
+
+
+ for i in range (len(dataset)):
+ value = dataset[i]
+
name = data['fields'][i][0]
#logging.debug("value=%s"%value)
- if value != None:
+ if name != 'the_geom':
+ if value != None:
#if name.find('name')>-1:
# desc += "%s\n"%value
# continue
@@ -289,33 +303,38 @@
desc += '
\n'
#kmlPlace['description'] = ""%desc
- kmlPlace['description'] = desc
+
if geomField=='point':
+ kmlPlace['description'] = desc
kmlPlace['icon'] = '#marker_icon_'+colorField
kmlPlace['coord_x'] = str(xCoord)
kmlPlace['coord_y'] = str(yCoord)
kmlPlace['coord_z'] = '0'
kmlData.append(kmlPlace)
if geomField=='poly' and len(geomdata)>0:
- geom_list=geomdata.values()
- polys=str(geom_list[1]).split('(')
+ polys=str(geom_value).split('(')
aaa=len(polys)
for poly in polys:
+ kmlPlace = {}
+ kmlPlace['description'] = desc
coords=poly.replace(')','').split(',')
+ coord_string=''
if len(coords)>1:
- coord_string=''
for coord in coords:
coord=coord.split(' ')
try:
x_coord=coord[0]
+ if x_coord=='121.675615842265':
+ a='pause'
y_coord=coord[1]
except:
break
- coord_string+=x_coord+','+y_coord+','+'0 \n'
- kmlPlace['LinearRing']=coord_string
- kmlPlace['LineColor']=colorField
- kmlData.append(kmlPlace)
+ coord_string+=x_coord+','+y_coord+','+'0 '
+ if coord_string != '':
+ kmlPlace['LinearRing']=coord_string
+ kmlPlace['LineColor']=colorField
+ kmlData.append(kmlPlace)
#logging.debug("kmlData=%s"%(repr(kmlData)))
return kmlData