# 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