WEB开发网
开发学院数据库Oracle 在 Oracle XE构建 Google Earth 接口 阅读

在 Oracle XE构建 Google Earth 接口

 2007-05-10 12:20:03 来源:WEB开发网   
核心提示: 为了简单起见,您可以除去其中一些属性,在 Oracle XE构建 Google Earth 接口(9),以下是这两个明确地点的最简单、有用的 KML 描述:<?xml version="1.0" encoding="UTF-8"?><

为了简单起见,您可以除去其中一些属性。以下是这两个明确地点的最简单、有用的 KML 描述:

<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://earth.google.com/kml/2.0">
<Folder>
<Placemark>
<name>First Place</name>
<Point>
<coordinates>-122.5,37.8,0</coordinates>
</Point>
</Placemark>
<Placemark>
<name>Random Place</name>
<Point>
<coordinates>-122.6,37.9,0</coordinates>
</Point>
</Placemark>
</Folder>
</kml>

以下是抓取地理编码地址并生成 KML 文件的 PHP 程序:

<?PHP
$conn=oci_connect('username','password', "//127.0.0.1/XE");
$sql = "SELECT name, address1, city, state, zip, latitude, longitude from address a";
$stmt = oci_parse($conn, $sql);oci_execute($stmt);
print '<?xml version="1.0" encoding="UTF-8"?>' . "
";
print '<kml xmlns="http://earth.google.com/kml/2.0">' . "
";print '<Folder>' . "
";
while ( $row = oci_fetch_assoc($stmt) ) {
 $address = $row["ADDRESS1"] . "," . $row["CITY"] . "," . $row["STATE"] . " " . $row["ZIP"];
 $name = $row["NAME"];
 $latitude = $row["LATITUDE"];
 $longitude = $row["LONGITUDE"];
 print "<Placemark>
";
 print " <name>$name</name>
";
 print " <description>$address</description>
";
 print " <Point>
";
 print " <coordinates>$longitude,$latitude,0</coordinates>
";
 print " </Point>
";
 print "</Placemark>
";
}
print '</Folder>' . "
";
print '</kml>' . "
";
?>

这是 caveman coder 版本,使用了专门用于显示所有细节的打印语句。在实际操作中,您可能需要使用 XML 库。请参阅以下位置的 Pear/XML/sql2xml 类说明文档:http://php.chregu.tv/sql2xml/。此外,通过使用动态 URL 参数和变量,我们可以轻松地在该查询(或其他查询)中添加所需内容,这样我们的空间分析用途将更为广泛。

保持关注

现在,您已经能够创建地址数据库,通过地理编码向该数据添加经度和纬度,然后将数据导出以便可以在 Google Earth 上查看数据(假设您仍未阅读 Lewis 与 Clark 以及探险之旅的定期发布信息,并且沉迷于愉快的探险中)。

Rich Gibson (http://mappinghacks.com) 是一位地图绘制、地理空间和地理编码方面的顾问,与人合著了 Mapping Hacks:Tips & Tools for Electronic Cartography (O’Reilly, 2005) 和 Google Maps Hacks (O'Reilly, 2006)。

上一页  4 5 6 7 8 9 

Tags:Oracle XE 构建

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接