Chinaunix首页 | 论坛 | 博客
  • 博客访问: 103753864
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类: Oracle

2008-04-11 21:06:05

  来源:Oracle    作者:Rich Gibson

最后一步是设置浏览器代理。在 Firefox 中,选择 Preferences->General->Connection。将您的 Socks 主机设置为端口 1080 上的本地主机,选择 Socks v4,确保其针对远程 127.0.0.1 和本地主机为 no proxy for。

这样,就可以使用 Web 界面来执行几乎所有可以通过数据库完成的操作了。因为业务数据(通常)是空间数据,所以来看一个向地址添加纬度和经度的示例。

通过 Web 界面的 SQL 部分创建一个地址表。

create table address (name varchar(128), 
address1 varchar(128),  address2 varchar(128),
 city varchar(128), state char(2),  zip char(9), 
latitude number(7,5), longitude number(8,5))

加载几个地址: 

  
insert into address (name, address1, city, state, zip) 
values ('Oracle', '500 Oracle Parkway', 'Redwood Shores', 'CA', '94065')
insert into address (name, address1, city, state, zip) 
values ('OReilly Media ', '1005 Gravenstein Highway North',
 'Sebastopol', 'CA', '95472')

向其他数据添加经度和纬度的过程称为地理编码 (geocoding)。Oracle Spatial 的完整版包括支持地理编码的 SDO_GCDR 程序包。通过 Oracle 数据库 XE,您可以使用 Geocoder.us Web 服务为地址添加地理编码。如果只有两个地址,可能只需查看坐标并手动进行更新即可,但绝对不会只有两个地址!

Geocoder.us 提供了数个 Web 服务接口,用于获取地址并返回坐标。最简单的是逗号分隔 (Comma Separated Values,CSV) 接口。您可以在浏览器中输入一个 URL 并获取坐标。该地址是:

Oracle Parkway,Redwood Shores,CA,94065

返回:

37.529526,-122.263969,500 Oracle Pky,Redwood City,CA,94065

还可以从 PHP 进行调用。该代码将从命令行获取地址,调用 geocoder.us,然后返回坐标:

包括地址并从命令行进行调用。(在从命令行调用 PHP 时,可以添加 –q 开关以取消普通 http 内容类型标题):

php -q ./php_work.php '1600 pennsylvania ave, washington, dc'

这将返回如下结果:

query address: 1600 pennsylvania ave, washington, dc latitude 38.898748 longitude -
77.037684

这是与 Geocoder.us 连接最简单的情况。

阅读(239) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~