SETI_and_CASPER_KML - david-macmahon/wiki_convert_test GitHub Wiki
This project has a home in the CASPER Subversion repository
We would like to provide a means for seti researchers and the public to view ETI candidates overlayed on google earth, incorporating extended information about the candidate. This extended information might include waterfall plots of the detection, date and time the signal was received and rankings from the public. An example of the direction we would like to go is this display of candidates from the SERENDIP V.v installation:
SERENDIP V.v Engineering Candidate Google Earth Gadget
This was done by embedding this html code:
<script src="http://www.gmodules.com/ig/ifr?url=http://code.google.com/apis/kml/embed/embedkmlgadget.xml&
up_kml_url=http%3A%2F%2Fseti.berkeley.edu%2Fsites%2Fdefault%2Ffiles%2Fserendip_june_2009.kml&up_view_mode=earth&
amp;up_earth_2d_fallback=0&up_earth_fly_from_space=0&up_earth_show_nav_controls=1&up_earth_show_buildings=0&
amp;up_earth_show_terrain=0&up_earth_show_roads=0&up_earth_show_borders=0&up_earth_sphere=sky&
amp;up_maps_zoom_out=0&up_maps_default_type=map&synd=open&w=500&h=400&
title=Embedded+KML+Viewer&border=%23ffffff%7C3px%2C1px+solid+%23999999&output=js"></script>
The .kml file describing our candidates is available in this projects SVN repository
A few .php scripts used to convert comma delimited candidate lists to Arecibo CIMA format and to kml are available here
We would like to develop a real time graphical display of seti@home / Boinc participants receiving work units and submitting results using google earth / kml. Below is some protocode showing something similar to what we're after (although this is pretty rudimentary).
To try out, open example.kml and example2.kml in Google Earth. The source to the server side scripts that instruct google earth on perspective changes and generate random lat/long locations are below. You can download the files from the CASPER Subversion repository if you like.
Image:c_chVVnH_google_earth_seti.jpg|google_earth_seti.jpg
<?xml version="1.0" encoding="UTF-8"?>
<kml ns="http://www.opengis.net/kml/2.2">
<Document>
<open>1</open>
<NetworkLink>
<Link>
<href>http://casper.berkeley.edu/dynam.php</href>
<refreshMode>onInterval</refreshMode>
<refreshInverval>3</refreshInverval>
</Link>
</NetworkLink>
</Document>
</kml>
<?xml version="1.0" encoding="UTF-8"?>
<kml ns="http://www.opengis.net/kml/2.2">
<Document>
<open>1</open>
<NetworkLink>
<flyToView>1</flyToView>
<Link>
<href>http://casper.berkeley.edu/dynam2.php</href>
<refreshMode>onInterval</refreshMode>
<refreshInverval>30</refreshInverval>
</Link>
</NetworkLink>
</Document>
</kml>
<?php
echo '<kml ns="http://www.opengis.net/kml/2.2" xmlns:gx="http://www.google.com/kml/ext/2.2">'."\n";
echo '<Document>';
echo '<open>1</open>';
?>
<?php
echo '<Style id="linestylePurple">';
echo '<LineStyle>';
echo '<color>7fE666FF</color>';
echo '<width>3</width>';
echo '</LineStyle>';
echo ' </Style>';
echo '<Style id="linestyleGreen">';
echo '<LineStyle>';
echo '<color>7f7FFF66</color>';
echo '<width>3</width>';
echo '</LineStyle>';
echo ' </Style>';
echo '<Folder>';
for($i = 0; $i < 40; $i++){
$long = rand(2,358) - 180;
$lat = rand(2,178) - 90;
$color = rand(1,2);
echo ' <Placemark>'."\n";
echo ' <name>Tessellated</name>'."\n";
if($color==1) {
echo '<styleUrl>#linestylePurple</styleUrl>'."\n";
} else {
echo '<styleUrl>#linestyleGreen</styleUrl>'."\n";
}
echo ' <visibility>1</visibility>'."\n";
echo ' <LineString>'."\n";
echo ' <tessellate>1</tessellate>'."\n";
echo ' <coordinates>'."\n";
echo "-122.243944,37.880675,0\n";
echo $long.",".$lat.",0\n";
echo ' </coordinates>'."\n";
echo ' </LineString>'."\n";
echo ' </Placemark>'."\n";
}
echo '</Folder>';
echo '</Document>';
echo '</kml>';
?>
<?php
$x = time()%100;
$long = -95.44 + $x;
$lat = 40.42;
echo '<kml ns="http://www.opengis.net/kml/2.2">'."\n";
if($x >= 0 && $x < 3) {
?>
<NetworkLinkControl>
<LookAt>
<longitude>-122.243944</longitude>
<latitude>37.880675</latitude>
<altitude>0</altitude>
<heading>126.1506691541814</heading>
<tilt>65.38634344128558</tilt>
<range>100.1988425024791</range>
</LookAt>
</NetworkLinkControl>
<?php
} else if($x >= 25 && $x < 28) {
?>
<NetworkLinkControl>
<LookAt>
<longitude>34.0</longitude>
<latitude>33.0</latitude>
<altitude>0</altitude>
<heading>0.0</heading>
<tilt>0.0</tilt>
<range>10000000.1988425024791</range>
</LookAt>
</NetworkLinkControl>
<?php
} else if($x >= 50 && $x < 53) {
?>
<NetworkLinkControl>
<LookAt>
<longitude>122.0</longitude>
<latitude>3.0</latitude>
<altitude>0</altitude>
<heading>0.0</heading>
<tilt>0.0</tilt>
<range>10000000.1988425024791</range>
</LookAt>
</NetworkLinkControl>
<?php
} else if($x >= 75 && $x < 78) {
?>
<NetworkLinkControl>
<LookAt>
<longitude>-100.243944</longitude>
<latitude>27.880675</latitude>
<altitude>0</altitude>
<heading>0.0</heading>
<tilt>0.0</tilt>
<range>10000000.1988425024791</range>
</LookAt>
</NetworkLinkControl>
<?php
}
echo '</kml>';
?>