Points Tutorial --------------- About ^^^^^ How to create a simple point and change the points properties. Creating the Code ^^^^^^^^^^^^^^^^^ First import simplekml and create a KML object:: import simplekml We then have some base data to work with. It is a list of tuples containing (in the following order) a city name, time corresponding to 12:00 noon Eastern Standard Time, latitude and logitude:: cities = [ ('Aberdeen, Scotland', '5:00 p.m.', 57.15, -2.15), ('Adelaide, Australia', '2:30 a.m.', -34.916667, 138.6), ('Algiers, Algeria', '6:00 p.m.', 36.833333, 3), # ...many, many more cities, and then... ('Zurich, Switzerland', '6:00 p.m.', 47.35, 8.516667) ] Create the KML object:: kml = simplekml.Kml(open=1) # the folder will be open in the table of contents Next is a simple point example, we create a point feature at 0 degrees latitude and logitude and name it "The World". Here we pass all the information to the named parameters (note - the coordinates can contain an optional height value):: single_point = kml.newpoint(name="The World", coords=[(0.0,0.0)]) Next is a real world example, we create a point for each city. The points' properties are assigned after the point is created:: for city, time, lat, lon in cities: pnt = kml.newpoint() pnt.name = city pnt.description = "Time corresponding to 12:00 noon, Eastern Standard Time: {0}".format(time) pnt.coords = [(lon, lat)] And finally we save the kml:: kml.save("T00 Points.kml") Complete Code Example ^^^^^^^^^^^^^^^^^^^^^ Here is the complete code:: import simplekml # Cities of the World with their coordinates and time corresponding to 12:00 noon, Eastern Standard Time # Source: http://www.infoplease.com/ipa/A0001769.html cities = [ ('Aberdeen, Scotland', '5:00 p.m.', 57.15, -2.15), ('Adelaide, Australia', '2:30 a.m.', -34.916667, 138.6), ('Algiers, Algeria', '6:00 p.m.', 36.833333, 3), ('Amsterdam, Netherlands', '6:00 p.m.', 52.366667, 4.883333), ('Ankara, Turkey', '7:00 p.m.', 39.916667, 32.916667), ('Asuncion, Paraguay', '1:00 p.m.', -25.25, -57.666667), ('Athens, Greece', '7:00 p.m.', 37.966667, 23.716667), ('Auckland, New Zealand', '5:00 a.m.', -36.866667, 174.75), ('Bangkok, Thailand', 'midnight', 13.75, 100.5), ('Barcelona, Spain', '6:00 p.m.', 41.383333, 2.15), ('Beijing, China', '1:00 a.m.', 39.916667, 116.416667), ('Belem, Brazil', '2:00 p.m.', -1.466667, -48.483333), ('Belfast, Northern Ireland', '5:00 p.m.', 54.616667, -5.933333), ('Belgrade, Serbia', '6:00 p.m.', 44.866667, 20.533333), ('Berlin, Germany', '6:00 p.m.', 52.5, 13.416667), ('Birmingham, England', '5:00 p.m.', 52.416667, -1.916667), ('Bogota, Colombia', '12:00 noon', 4.533333, -74.25), ('Bombay, India', '10:30 p.m.', 19, 72.8), ('Bordeaux, France', '6:00 p.m.', 44.833333, -0.516667), ('Bremen, Germany', '6:00 p.m.', 53.083333, 8.816667), ('Brisbane, Australia', '3:00 a.m.', -27.483333, 153.133333), ('Bristol, England', '5:00 p.m.', 51.466667, -2.583333), ('Brussels, Belgium', '6:00 p.m.', 50.866667, 4.366667), ('Bucharest, Romania', '7:00 p.m.', 44.416667, 26.116667), ('Budapest, Hungary', '6:00 p.m.', 47.5, 19.083333), ('Buenos Aires, Argentina', '2:00 p.m.', -34.583333, -58.366667), ('Cairo, Egypt', '7:00 p.m.', 30.033333, 31.35), ('Calcutta, India', '10:30 p.m.', 22.566667, 88.4), ('Canton, China', '1:00 a.m.', 23.116667, 113.25), ('Cape Town, South Africa', '7:00 p.m.', -33.916667, 18.366667), ('Caracas, Venezuela', '1:00 p.m.', 10.466667, -67.033333), ('Cayenne, French Guiana', '2:00 p.m.', 4.816667, -52.3), ('Chihuahua, Mexico', '10:00 a.m.', 28.616667, -106.083333), ('Chongqing, China', '1:00 a.m.', 29.766667, 106.566667), ('Copenhagen, Denmark', '6:00 p.m.', 55.666667, 12.566667), ('Cordoba, Argentina', '2:00 p.m.', -31.466667, -64.166667), ('Dakar, Senegal', '5:00 p.m.', 14.666667, -17.466667), ('Darwin, Australia', '2:30 a.m.', -12.466667, 130.85), ('Djibouti, Djibouti', '8:00 p.m.', 11.5, 43.05), ('Dublin, Ireland', '5:00 p.m.', 53.333333, -6.25), ('Durban, South Africa', '7:00 p.m.', -29.883333, 30.883333), ('Edinburgh, Scotland', '5:00 p.m.', 55.916667, -3.166667), ('Frankfurt, Germany', '6:00 p.m.', 50.116667, 8.683333), ('Georgetown, Guyana', '1:00 p.m.', 6.75, -58.25), ('Glasgow, Scotland', '5:00 p.m.', 55.833333, -4.25), ('Guatemala City, Guatemala', '11:00 a.m.', 14.616667, -90.516667), ('Guayaquil, Ecuador', '12:00 noon', -2.166667, -79.933333), ('Hamburg, Germany', '6:00 p.m.', 53.55, 10.033333), ('Hammerfest, Norway', '6:00 p.m.', 70.633333, 23.633333), ('Havana, Cuba', '12:00 noon', 23.133333, -82.383333), ('Helsinki, Finland', '7:00 p.m.', 60.166667, 25), ('Hobart, Tasmania', '3:00 a.m.', -42.866667, 147.316667), ('Hong Kong, China', '1:00 a.m.', 22.333333, 114.183333), ('Iquique, Chile', '1:00 p.m.', -20.166667, -70.116667), ('Irkutsk, Russia', '1:00 a.m.', 52.5, 104.333333), ('Jakarta, Indonesia', 'midnight', -6.266667, 106.8), ('Johannesburg, South Africa', '7:00 p.m.', -26.2, 28.066667), ('Kingston, Jamaica', '12:00 noon', 17.983333, -76.816667), ('Kinshasa, Congo', '6:00 p.m.', -4.3, 15.283333), ('Kuala Lumpur, Malaysia', '1:00 a.m.', 3.133333, 101.7), ('La Paz, Bolivia', '1:00 p.m.', -16.45, -68.366667), ('Leeds, England', '5:00 p.m.', 53.75, -1.5), ('Lima, Peru', '12:00 noon', -12, -77.033333), ('Lisbon, Portugal', '5:00 p.m.', 38.733333, -9.15), ('Liverpool, England', '5:00 p.m.', 53.416667, -3), ('London, England', '5:00 p.m.', 51.533333, -0.083333), ('Lyons, France', '6:00 p.m.', 45.75, 4.833333), ('Madrid, Spain', '6:00 p.m.', 40.433333, -3.7), ('Manchester, England', '5:00 p.m.', 53.5, -2.25), ('Manila, Philippines', '1:00 a.m.', 14.583333, 120.95), ('Marseilles, France', '6:00 p.m.', 43.333333, 5.333333), ('Mazatlan, Mexico', '10:00 a.m.', 23.2, -106.416667), ('Mecca, Saudi Arabia', '8:00 p.m.', 21.483333, 39.75), ('Melbourne, Australia', '3:00 a.m.', -37.783333, 144.966667), ('Mexico City, Mexico', '11:00 a.m.', 19.433333, -99.116667), ('Milan, Italy', '6:00 p.m.', 45.45, 9.166667), ('Montevideo, Uruguay', '2:00 p.m.', -34.883333, -56.166667), ('Moscow, Russia', '8:00 p.m.', 55.75, 37.6), ('Munich, Germany', '6:00 p.m.', 48.133333, 11.583333), ('Nagasaki, Japan', '2:00 a.m.', 32.8, 129.95), ('Nagoya, Japan', '2:00 a.m.', 35.116667, 136.933333), ('Nairobi, Kenya', '8:00 p.m.', -1.416667, 36.916667), ('Nanjing (Nanking), China', '1:00 a.m.', 32.05, 118.883333), ('Naples, Italy', '6:00 p.m.', 40.833333, 14.25), ('New Delhi, India', '10:30 p.m.', 28.583333, 77.2), ('Newcastle-on-Tyne, England', '5:00 p.m.', 54.966667, -1.616667), ('Odessa, Ukraine', '7:00 p.m.', 46.45, 30.8), ('Osaka, Japan', '2:00 a.m.', 34.533333, 135.5), ('Oslo, Norway', '6:00 p.m.', 59.95, 10.7), ('Panama City, Panama', '12:00 noon', 8.966667, -79.533333), ('Paramaribo, Suriname', '2:00 p.m.', 5.75, -55.25), ('Paris, France', '6:00 p.m.', 48.8, 2.333333), ('Perth, Australia', '1:00 a.m.', -31.95, 115.866667), ('Plymouth, England', '5:00 p.m.', 50.416667, -4.083333), ('Port Moresby, Papua New Guinea', '3:00 a.m.', -9.416667, 147.133333), ('Prague, Czech Republic', '6:00 p.m.', 50.083333, 14.433333), ('Rangoon, Myanmar', '11:30 p.m.', 16.833333, 96), ('Reykjavik, Iceland', '5:00 p.m.', 64.066667, -21.966667), ('Rio de Janeiro, Brazil', '2:00 p.m.', -22.95, -43.2), ('Rome, Italy', '6:00 p.m.', 41.9, 12.45), ('Salvador, Brazil', '2:00 p.m.', -12.933333, -38.45), ('Santiago, Chile', '1:00 p.m.', -33.466667, -70.75), ('St. Petersburg, Russia', '8:00 p.m.', 59.933333, 30.3), ('Sao Paulo, Brazil', '2:00 p.m.', -23.516667, -46.516667), ('Shanghai, China', '1:00 a.m.', 31.166667, 121.466667), ('Singapore, Singapore', '1:00 a.m.', 1.233333, 103.916667), ('Sofia, Bulgaria', '7:00 p.m.', 42.666667, 23.333333), ('Stockholm, Sweden', '6:00 p.m.', 59.283333, 18.05), ('Sydney, Australia', '3:00 a.m.', -34, 151), ('Tananarive, Madagascar', '8:00 p.m.', -18.833333, 47.55), ('Teheran, Iran', '8:30 p.m.', 35.75, 51.75), ('Tokyo, Japan', '2:00 a.m.', 35.666667, 139.75), ('Tripoli, Libya', '7:00 p.m.', 32.95, 13.2), ('Venice, Italy', '6:00 p.m.', 45.433333, 12.333333), ('Veracruz, Mexico', '11:00 a.m.', 19.166667, -96.166667), ('Vienna, Austria', '6:00 p.m.', 48.233333, 16.333333), ('Vladivostok, Russia', '3:00 a.m.', 43.166667, 132), ('Warsaw, Poland', '6:00 p.m.', 52.233333, 21), ('Wellington, New Zealand', '5:00 a.m.', -41.283333, 174.783333), ('Zurich, Switzerland', '6:00 p.m.', 47.35, 8.516667) ] # Create an instance of Kml kml = simplekml.Kml(open=1) # Create a point named "The World" attached to the KML document with its coordinate at 0 degrees latitude and longitude. # All the point's properties are given when it is constructed. single_point = kml.newpoint(name="The World", coords=[(0.0,0.0)]) # Create a point for each city. The points' properties are assigned after the point is created for city, time, lat, lon in cities: pnt = kml.newpoint() pnt.name = city pnt.description = "Time corresponding to 12:00 noon, Eastern Standard Time: {0}".format(time) pnt.coords = [(lon, lat)] # Save the KML kml.save("T00 Point.kml")