Spaces:
				
			
			
	
			
			
		Sleeping
		
	
	
	
			
			
	
	
	
	
		
		
		Sleeping
		
	
		Léo Bourrel
		
	commited on
		
		
					Commit 
							
							·
						
						1f03301
	
0
								Parent(s):
							
							
feat: read KML
Browse files- src/read_kml.py +28 -0
    	
        src/read_kml.py
    ADDED
    
    | @@ -0,0 +1,28 @@ | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | 
|  | |
| 1 | 
            +
            import xml
         | 
| 2 | 
            +
            import xml.dom
         | 
| 3 | 
            +
            import xml.etree
         | 
| 4 | 
            +
            import xml.etree.ElementTree
         | 
| 5 | 
            +
             | 
| 6 | 
            +
             | 
| 7 | 
            +
            def parse_kml(file_path):
         | 
| 8 | 
            +
                # Parse the KML data
         | 
| 9 | 
            +
                data = xml.etree.ElementTree.parse(file_path)
         | 
| 10 | 
            +
                return data
         | 
| 11 | 
            +
             | 
| 12 | 
            +
             | 
| 13 | 
            +
            def get_coordinates(data):
         | 
| 14 | 
            +
                # Extract the coordinates from the KML data
         | 
| 15 | 
            +
                root_places = data.findall(".//{http://www.opengis.net/kml/2.2}Placemark")
         | 
| 16 | 
            +
                kml_place_names = []
         | 
| 17 | 
            +
                kml_coordinates = []
         | 
| 18 | 
            +
                for place in root_places:
         | 
| 19 | 
            +
                    kml_place_names.append(place.find(".//{http://www.opengis.net/kml/2.2}name"))
         | 
| 20 | 
            +
                    kml_coordinates.append(place.find(".//{http://www.opengis.net/kml/2.2}coordinates"))
         | 
| 21 | 
            +
             | 
| 22 | 
            +
                coordinates = {}
         | 
| 23 | 
            +
                for kml_coordinate, place_name in zip(kml_coordinates, kml_place_names):
         | 
| 24 | 
            +
                    longitude, latitude, _ = kml_coordinate.text.split(",", 2)
         | 
| 25 | 
            +
                    coordinates[place_name.text] = (float(longitude), float(latitude))
         | 
| 26 | 
            +
                    print(f"Place: {place_name.text}, Coordinates: {coordinates[place_name.text]}")
         | 
| 27 | 
            +
             | 
| 28 | 
            +
                return coordinates
         |