2013-04-01 2 views
0

이 kml 파일은 매우 긴 파일이며 하나의 다각형에서 좌표를 가져올 수 있습니다. 하지만 내 루프는 다음 다각형으로 전송하지 않는 것 같습니다. 거기에서 좌표를 얻을 수 있도록 다음 폴리곤을 "가리키는"방법이 있습니까? 감사합니다하나의 kml 파일에서 좌표가 많은 폴리곤으로 해석됩니다.

추신 내가 유래

from pykml import parser 
import os, zipfile, os.path 
from zipfile import ZipFile as zip 

mapCoords = [[]] 

def extractAll(zipName): 
    z = zip(zipName) 
    for f in z.namelist(): 
     if f.endswith('/'): 
      os.makedirs(f) 
     else: 
      z.extract(f) 
    return f 

doc = parser.parse(extractAll("temp_kmz")).getroot() 

for Polygon in doc.Document.Folder.Placemark.MultiGeometry: 
    a = 0 
    mapCoords[a].append(doc.Document.Folder.Placemark.MultiGeometry.Polygon.outerBoundaryIs.LinearRing.coordinates) 
    a+=1 

print mapCoords 

에 여기에 몇 가지 질문에서 코드에서이 코드의 일부를 촬영하고 여기에 방법이 한테 전화에 대한

<MultiGeometry> 
    <Polygon> 
     <outerBoundaryIs><LinearRing><coordinates> 121.077285,14.626314 121.077006,14.626312 121.077009,14.626040 121.077287,14.626043 121.077285,14.626314</coordinates></LinearRing></outerBoundaryIs> 
    </Polygon> 
    <Polygon> 
     <outerBoundaryIs><LinearRing><coordinates> 121.077285,14.626314 121.077563,14.626316 121.077561,14.626587 121.077282,14.626585 121.077285,14.626314</coordinates></LinearRing></outerBoundaryIs> 
    </Polygon> 
    <Polygon> 
     <outerBoundaryIs><LinearRing><coordinates> 121.079236,14.626059 121.079234,14.626330 121.079512,14.626332 121.079510,14.626603 121.079231,14.626601 121.078953,14.626599 121.078955,14.626328 121.078958,14.626057 121.079236,14.626059</coordinates></LinearRing></outerBoundaryIs> 
    </Polygon> 
    <Polygon> 
     <outerBoundaryIs><LinearRing><coordinates> 121.077561,14.626587 121.077839,14.626590 121.077837,14.626861 121.077834,14.627132 121.077556,14.627129 121.077558,14.626858 121.077561,14.626587</coordinates></LinearRing></outerBoundaryIs> 
    </Polygon> 
    <Polygon> 
     <outerBoundaryIs><LinearRing><coordinates> 121.125000,14.627245 121.125000,14.627516 121.124887,14.627515 121.124890,14.627244 121.125000,14.627245</coordinates></LinearRing></outerBoundaryIs> 
    </Polygon> 
+0

사람이 answe이 있는가와

for Poly in doc.Document.Folder.Placemark.MultiGeometry.Polygon: mapCoords[a].append(Poly.outerBoundaryIs.LinearRing.coordinates) 

을 다음과 같이 다중 도형에 대한 속성, 요 호출해야 내 질문에? :( – yvan

답변

0

문제가 KML 파일에서 컷했습니다 "다각형"

관련 문제