Обсуждение: HowTo divide streetname from house-nr ?

Поиск
Список
Период
Сортировка

HowTo divide streetname from house-nr ?

От
Andreas
Дата:
  Hi,

how could I divide streetnames from housenumbers ?

I have to deal with input like this:

Parkstreet 42
Parkstr. 42
Casle Avenue 42
Casle Str. 42-47
Casle Str. 54 - 55

probaply even
Casle Str. 42-47 a

Perhaps one could cut ap the 1st numeric char and regard everything left 
of it as the street name and the rest as house number.
OK, this would fail with "42, Parkstreet" but those aren't to frequent.

How would I do this?


Re: HowTo divide streetname from house-nr ?

От
Craig Ringer
Дата:
On 23/09/2010 9:25 AM, Andreas wrote:
> Hi,
>
> how could I divide streetnames from housenumbers ?

You can't, reliably. There are papers written on the subject of 
addressing, address analysis, addressing in databases, etc.

How would you handle the address:
  Person's Name  RD3 Clemo Rd  Whangarei

? "RD3" is "Rural Delivery Area 3". The posties deliver within the area 
by named recipient. This is a real address scheme.

The world is full of weird and wacky addressing. IMO, unless you're 
willing to confine your schema to only handling addresses of a 
particular area you know about, don't try to normalize address. Even 
then, I wouldn't try to normalize addresses with text processing, I'd 
ask the user to do it during form entry or not do it at all.

If you're trying to find duplicate addresses, matching addreses, etc, 
then IMO you're better off using existing tools that do this with 
free-form addresses using national phone databases, postcode databases, etc.

-- 
Craig Ringer

Tech-related writing at http://soapyfrogs.blogspot.com/


Re: HowTo divide streetname from house-nr ?

От
negora
Дата:
<font face="Verdana">I guess that it's impossible to look for a solution which works on every </font>existing case,
speciallyif you're handling addresses from several countries. However, if you've certain control over the user inputs,
maybeyou could try replacing certain parts employing some kind of regular expression which removes numbers at the
beginning/endof the string.<br /><br /> On 23/09/10 03:25, Andreas wrote: <blockquote
cite="mid:4C9AAC85.1000001@gmx.net"type="cite"> Hi, <br /><br /> how could I divide streetnames from housenumbers ? <br
/><br/> I have to deal with input like this: <br /><br /> Parkstreet 42 <br /> Parkstr. 42 <br /> Casle Avenue 42 <br
/>Casle Str. 42-47 <br /> Casle Str. 54 - 55 <br /><br /> probaply even <br /> Casle Str. 42-47 a <br /><br /> Perhaps
onecould cut ap the 1st numeric char and regard everything left of it as the street name and the rest as house number.
<br/> OK, this would fail with "42, Parkstreet" but those aren't to frequent. <br /><br /> How would I do this? <br
/><br/></blockquote> 

Re: HowTo divide streetname from house-nr ?

От
Andreas Schmitz
Дата:
<br /> The only chance I see is to combine the information  about the localization with the address pattern. <br /><br
/>regards<br /><br /> Andreas<br /><br /><br /><br /><br /> On 09/23/2010 09:12 AM, negora wrote: <blockquote
cite="mid:4C9AFDEC.3050601@negora.com"type="cite"></blockquote><font face="Verdana">I guess that it's impossible to
lookfor a solution which works on every </font>existing case, specially if you're handling addresses from several
countries.However, if you've certain control over the user inputs, maybe you could try replacing certain parts
employingsome kind of regular expression which removes numbers at the beginning/end of the string.<br /><br /> On
23/09/1003:25, Andreas wrote: <blockquote cite="mid:4C9AAC85.1000001@gmx.net" type="cite"> Hi, <br /><br /> how could I
dividestreetnames from housenumbers ? <br /><br /> I have to deal with input like this: <br /><br /> Parkstreet 42 <br
/>Parkstr. 42 <br /> Casle Avenue 42 <br /> Casle Str. 42-47 <br /> Casle Str. 54 - 55 <br /><br /> probaply even <br
/>Casle Str. 42-47 a <br /><br /> Perhaps one could cut ap the 1st numeric char and regard everything left of it as the
streetname and the rest as house number. <br /> OK, this would fail with "42, Parkstreet" but those aren't to frequent.
<br/><br /> How would I do this? <br /><br /></blockquote><br />