问题:我有一个来自Access数据库的地址字段,该数据库已转换为Sql Server 2005.此字段包含一个字段中的所有内容.我需要将地址的各个部分解析为规范化表中的相应字段.我需要为大约4,000条记录执行此操作,并且它需要是可重复的.
假设:
假设在美国的地址(现在)
假设输入字符串有时包含收件人(被发送者)和/或第二个街道地址(即B组)
国家可以缩写
邮政编码可以是标准的5位数或zip + 4
在某些情况下存在拼写错误
更新:在回答提出的问题时,标准并未普遍遵循,我需要存储个别值,而不仅仅是地理编码和错误意味着拼写错误(上面已修正)
样本数据:
AP Croll&Son 2299 Lewes-Georgetown Hwy,Georgetown,DE 19947
11522 Shawnee Road,Greenwood DE 19950
144 Kings Highway,SW Dover,DE 19901
综合Const.服务2 Penns Way Suite 405 New Castle,DE 19720
Humes Realty 33 Bridle Ridge Court,Lewes,DE 19958
Nichols Excavation 2742 Pulaski Hwy Newark,DE 19711
2284 Bryn Zion Road,Smyrna,DE 19904
VEI Dover Crossroads,LLC 1500 Serpentine Road,Suite 100 Baltimore MD 21
580 North Dupont Highway Dover,DE 19901
PO Box 778 Dover,DE 19903
我们主要在美国开展业务,并试图通过将所有地址字段组合到单个文本区域来改善用户体验.但是有一些问题:
显然,这是一个常见的问题:
有没有办法将地址与周围的文本隔离并将其分解成碎片?是否有正则表达式来解析地址?
我是一名程序员,说实话,不知道世界的街道地址结构,我的国家是如何构建的:)所以哪个是存储街道地址的最佳和常见的数据库设计?它应该是如此简单易用,快速查询和动态存储世界上所有街道地址,只需一个ID识别非常
感谢
在RDBMS中存储邮政地址的最佳实践是否有任何好的参考?似乎有很多可以做出的权衡,并且每个都有很多优点和缺点需要评估 - 当然这已经一次又一次地完成了吗?也许有人至少写过一些在某处学到的经验教训?
我所讨论的权衡的例子是将邮政编码存储为整数与char字段,如果房屋号码存储为单独的字段或地址行1的一部分,如果套房/公寓/等号码被标准化或仅存储为地址行2中的文本块,如何处理zip +4(单独的字段或一个大字段,整数与文本)?等等
我现在主要关注的是美国地址,但我想有一些最好的做法可以帮助你做好全球化的可能性(例如,将地域命名为区域而不是州或邮政编码,而不是邮政编码,等等
甚至可以执行地址(物理,而不是电子邮件)验证?看起来大量的地址格式,即使仅在美国,也会使这个任务变得相当困难.另一方面,对于多个业务需求而言,这似乎是一项必要的任务.
据说,可以从Google地图或某些此类服务获取此信息.(美国地址不够好.)
我如何将地址或城市转换为纬度/经度?我可以"租用"这项服务的商业服装吗?这将用于具有全时Internet访问权限的Windows PC上的商业桌面应用程序.
我有一项任务是验证输入到我当前正在创建的系统中的地址.系统要求输入的地址针对有效数据源进行验证.在英国,数据集来自皇家邮政,访问费用昂贵.
所需的数据是整个欧洲的邮政编码信息,首先由API访问Web应用程序.
有很多公司提供这项服务,
这些都提供我需要的服务.然而,这是昂贵的,并且在某些情况下不是完整的数据集.例如不是爱尔兰
我还想知道是否有办法利用Google Maps API通过邮政编码和国家来验证这些数据.
谷歌地图方法是否可行,或者我是否必须离开其中一家昂贵的公司?关于我应该采取哪种方式的任何想法.
鉴于将国际地理地址存储在关系表中的任务,最灵活的架构是什么?地址的每个部分都应该分解到自己的字段中,还是应该更像自由文本?
将不同格式的地址分成不同的表是否有任何意义?例如,有一个表USAAddress,CanadianAddress,UKAddress ...?
我听说可以提交一个地址而不是经度和纬度,这对我的系统来说更加可行.用户在创建他们的个人资料时必须输入他们的地址,然后他们的个人资料将显示他们家的谷歌地图.我目前的Google Maps API与经度和纬度完美配合:
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<link rel="stylesheet" type="text/css" href="css.css" />
<title>Login Page</title>
<meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
<style type="text/css">
html { height: 100% }
body { height: 100%; margin: 0; padding: 0 }
#map-canvas { height: 100% }
</style>
<script type="text/javascript"
src="https://maps.googleapis.com/maps/api/js?key=MYKEY&sensor=false">
</script>
<script type="text/javascript">
function initialize() {
var mapOptions = {
center: new google.maps.LatLng(52.640143,1.28685),
zoom: 15,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
var map = new google.maps.Map(document.getElementById("map"),
mapOptions);
var marker = new google.maps.Marker({
position: new google.maps.LatLng(52.640143,1.28685),
map: map,
title: …
Run Code Online (Sandbox Code Playgroud) javascript google-maps latitude-longitude google-maps-api-3 street-address
street-address ×10
api ×3
postal-code ×3
geocoding ×2
geolocation ×2
parsing ×2
database ×1
google-maps ×1
javascript ×1
sql ×1
string ×1
types ×1
validation ×1
web-services ×1