在 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)。
- ››oracle 中 UPDATE nowait 的使用方法
- ››Oracle ORA-12560解决方法
- ››Oracle 10g RAC 常用维护命令
- ››Oracle如何在ASM中定位文件的分布
- ››Oracle的DBMS_RANDOM.STRING 的用法
- ››oracle 外部表导入时间日期类型数据,多字段导入
- ››Oracle中查找重复记录
- ››oracle修改用户登录密码
- ››Oracle创建删除用户、角色、表空间、导入导出等命...
- ››Oracle中登陆时报ORA-28000: the account is lock...
- ››Oracle数据库在配置文件中更改最大连接数
- ››Oracle中在pl/sql developer修改表的两种方式
赞助商链接