sql >> Database teknologi >  >> RDS >> Sqlserver

Hvordan får man de afgrænsningskoordinater for et amerikansk postnummer?

En uddybning af min kommentar, at postnumre ikke er polygoner...

Vi tænker ofte på postnumre som områder (polygoner), fordi vi siger:"Åh, jeg bor i dette postnummer..." som giver indtryk af en indeholdende region, og måske det faktum, at ZIP står for "Zone Forbedringsplan" hjælper den falske tilknytning til polygoner.

I virkeligheden er postnumre linjer, som på en måde repræsenterer postbudsruter. Geometrisk har linjer ikke areal. Ligesom linjer er strenge af punkter langs et koordinatplan, er postnummerlinjer strenge af leveringspunkter i det abstrakte rum af USPS-udpegede adresser.

De er ikke korreleret til geografiske koordinater. Hvad du dog vil finde er, at de dukker op at være geografisk orienteret, fordi det ville være ineffektivt for luftfartsselskaber at have en rute, der er fuldstændig irrelevant for afstand og placering.

Hvad er dette "abstrakte rum med USPS-udpegede adresser"? Det er sådan, jeg beskriver den store og mystiske database over leveringssteder, der vedligeholdes af US Postal Service. Adresser tildeles ikke baseret på geografi, men på de ruter, som luftfartsselskaberne rejser, hvilket normalt vedrører gader og rejseevne.

Nogle 5-cifrede postnumre er kun en enkelt bygning eller et kompleks af bygninger eller endda en enkelt etage i en bygning (ja, flere postnumre kan være på en enkelt koordinat, fordi deres leveringssteder er lagdelt lodret). Nogle af disse -- blandt andre -- er "unikke" ZIP-poster. Virksomheder og universiteter får ofte deres egne postnumre til markedsføring eller organisatoriske formål. For eksempel tilhører postnummeret "12345" General Electric oppe i Schenectady, NY. (Rediger:I en tidligere version af Google Maps, når du følger dette link, vil du bemærke, at placeringsmarkøren svævede, fordi den peger på et postnummer, som ikke er en koordinat. Mens de fleste amerikanske postnumre plejede at vise en region på Google Maps, kan disse typer ikke, fordi USPS så at sige ikke "ejer" dem, og de har intet område.)

Bare for sjov, lad os prøve at bekræfte en adresse i et unikt postnummer. Gå over til SmartyStreets og slå en falsk adresse ind i 12345, som:

Gade: 999 Sdf sdf

Postnummer: 12345

Når du prøver at bekræfte det, så læg mærke til at... det er GYLDIGT! Hvorfor? USPS vil levere et stykke til beholderen til det unikke postnummer, men på det tidspunkt er det op til GE at distribuere det. Stort set alt internt i postnummeret er irrelevant for USPS, inklusive gadeadressen (teknisk "leveringslinje 1"). Mange universiteter fungerer på samme måde. Her er flere oplysninger om det.

Prøv nu den samme falske adresse, men uden et postnummer, og gør i stedet byen/staten:

Gade: 999 Sdf sdf

By: Schenectady

State: NY

Det validerer ikke. Dette skyldes, at selvom Schenectady indeholder 12345, hvor adressen er "gyldig", skærer den geometrisk de "rigtige" postnumre for Schenectady.

Tag et andet eksempel:militær. Visse flådeskibe har deres egne postnumre. Militære adresser er en helt anden klasse af adresser bruger det samme navneområde . Skibe bevæger sig. Det gør geografiske koordinater ikke.

ZIP-præcision er en anden sjov en. 5-cifrede postnumre er de mindst "præcise" (selvom udtrykket "specifik" kan være mere meningsfuldt her, da postnumre ikke udpeger noget). 7- og 9-cifrede postnumre er de mest specifikke, ofte ned til blok- eller kvarterniveau i byområder. Men da hvert postnummer har en forskellig størrelse, er det virkelig svært at fortælle, hvilke faktiske afstande du taler.

Et 9-cifret postnummer kan være fordelt på en etage i en bygning, så der har du overlappende postnumre for potentielt hundredvis af adresser.

Bundlinje:Postnumre giver ikke, i modsætning til hvad mange tror, ​​geografiske eller grænsedata. De varierer meget og er faktisk ret unyttige, medmindre du leverer post eller pakker... men USPS' opgave var at designe effektive transportørruter, ikke opdele befolkningen i koordinerede regioner så meget.

Det er mere folketællingskontorets opgave. De har udarbejdet en liste over kartografiske grænser, da postnumre er "praktiske" at arbejde med. For at gøre dette opdelte de bunker af adresser i folketællingsblokke. Derefter aggregerede de USPS postnummerdata for at finde forholdet mellem deres folketællingsblokke (som har nogle grove koordinatdata) og postnumrene. Vi har således tilnærmelser hvordan det ville se ud at plotte en linje som en polygon. (Tilsyneladende konverterede de en 1D-linje til en 2D-polygon ved at transformere en 2D-polygon baseret på dens indhold, så den passer til lineære data -- for hvert ikke-unik, regulært postnummer.)

Fra deres hjemmeside (link ovenfor):

Et postnummertabelområde (ZCTA) er en statistisk geografisk enhed, der tilnærmer leveringsområdet for et femcifret eller trecifret postnummer i USA. ZCTA'er er sammenlægninger af folketællingsblokke, der har det samme dominerende postnummer, der er knyttet til adresserne i U.S. Census Bureau's Master Address File (MAF). Trecifrede ZCTA-koder anvendes til store sammenhængende områder, for hvilke U.S. Census Bureau ikke har femcifret ZIP Kode information i sin MAF. ZCTA'er afbilder ikke præcist postnummerleveringsområder og inkluderer ikke alle postnumre, der bruges til postomdeling. U.S. CensusBureau har etableret ZCTA'er som en ny geografisk enhed, der ligner, men erstatter, datatabeller for postnumre, der er foretaget i forbindelse med folketællingerne fra 1990 og tidligere.

USCB's datasæt er ufuldstændigt og til tider unøjagtigt. Google har også stadig huller i deres data (12345 er et noget godt eksempel) -- men Google vil lappe det til sidst ved at gennemgå hver adresse og postnummer i hånden. Det gør de allerede, men har endnu ikke gjort alle deres kortdata perfekte. Naturligvis er adgangen til disse data begrænset til API-vilkår, og det er meget dyrt at rejse disse.

Pyha. Jeg er slået. Jeg håber, det hjælper med at afklare tingene. Ansvarsfraskrivelse:Jeg plejede at være udvikler hos SmartyStreets. Flere oplysninger om geokodning med adressedata.

Endnu flere oplysninger om postnumre.



  1. SQL-serverlogforsendelse og installation og konfiguration -2

  2. Gør SQL Server-ydeevne let

  3. problem ORA-00001:unik begrænsning overtrådt, kommer i INSERT/OPDATERING

  4. Databasekryptering:De 3 typer og hvorfor du har brug for dem