Multiple placemarks in Google Earth
In my current job I am producing a database of fossil occurrences from the North Atlantic deep sea record and one of the fields in the data base is latitude-longitude for each of the IODP holes included. For a while now I've been wanting to export this data to a KML file (Google Earth's HTML-like file format). At first I figured this would be easy. I created an SQL query in Access to get my data out as a comma-delimited file which I then import into R. All I need to do is create a table of unique lat-long occurrences (holes) and their names then format them in the KML-style. However, I came up against a bit of a snag.
The first part is easy. Just set the header of the file to:
<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://www.opengis.net/kml/2.2">
The footer to:
</kml>
Then each hole is entered as a Placemark using the following syntax:
<Placemark>
<name>Hole name</name>
<Point>
<coordinates>-122.0822035425683,37.42228990140251,0</coordinates>
</Point>
</Placemark>
Where the coordinates are longitude, latitude and altitude respectively.
Simple.
But once you import the whole file into Google Earth it only shows the first point (hole) and skips all the others. Google's own code site wasn't much use on this, and the few forum's I looked at seemed to be missing a proper answer to this problem. In the end I figured out that all that needs to be done is wrap the placemarks in a simple
<Document></Document>
tag.
Lesson learned, and shared.
(Image and original code below.)
<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://www.opengis.net/kml/2.2">
<Document>
<Placemark><name>110_671B</name><Point><coordinates>-58.73,15.52,-1622</coordinates></Point></Placemark>
<Placemark><name>110_672A</name><Point><coordinates>-58.6,15.5,-1581</coordinates></Point></Placemark>
<Placemark><name>110_673B</name><Point><coordinates>-58.64,15.53,-1875</coordinates></Point></Placemark>
<Placemark><name>110_674A</name><Point><coordinates>-58.9,15.5,-2003</coordinates></Point></Placemark>
<Placemark><name>110_676A</name><Point><coordinates>-58.7,15.53,-1494</coordinates></Point></Placemark>
<Placemark><name>149_897A</name><Point><coordinates>-12.47,40.83,-5320</coordinates></Point></Placemark>
<Placemark><name>149_899B</name><Point><coordinates>-12.26,40.77,-5291</coordinates></Point></Placemark>
<Placemark><name>149_900A</name><Point><coordinates>-11.6,40.68,-5037</coordinates></Point></Placemark>
<Placemark><name>149_901A</name><Point><coordinates>-11.05,40.67,-4719</coordinates></Point></Placemark>
<Placemark><name>152_914A</name><Point><coordinates>-39.72,63.46,-533</coordinates></Point></Placemark>
<Placemark><name>152_919A</name><Point><coordinates>-37.46,62.67,-2088</coordinates></Point></Placemark>
<Placemark><name>157_950A</name><Point><coordinates>-25.6,31.15,-5438</coordinates></Point></Placemark>
<Placemark><name>157_951A</name><Point><coordinates>-24.87,32.03,-5437</coordinates></Point></Placemark>
<Placemark><name>157_952A</name><Point><coordinates>-24.5,30.79,-5432</coordinates></Point></Placemark>
<Placemark><name>159_959A</name><Point><coordinates>-2.73,3.62,-2091</coordinates></Point></Placemark>
<Placemark><name>159_960A</name><Point><coordinates>-2.73,3.58,-2048</coordinates></Point></Placemark>
<Placemark><name>159_961A</name><Point><coordinates>-3.05,3.44,-3292</coordinates></Point></Placemark>
<Placemark><name>159_962B</name><Point><coordinates>-3.18,3.25,-4637</coordinates></Point></Placemark>
<Placemark><name>160_966F</name><Point><coordinates>32.7,33.79,-923</coordinates></Point></Placemark>
<Placemark><name>101_627B</name><Point><coordinates>-78.29,27.63,-1026</coordinates></Point></Placemark>
<Placemark><name>160_967E</name><Point><coordinates>32.72,34.06,-2553</coordinates></Point></Placemark>
<Placemark><name>160_969B</name><Point><coordinates>24.88,33.84,-2202</coordinates></Point></Placemark>
<Placemark><name>164_994C</name><Point><coordinates>-75.54,31.78,-2799</coordinates></Point></Placemark>
<Placemark><name>165_998A</name><Point><coordinates>-82.93,19.48,-3180</coordinates></Point></Placemark>
<Placemark><name>101_628A</name><Point><coordinates>-78.3,27.5,-964</coordinates></Point></Placemark>
<Placemark><name>105_646B</name><Point><coordinates>-48.36,58.2,-3106</coordinates></Point></Placemark>
<Placemark><name>101_635B</name><Point><coordinates>-77.3,25.4,-3081</coordinates></Point></Placemark>
<Placemark><name>103_637A</name><Point><coordinates>-12.9,42.1,-1243</coordinates></Point></Placemark>
<Placemark><name>101_626C</name><Point><coordinates>-79.54,25.6,-844</coordinates></Point></Placemark>
<Placemark><name>149_898A</name><Point><coordinates>-12.12,40.68,-5279</coordinates></Point></Placemark>
<Placemark><name>103_638B</name><Point><coordinates>-12.19,42.15,-1890</coordinates></Point></Placemark>
<Placemark><name>103_639A</name><Point><coordinates>-12.24,42.14,-1829</coordinates></Point></Placemark>
<Placemark><name>103_640A</name><Point><coordinates>-12.5,42,-1363</coordinates></Point></Placemark>
<Placemark><name>103_641A</name><Point><coordinates>-12.18,42.15,-1918</coordinates></Point></Placemark>
<Placemark><name>104_642B</name><Point><coordinates>2.92,67.22,-1283</coordinates></Point></Placemark>
<Placemark><name>104_643A</name><Point><coordinates>1,67.7,-2769</coordinates></Point></Placemark>
<Placemark><name>104_644A</name><Point><coordinates>4.57,66.67,-1215</coordinates></Point></Placemark>
<Placemark><name>107_651A</name><Point><coordinates>12.8,40.2,-2974</coordinates></Point></Placemark>
<Placemark><name>107_652A</name><Point><coordinates>12.1,40.4,-3094</coordinates></Point></Placemark>
<Placemark><name>107_653A</name><Point><coordinates>11.44,40.26,-2821</coordinates></Point></Placemark>
<Placemark><name>107_654A</name><Point><coordinates>10.7,40.6,-2209</coordinates></Point></Placemark>
<Placemark><name>107_655A</name><Point><coordinates>12.46,40.17,-3234</coordinates></Point></Placemark>
<Placemark><name>108_657A</name><Point><coordinates>-20.94,21.33,-2332</coordinates></Point></Placemark>
<Placemark><name>108_658A</name><Point><coordinates>-18.58,20.74,-2264</coordinates></Point></Placemark>
<Placemark><name>108_659B</name><Point><coordinates>-21.02,18.07,-3073</coordinates></Point></Placemark>
<Placemark><name>108_660A</name><Point><coordinates>-19.24,10.01,-2221</coordinates></Point></Placemark>
<Placemark><name>108_661A</name><Point><coordinates>-19.38,9.44,-2541</coordinates></Point></Placemark>
<Placemark><name>108_662A</name><Point><coordinates>-11.73,-1.39,-2740</coordinates></Point></Placemark>
<Placemark><name>108_663A</name><Point><coordinates>-11.87,-1.19,-2856</coordinates></Point></Placemark>
<Placemark><name>108_664B</name><Point><coordinates>-23.22,0.1,-2747</coordinates></Point></Placemark>
<Placemark><name>108_665A</name><Point><coordinates>-19.66,2.95,-1813</coordinates></Point></Placemark>
<Placemark><name>108_666A</name><Point><coordinates>-20.2,3.5,-2037</coordinates></Point></Placemark>
<Placemark><name>108_667A</name><Point><coordinates>-21.91,4.56,-3029</coordinates></Point></Placemark>
<Placemark><name>108_668A</name><Point><coordinates>-20.92,4.76,-2690</coordinates></Point></Placemark>
<Placemark><name>108_668B</name><Point><coordinates>-20.9,4.8,-2693</coordinates></Point></Placemark>
<Placemark><name>174A_1071A</name><Point><coordinates>-72.72,39.38,-88</coordinates></Point></Placemark>
<Placemark><name>174A_1072A</name><Point><coordinates>-72.69,39.36,-98</coordinates></Point></Placemark>
<Placemark><name>174A_1073A</name><Point><coordinates>-72.27,39.22,-639</coordinates></Point></Placemark>
<Placemark><name>1_1</name><Point><coordinates>-92.18,25.85,-2827</coordinates></Point></Placemark>
<Placemark><name>1_2</name><Point><coordinates>-92.05,23.04,-3572</coordinates></Point></Placemark>
<Placemark><name>1_3</name><Point><coordinates>-92.04,23.03,-3747</coordinates></Point></Placemark>
<Placemark><name>1_4</name><Point><coordinates>-73.79,24.47,-5319</coordinates></Point></Placemark>
<Placemark><name>1_5</name><Point><coordinates>-73.64,24.72,-5354</coordinates></Point></Placemark>
<Placemark><name>1_6A</name><Point><coordinates>-67.64,30.83,-5124</coordinates></Point></Placemark>
<Placemark><name>1_7</name><Point><coordinates>-68.29,30.13,-5182</coordinates></Point></Placemark>
<Placemark><name>4_25</name><Point><coordinates>-39.24,-0.51,-1916</coordinates></Point></Placemark>
<Placemark><name>4_26A</name><Point><coordinates>-44.04,10.89,-5169</coordinates></Point></Placemark>
<Placemark><name>4_27</name><Point><coordinates>-56.87,15.85,-5251</coordinates></Point></Placemark>
<Placemark><name>4_28</name><Point><coordinates>-65.62,20.58,-5251</coordinates></Point></Placemark>
<Placemark><name>105_647A</name><Point><coordinates>-45.26,53.33,-2695</coordinates></Point></Placemark>
<Placemark><name>11_100</name><Point><coordinates>-73.79,24.68,-5325</coordinates></Point></Placemark>
<Placemark><name>11_101A</name><Point><coordinates>-74.43,25.19,-4868</coordinates></Point></Placemark>
<Placemark><name>13_125</name><Point><coordinates>20.42,34.62,-2782</coordinates></Point></Placemark>
<Placemark><name>14_137</name><Point><coordinates>-27.06,25.92,-5361</coordinates></Point></Placemark>
<Placemark><name>14_141</name><Point><coordinates>-23.99,19.41,-4148</coordinates></Point></Placemark>
<Placemark><name>150_905A</name><Point><coordinates>-72.28,38.61,-2698</coordinates></Point></Placemark>
<Placemark><name>151_910A</name><Point><coordinates>6.59,80.26,-556</coordinates></Point></Placemark>
<Placemark><name>151_911A</name><Point><coordinates>8.22,80.47,-902</coordinates></Point></Placemark>
<Placemark><name>152_915A</name><Point><coordinates>-39.78,63.47,-533</coordinates></Point></Placemark>
<Placemark><name>152_918A</name><Point><coordinates>-38.63,63.09,-1869</coordinates></Point></Placemark>
<Placemark><name>38_338</name><Point><coordinates>5.38,67.78,-1297</coordinates></Point></Placemark>
<Placemark><name>39_354</name><Point><coordinates>-44.19,5.89,-4045</coordinates></Point></Placemark>
<Placemark><name>41_367</name><Point><coordinates>-20.04,12.48,-4748</coordinates></Point></Placemark>
<Placemark><name>41_370</name><Point><coordinates>-10.77,32.83,-4214</coordinates></Point></Placemark>
<Placemark><name>44_390A</name><Point><coordinates>-76.11,30.14,-2665</coordinates></Point></Placemark>
<Placemark><name>47_398D</name><Point><coordinates>-10.71,40.96,-3910</coordinates></Point></Placemark>
<Placemark><name>49_407</name><Point><coordinates>-30.57,63.93,-2472</coordinates></Point></Placemark>
<Placemark><name>49_408</name><Point><coordinates>-28.91,63.37,-1624</coordinates></Point></Placemark>
<Placemark><name>49_410</name><Point><coordinates>-29.47,45.5,-2975</coordinates></Point></Placemark>
<Placemark><name>76_534A</name><Point><coordinates>-75.38,28.34,-4971</coordinates></Point></Placemark>
<Placemark><name>77_537</name><Point><coordinates>-85.46,23.93,-3123</coordinates></Point></Placemark>
<Placemark><name>77_538A</name><Point><coordinates>-85.16,23.84,-2742</coordinates></Point></Placemark>
<Placemark><name>77_540</name><Point><coordinates>-84.37,23.82,-2926</coordinates></Point></Placemark>
<Placemark><name>79_545</name><Point><coordinates>-9.36,33.66,-3142</coordinates></Point></Placemark>
<Placemark><name>79_547A</name><Point><coordinates>-9.34,33.78,-3938</coordinates></Point></Placemark>
<Placemark><name>80_548</name><Point><coordinates>-12.16,48.91,-1251</coordinates></Point></Placemark>
<Placemark><name>80_549A</name><Point><coordinates>-13.09,49.08,-2513</coordinates></Point></Placemark>
<Placemark><name>82_558</name><Point><coordinates>-37.34,37.77,-3754</coordinates></Point></Placemark>
<Placemark><name>82_563</name><Point><coordinates>-43.76,33.64,-3786</coordinates></Point></Placemark>
<Placemark><name>93_603</name><Point><coordinates>-70.02,35.49,-4633</coordinates></Point></Placemark>
<Placemark><name>93_603C</name><Point><coordinates>-70.03,35.49,-4633</coordinates></Point></Placemark>
<Placemark><name>93_605</name><Point><coordinates>-72.6,38.74,-2194</coordinates></Point></Placemark>
<Placemark><name>94_606</name><Point><coordinates>-35.49,37.33,-3007</coordinates></Point></Placemark>
<Placemark><name>94_607</name><Point><coordinates>-32.95,41,-3427</coordinates></Point></Placemark>
<Placemark><name>94_608</name><Point><coordinates>-23.08,42.83,-3526</coordinates></Point></Placemark>
<Placemark><name>94_609</name><Point><coordinates>-24.23,49.87,-3884</coordinates></Point></Placemark>
<Placemark><name>94_610</name><Point><coordinates>-18.88,53.22,-2417</coordinates></Point></Placemark>
<Placemark><name>95_612</name><Point><coordinates>-72.77,38.82,-1386</coordinates></Point></Placemark>
<Placemark><name>210_1276A</name><Point><coordinates>-44.78,45.4,-4549</coordinates></Point></Placemark>
<Placemark><name>173_1067A</name><Point><coordinates>-11.59,40.68,-5021</coordinates></Point></Placemark>
<Placemark><name>2_8A</name><Point><coordinates>-67.55,35.38,-5184</coordinates></Point></Placemark>
<Placemark><name>2_9</name><Point><coordinates>-59.19,32.77,-4973</coordinates></Point></Placemark>
<Placemark><name>2_10</name><Point><coordinates>-52.21,32.86,-4712</coordinates></Point></Placemark>
<Placemark><name>2_11</name><Point><coordinates>-44.74,29.94,-3571</coordinates></Point></Placemark>
<Placemark><name>2_12C</name><Point><coordinates>-26,19.69,-4557</coordinates></Point></Placemark>
<Placemark><name>173_1068A</name><Point><coordinates>-11.61,40.68,-5044</coordinates></Point></Placemark>
<Placemark><name>3_13</name><Point><coordinates>-18.22,6.04,-4585</coordinates></Point></Placemark>
<Placemark><name>4_23</name><Point><coordinates>-31.04,-6.14,-5079</coordinates></Point></Placemark>
<Placemark><name>4_24</name><Point><coordinates>-30.89,-6.27,-5148</coordinates></Point></Placemark>
<Placemark><name>4_29</name><Point><coordinates>-69.32,14.78,-4247</coordinates></Point></Placemark>
<Placemark><name>4_30</name><Point><coordinates>-63.38,12.88,-1218</coordinates></Point></Placemark>
<Placemark><name>4_31</name><Point><coordinates>-72.02,14.94,-3369</coordinates></Point></Placemark>
<Placemark><name>173_1069A</name><Point><coordinates>-11.77,40.72,-5075</coordinates></Point></Placemark>
<Placemark><name>101_631A</name><Point><coordinates>-75.7,23.6,-1092</coordinates></Point></Placemark>
<Placemark><name>101_632A</name><Point><coordinates>-75.4,23.8,-1997</coordinates></Point></Placemark>
<Placemark><name>101_633A</name><Point><coordinates>-75.6,23.7,-1679</coordinates></Point></Placemark>
<Placemark><name>151_908A</name><Point><coordinates>1.36,78.38,-1274</coordinates></Point></Placemark>
<Placemark><name>151_909A</name><Point><coordinates>3.07,78.58,-2519</coordinates></Point></Placemark>
<Placemark><name>151_912A</name><Point><coordinates>5.45,79.95,-1037</coordinates></Point></Placemark>
<Placemark><name>151_913A</name><Point><coordinates>6.94,75.48,-3319</coordinates></Point></Placemark>
<Placemark><name>152_916A</name><Point><coordinates>-39.8,63.48,-514</coordinates></Point></Placemark>
<Placemark><name>154_925A</name><Point><coordinates>-43.48,4.2,-3042</coordinates></Point></Placemark>
<Placemark><name>154_929E</name><Point><coordinates>-43.74,5.97,-4356</coordinates></Point></Placemark>
<Placemark><name>157_953A</name><Point><coordinates>-15.14,28.65,-3578</coordinates></Point></Placemark>
<Placemark><name>157_954B</name><Point><coordinates>-15.53,28.43,-3485</coordinates></Point></Placemark>
</Document>
</kml>
9 comments:
Awesome! We need more blog posts like this. You're probably not the only person with this kind of problem, so it'll benefit everyone. And in time, other people would post things like this as well, which would benefit you, ultimately.
Good job!
Good work man! much appreciated and very useful.
THANK YOU ! this was driving me mad looking for a solution; and then I found your blog. Thanks again.
Glad you found it useful!
YES, thank you! Same sentiment here as expressed by T.R.. Phew! :)
Cool map project, btw!
Great tip. So simple, surprised this wasn't in any of the examples.
A million THANKS!
I've been through dozens of sites trying to figure out how to get more than one placemark to work in a single KML. This is the only place I've found an answer. (and it works fine)
GREATLY appreciated!
Thanks! This was just the bit of information I was looking for.
Thanks for publishing this vital bit of information!
Post a Comment