示例#1
0
 def writecoord(self):
     fea_list = self.loadjson(self.path)['features']
     num = 1
     for i in fea_list:
         coorlist = i['geometry'][
             'coordinates']  #[[8.4882786, 49.9307422], [8.4879952, 49.930298], [8.4878599, 49.9300566]]
         coord_str = ''
         for cood in coorlist:
             if isinstance(cood, list):
                 coord_str += str(cood[0]) + ',' + str(cood[1]) + ',0 '
             else:
                 pass
         lookat = KML.Placemark(
             KML.name(num),
             KML.LookAt(KML.longitude(cood[0]), KML.latitude(cood[1]),
                        KML.heading('-60'), KML.tilt('8.3'),
                        KML.range('500')),
             KML.styleUrl('coolor1'),
             KML.Point(
                 GX.drawOrder('1'),
                 KML.coordinates(str(cood[0]) + ',' + str(cood[1]) + ',0 '),
             ),
         )
         place = KML.Placemark(
             KML.name(num), KML.styleUrl('#type1'), KML.visibility('1'),
             KML.description(''),
             KML.LineString(KML.extrude('1'), KML.coordinates(coord_str)))
         self.fld.append(place), self.fld.append(lookat)
         num += 1
     with open('./new.kml', 'w') as f:
         f.write(etree.tostring(self.fld, pretty_print=True))
示例#2
0
                KML.name(gmlname),
                KML.open('1'),
            )))

    #loop for vertex
    for i in range(nodelen):
        doc.Document.Folder.append(
            KML.Placemark(
                KML.name(listLabel[i]),
                KML.LookAt(KML.longitude(listLong[i]),
                           KML.latitude(listLat[i]), KML.altitude(0),
                           KML.heading(0), KML.tilt(0), KML.range(1000),
                           GX.altitudeMode('relativeToGround')),
                KML.styleUrl('#pushpinm'),
                KML.Point(
                    GX.drawOrder(1),
                    KML.coordinates(
                        str(listLong[i]) + ',' + str(listLat[i]) + ',0'))), )

    # loop for edge
    for i in range(len(listEdge)):
        doc.Document.Folder.append(
            KML.Placemark(
                KML.name('PATH' + str(i)),
                KML.styleUrl('#inline1'),
                KML.LineString(
                    KML.tessellate(1),
                    #GX.altitudeMode("relativeToSeaFloor"),
                    KML.coordinates(
                        str(listLong[listEdge[i][0]]) + ',' +
                        str(listLat[listEdge[i][0]]) + ',' + '0 ' +