有一大推geojson数据,现在需要对其进行坐标转换,geojson数据示例coordinates=[119,35]coordinates=[[119,35],[119,35]]coordinates=[[[119,35],[119,35]],[[119,35],[119,35]]]期望转换后的坐标:coordinates=[11900,3500]coordinates=[[11900,3500],[11900,3500]]coordinates=[[[11900,3500],[11900,3500]],[[11900,3500],[11900,3500]]]怎么遍历到每一个position(坐标对)?我现在是这么做的:deftransform(x,y,other_parameter):return....defmiterator(ary,mapper):ifisinstance(ary,list):ifisinstance(ary[0],list):forelinary:miterator(el,mapper)else:ary[0],ary[1]=mapper(ary[0],ary[1])deflogic(...):other_parameter=....coordinates=get_coordinates(..)miterator(coordinates,transform)#??????然后问题就出来了,我怎么把other_parameter传到transform里面?所以我希望最好通过generator方式:defxgenerator(ary):ifxx:...yield(x,y)然后我就可以通过这种方式调用:deflogic(...):other_parameter=....coordinates=get_coordinates(..)forx,yinxgenerator(coordinates):transform(x,y,other_parameter)但是这个generator我死活写不出来,怎么破?
慕神8447489
相关分类