The php scripts are
not in any means formal ,they will give a introduction to connecting to a db and displaying
attributes in kml format.
For in-depth comprehension Read:
Using PHP and MySQL to create KML - Tutorial
by Mano Marks
MS_Access GE NetLink:
http://jpwade.mooo.com/test/odbc_states_3d.php3
state_cube.dae with timespan
http://jpwade.mooo.com/access_db/files/state_cube.dae
right click save as, navigate to folder and ensure file has .dae extension
<?php
echo '<?xml version="1.0" encoding="UTF-8"?>';
echo '<kml xmlns="http://earth.google.com/kml/2.0">';
echo '<Document>';
echo '<StyleMap id="dot">';
echo '</StyleMap>';
echo '<Style id="dot">';
echo '<IconStyle>';
echo '<scale>0.7</scale>';
echo '<Icon>';
echo '<href>http://maps.google.com/mapfiles/kml/pal3/icon46.png</href>';
echo '</Icon>';
echo '</IconStyle>';
echo '<LabelStyle>';
echo '<color>ff7fffff</color>';
echo '<scale>0.8</scale>';
echo '</LabelStyle>';
echo '</Style>';
echo '<Folder>';
echo '<name>Locations</name>';
echo '<open>1</open>';
$cnx = odbc_connect('arcmap', 'root','') or exit("Could not connect to ODBC
database!");
$sql = "SELECT * FROM STATES"; // The asterisk (*) says to select
ALL fields from Table States
$result = odbc_exec($cnx, $sql) or exit(odbc_errormsg());
while(odbc_fetch_row($result))
{
$objectid = odbc_result($result,
1);
$shape = odbc_result($result, 2);
$pop1990 = odbc_result($result,
3);
$households = odbc_result($result,
4);
$male = odbc_result($result, 5);
$female = odbc_result($result,
6);
$x = odbc_result($result, 7);
$y = odbc_result($result, 8);
$name = odbc_result($result, 9);
$alt_10 = odbc_result($result,
10);
$t_in = odbc_result($result, 11);
$t_out = odbc_result($result, 12);
$response = '<Placemark>';
$response .= '<name>';
$response .= $name;
$response .= '</name>';
$response .= '<TimeSpan><begin>';
$response .= $t_in;
$response .= '</begin><end>';
$response .= $t_out;
$response .= '</end></TimeSpan>';
$response .= '<styleUrl>#dot</styleUrl>';
$response .= '<Model id=';
$response .= '"';
$response .= 'model_1_copy0';
$response .= '"';
$response .= '>';
$response .= '<altitudeMode>relativeToGround</altitudeMode>';
$response .= '<Location><longitude>';
$response .= $x;
$response .= '</longitude>';
$response .= '<latitude>';
$response .= $y;
$response .= '</latitude>';
$response .= '<altitude>0</altitude>';
$response .= '</Location><Orientation>';
$response .= '<heading>0</heading>';
$response .= '<tilt>0</tilt>';
$response .= '<roll>0</roll>';
$response .= '</Orientation>';
$response .= '<Scale>';
$response .= '<x>100000</x>';
$response .= '<y>100000</y>';
$response .= '<z>';
$response .= $alt_10;
$response .= '</z>';
$response .= '</Scale>';
$response .= '<Link><href>http://jpwade.mooo.com/access_db/files/state_cube.dae</href>';
$response .= '</Link>';
$response .= '<ResourceMap>';
$response .= '</ResourceMap>';
$response .= '</Model>';
$response .= '</Placemark>';
echo $response;
}
echo "</Folder>";
echo "</Document>";
echo "</kml>";
odbc_close($cnx)
?>
MS_Access GE NetLink:
http://jpwade.mooo.com/test/odbc_states_pts_3d.php
extrude points no timespan & state_cube_color.dae with timespan
.dae files
http://jpwade.mooo.com/access_db/files/state_cube_red.dae
http://jpwade.mooo.com/access_db/files/state_cube_yellow.dae
http://jpwade.mooo.com/access_db/files/state_cube_green.dae
right click save as, navigate to folder and ensure file has .dae extension
<?php
echo '<?xml version="1.0" encoding="UTF-8"?>';
echo '<kml xmlns="http://earth.google.com/kml/2.0">';
echo '<Document>';
echo '<StyleMap id="dot">';
echo '</StyleMap>';
echo '<Style id="dot">';
echo '<IconStyle>';
echo '<scale>0.7</scale>';
echo '<Icon>';
echo '<href>http://maps.google.com/mapfiles/kml/pal3/icon46.png</href>';
echo '</Icon>';
echo '</IconStyle>';
echo '<LabelStyle>';
echo '<color>ff7fffff</color>';
echo '<scale>0.8</scale>';
echo '</LabelStyle>';
echo '</Style>';
echo '<Folder>';
echo '<name>Locations</name>';
echo '<open>1</open>';
$cnx = odbc_connect('arcmap', 'root','') or exit("Could not connect to ODBC
database!");
$sql = "SELECT * FROM STATES"; // The asterisk (*) says to select
ALL fields from Table States
$result = odbc_exec($cnx, $sql) or exit(odbc_errormsg());
while(odbc_fetch_row($result))
{
$objectid = odbc_result($result,
1);
$shape = odbc_result($result, 2);
$pop1990 = odbc_result($result, 3);
$households = odbc_result($result, 4);
$male = odbc_result($result, 5);
$female = odbc_result($result, 6);
$x = odbc_result($result, 7);
$y = odbc_result($result, 8);
$name = odbc_result($result, 9);
$alt_10 = odbc_result($result, 10);
$t_in = odbc_result($result, 11);
$t_out = odbc_result($result, 12);
$Icon = odbc_result($result, 13);
$response = '<Folder>';
$response .= '<name>';
$response .= $name;
$response .= '</name>';
$response .= '<Placemark>';
$response .= '<name>';
$response .= $name;
$response .= '</name>';
$response .= '<description><![CDATA[';
$response .= 'Name: ';
$response .= $name;
$response .= '<br>';
$response .= 'Objectid: ';
$response .= $objectid;
$response .= '<br>';
$response .= 'Pop1990: ';
$response .= $pop1990;
$response .= '<br>';
$response .= 'Households: ';
$response .= $households;
$response .= '<br>';
$response .= 'Males: ';
$response .= $male;
$response .= '<br>';
$response .= 'Females: ';
$response .= $female;
$response .= '<br>';
$response .= ']]>';
$response .= '</description>';
$response .= '<styleUrl>#dot</styleUrl>';
$response .= '<Point>';
$response .= '<extrude>1</extrude>';
$response .= '<altitudeMode>relativeToGround</altitudeMode>';
$response .= '<coordinates>';
$response .= $x;
$response .= ',';
$response .= $y;
$response .= ',';
$response .= $alt_10;
$response .= '</coordinates>';
$response .= '</Point></Placemark>';
$response .= '<Placemark>';
$response .= '<name>';
$response .= $name;
$response .= '</name>';
$response .= '<TimeSpan><begin>';
$response .= $t_in;
$response .= '</begin><end>';
$response .= $t_out;
$response .= '</end></TimeSpan>';
$response .= '<styleUrl>#dot</styleUrl>';
$response .= '<Model id=';
$response .= '"';
$response .= 'model_1_copy0';
$response .= '"';
$response .= '>';
$response .= '<altitudeMode>relativeToGround</altitudeMode>';
$response .= '<Location><longitude>';
$response .= $x;
$response .= '</longitude>';
$response .= '<latitude>';
$response .= $y;
$response .= '</latitude>';
$response .= '<altitude>0</altitude>';
$response .= '</Location><Orientation>';
$response .= '<heading>0</heading>';
$response .= '<tilt>0</tilt>';
$response .= '<roll>0</roll>';
$response .= '</Orientation>';
$response .= '<Scale>';
$response .= '<x>100000</x>';
$response .= '<y>100000</y>';
$response .= '<z>';
$response .= $alt_10;
$response .= '</z>';
$response .= '</Scale>';
$response .= '<Link><href>http://jpwade.mooo.com/access_db/files/state_cube_';
$response .= $Icon;
$response .= '.dae</href>';
$response .= '</Link>';
$response .= '<ResourceMap>';
$response .= '</ResourceMap>';
$response .= '</Model>';
$response .= '</Placemark>';
$response .= '</Folder>';
echo $response;
}
echo "</Folder>";
echo "</Document>";
echo "</kml>";
odbc_close($cnx)
?>
MySQL GE NetLink:
http://jpwade.mooo.com/test/mysql_states_pts.php
state points, no timespan
DataBase Setup Info
http://jpwade.mooo.com/test/mysql_states_insert_data.txt
<?
$username="put user name here";
$password="put passoword here";
$database="put database name here";
mysql_connect("localhost",$username,$password);
@mysql_select_db($database) or die( "Unable to select database");
$query="SELECT * FROM STATES";
$result=mysql_query($query);
$num=mysql_numrows($result);
mysql_close();
$response = '<?xml version="1.0" encoding="UTF-8"?>';
$response .= '<kml xmlns="http://earth.google.com/kml/2.0">';
$response .= '<Document>';
$response .= '<StyleMap id="dot">';
$response .= '</StyleMap>';
$response .= '<Style id="dot">';
$response .= '<IconStyle>';
$response .= '<scale>0.7</scale>';
$response .= '<Icon>';
$response .= '<href>http://maps.google.com/mapfiles/kml/pal3/icon46.png</href>';
$response .= '</Icon>';
$response .= '</IconStyle>';
$response .= '<LabelStyle>';
$response .= '<color>ff7fffff</color>';
$response .= '<scale>0.8</scale>';
$response .= '</LabelStyle>';
$response .= '</Style>';
$response .= '<Folder>';
$response .= '<name>Locations</name>';
$response .= '<open>1</open>';
$i=0;
while ($i < $num) {
$Id=mysql_result($result,$i,"OBJECTID");
$Pop1990=mysql_result($result,$i,"POP1990");
$Households=mysql_result($result,$i,"HOUSEHOLDS");
$Males=mysql_result($result,$i,"MALES");
$Females=mysql_result($result,$i,"FEMALES");
$X=mysql_result($result,$i,"x");
$Y=mysql_result($result,$i,"y");
$Name=mysql_result($result,$i,"NAME");
$Alt_10=mysql_result($result,$i,"alt_10");
$T_in=mysql_result($result,$i,"t_in");
$T_out=mysql_result($result,$i,"t_out");
$Icon=mysql_result($result,$i,"ICON");
$response .= '<Placemark>';
$response .= "<description><![CDATA[Population:
$Pop1990<br> Households:
$Households<br>Males: $Males<br>Females:
$Females <br><br> ]]></description>";
$response .= '<name>';
$response .= "$Name";
$response .= '</name>';
$response .= '<visibility>1</visibility>';
$response .= '<styleUrl>#dot</styleUrl>';
$response .= '<Point>';
$response .= "<coordinates>$X,$Y,0</coordinates>";
$response .= '</Point>';
$response .= '</Placemark>';
$i++;
}
$response .= '</Folder>';
$response .= '</Document>';
$response .= '</kml>';
echo $response;
?>
MySQL GE NetLink:
http://jpwade.mooo.com/test/mysql_states_3d.php
state_cube_color.dae with timespan , extruded points no timespan
.dae files
http://jpwade.mooo.com/access_db/files/state_cube_red.dae
http://jpwade.mooo.com/access_db/files/state_cube_yellow.dae
http://jpwade.mooo.com/access_db/files/state_cube_green.dae
right click save as, navigate to folder and ensure file has .dae extension
DataBase Setup Info
http://www.czmartin.com/jpw/asp_arcmap/mysql_states_insert_data.txt
<?php
echo '<?xml version="1.0" encoding="UTF-8"?>';
echo '<kml xmlns="http://earth.google.com/kml/2.0">';
echo '<Document>';
echo '<StyleMap id="dot">';
echo '</StyleMap>';
echo '<Style id="dot">';
echo '<IconStyle>';
echo '<scale>0.7</scale>';
echo '<Icon>';
echo '<href>http://maps.google.com/mapfiles/kml/pal3/icon46.png</href>';
echo '</Icon>';
echo '</IconStyle>';
echo '<LabelStyle>';
echo '<color>ff7fffff</color>';
echo '<scale>0.8</scale>';
echo '</LabelStyle>';
echo '</Style>';
echo '<Folder>';
echo '<name>Locations</name>';
echo '<open>1</open>';
$username="put username here";
$password="";
$database="ARCMAP";
mysql_connect("localhost",$username,$password);
@mysql_select_db($database) or die( "Unable to select database");
$query="SELECT * FROM STATES";
$result=mysql_query($query);
$num=mysql_numrows($result);
mysql_close();
$i=0;
while ($i < $num) {
$Id=mysql_result($result,$i,"OBJECTID");
$Pop1990=mysql_result($result,$i,"POP1990");
$Households=mysql_result($result,$i,"HOUSEHOLDS");
$Males=mysql_result($result,$i,"MALES");
$Females=mysql_result($result,$i,"FEMALES");
$X=mysql_result($result,$i,"x");
$Y=mysql_result($result,$i,"y");
$Name=mysql_result($result,$i,"NAME");
$Alt_10=mysql_result($result,$i,"alt_10");
$T_in=mysql_result($result,$i,"t_in");
$T_out=mysql_result($result,$i,"t_out");
$Icon=mysql_result($result,$i,"ICON");
$response = '<Folder>';
$response .= '<name>';
$response .= $Name;
$response .= '</name>';
$response .= '<Placemark>';
$response .= '<name>';
$response .= $Name;
$response .= '</name>';
$response .= '<description><![CDATA[';
$response .= 'Name: ';
$response .= $Name;
$response .= '<br>';
$response .= 'Objectid: ';
$response .= $Objectid;
$response .= '<br>';
$response .= 'Pop1990: ';
$response .= $Pop1990;
$response .= '<br>';
$response .= 'Households: ';
$response .= $Households;
$response .= '<br>';
$response .= 'Males: ';
$response .= $Male;
$response .= '<br>';
$response .= 'Females: ';
$response .= $Female;
$response .= '<br>';
$response .= ']]>';
$response .= '</description>';
$response .= '<styleUrl>#dot</styleUrl>';
$response .= '<Point>';
$response .= '<extrude>1</extrude>';
$response .= '<altitudeMode>relativeToGround</altitudeMode>';
$response .= '<coordinates>';
$response .= $X;
$response .= ',';
$response .= $Y;
$response .= ',';
$response .= $Alt_10;
$response .= '</coordinates>';
$response .= '</Point></Placemark>';
$response .= '<Placemark>';
$response .= '<name>';
$response .= $Name;
$response .= '</name>';
$response .= '<TimeSpan><begin>';
$response .= $T_in;
$response .= '</begin><end>';
$response .= $T_out;
$response .= '</end></TimeSpan>';
$response .= '<styleUrl>#dot</styleUrl>';
$response .= '<Model id=';
$response .= '"';
$response .= 'model_1_copy0';
$response .= '"';
$response .= '>';
$response .= '<altitudeMode>relativeToGround</altitudeMode>';
$response .= '<Location><longitude>';
$response .= $X;
$response .= '</longitude>';
$response .= '<latitude>';
$response .= $Y;
$response .= '</latitude>';
$response .= '<altitude>0</altitude>';
$response .= '</Location><Orientation>';
$response .= '<heading>0</heading>';
$response .= '<tilt>0</tilt>';
$response .= '<roll>0</roll>';
$response .= '</Orientation>';
$response .= '<Scale>';
$response .= '<x>100000</x>';
$response .= '<y>100000</y>';
$response .= '<z>';
$response .= $Alt_10;
$response .= '</z>';
$response .= '</Scale>';
$response .= '<Link><href>http://jpwade.mooo.com/access_db/files/state_cube_';
$response .= $Icon;
$response .= '.dae</href>';
$response .= '</Link>';
$response .= '<ResourceMap>';
$response .= '</ResourceMap>';
$response .= '</Model>';
$response .= '</Placemark>';
$response .= '</Folder>';
echo $response;
$i++;
}
$response .= '</Folder>';
$response .= '</Document>';
$response .= '</kml>';
echo $response;
?>
MySQL GE NetLink:
Polygons no timespan , state_cube_color.dat timespan
http://jpwade.mooo.com/test/mysql_pgon.php
.dae files
http://jpwade.mooo.com/access_db/files/state_cube_red.dae
http://jpwade.mooo.com/access_db/files/state_cube_yellow.dae
http://jpwade.mooo.com/access_db/files/state_cube_green.dae
right click save as, navigate to folder and ensure file has .dae extension
DataBase Structure & Setup Info
http://www.czmartin.com/jpw/asp_arcmap/mysql_states_insert_data.txt
<?php
echo '<?xml version="1.0" encoding="UTF-8"?>';
echo '<kml xmlns="http://earth.google.com/kml/2.0">';
echo '<Document>';
echo '<StyleMap id="dot">';
echo '</StyleMap>';
echo '<Style id="dot">';
echo '<IconStyle>';
echo '<scale>0.7</scale>';
echo '<Icon>';
echo '<href>http://maps.google.com/mapfiles/kml/pal3/icon46.png</href>';
echo '</Icon>';
echo '</IconStyle>';
echo '<LabelStyle>';
echo '<color>ff7fffff</color>';
echo '<scale>0.8</scale>';
echo '</LabelStyle>';
echo '</Style>';
echo '<Folder>';
echo '<name>Locations</name>';
echo '<open>1</open>';
$username="put username here";
$password="put password here";
$database="put database name here";
mysql_connect("localhost",$username,$password);
@mysql_select_db($database) or die( "Unable to select database");
$query="SELECT * FROM STATES";
$result=mysql_query($query);
$num=mysql_numrows($result);
mysql_close();
$i=0;
while ($i < $num) {
$Id=mysql_result($result,$i,"OBJECTID");
$Pop1990=mysql_result($result,$i,"POP1990");
$Households=mysql_result($result,$i,"HOUSEHOLDS");
$Males=mysql_result($result,$i,"MALES");
$Females=mysql_result($result,$i,"FEMALES");
$X=mysql_result($result,$i,"x");
$Y=mysql_result($result,$i,"y");
$Name=mysql_result($result,$i,"NAME");
$Alt_10=mysql_result($result,$i,"alt_10");
$T_in=mysql_result($result,$i,"t_in");
$T_out=mysql_result($result,$i,"t_out");
$Icon=mysql_result($result,$i,"ICON");
$Pgon=mysql_result($result,$i,"pgon");
$response = '<Folder>';
$response .= '<name>';
$response .= $Name;
$response .= '</name>';
$response .= '<Placemark>';
$response .= '<name>';
$response .= $Name;
$response .= '</name>';
$response .= '<Polygon>';
$response .= '<outerBoundaryIs>';
$response .= '<LinearRing>';
$response .= '<coordinates>';
$response .= $Pgon;
$response .= '</coordinates>';
$response .= '</LinearRing>';
$response .= '</outerBoundaryIs>';
$response .= '</Polygon>';
$response .= '</Placemark>';
$response .= '<Placemark>';
$response .= '<name>';
$response .= $Name;
$response .= '</name>';
$response .= '<TimeSpan><begin>';
$response .= $T_in;
$response .= '</begin><end>';
$response .= $T_out;
$response .= '</end></TimeSpan>';
$response .= '<styleUrl>#dot</styleUrl>';
$response .= '<Model id=';
$response .= '"';
$response .= 'model_1_copy0';
$response .= '"';
$response .= '>';
$response .= '<altitudeMode>relativeToGround</altitudeMode>';
$response .= '<Location><longitude>';
$response .= $X;
$response .= '</longitude>';
$response .= '<latitude>';
$response .= $Y;
$response .= '</latitude>';
$response .= '<altitude>0</altitude>';
$response .= '</Location><Orientation>';
$response .= '<heading>0</heading>';
$response .= '<tilt>0</tilt>';
$response .= '<roll>0</roll>';
$response .= '</Orientation>';
$response .= '<Scale>';
$response .= '<x>100000</x>';
$response .= '<y>100000</y>';
$response .= '<z>';
$response .= $Alt_10;
$response .= '</z>';
$response .= '</Scale>';
$response .= '<Link><href>http://jpwade.mooo.com/access_db/files/state_cube_';
$response .= $Icon;
$response .= '.dae</href>';
$response .= '</Link>';
$response .= '<ResourceMap>';
$response .= '</ResourceMap>';
$response .= '</Model>';
$response .= '</Placemark>';
$response .= '</Folder>';
echo $response;
$i++;
}
$response .= '</Folder>';
$response .= '</Document>';
$response .= '</kml>';
echo $response;
?>