2010-06-07 14 views
5

¿Alguien conoce un servicio web gratuito que me permite traducir códigos postales del Reino Unido a Easing y Northings. Encontré un sitio web donde puedo usar raspado de pantalla, pero tal vez haya un buen servicio web GRATUITO. ¡Gracias!Código postal del Reino Unido -> Easting, Northing

Cristiano

+2

Esta sería una buena pregunta para el nuevo StackExchange SIG encima en http://gis.stackexchange.com – Cumbayah

Respuesta

2

Salida NPE Map

+0

Gracias agradable. Esto funciona bien Estoy usando C# y lo utilicé: http://geekswithblogs.net/rakker/archive/2006/04/21/76044.aspx – cs0815

+0

Parece ser muy rápido también y supongo que tienen los datos más recientes – cs0815

+0

@csetzkorn. Se trata de datos de "crowdsourcing" creados por voluntarios que ingresan códigos postales contra mapas de 1:50 000 de 50 años. No es necesariamente muy preciso. – MarkJ

7

Ordnance Survey tienen abierta obtenían su lista de códigos postales que incluyen las coordenadas geográficas (puede que tenga que hacer algo de conversión sin embargo). Todavía no he usado los datos, pero creo que el this encaja perfectamente.

Code-Point Open es un conjunto de datos que contiene unidades de código postal, cada una de las cuales tiene una ubicación geográfica precisa.

Hay aproximadamente 1,7 millones de unidades de código postal en Inglaterra, Escocia y Gales. Cada unidad de código postal, como KY12 8UP o PO14 2RS, contiene un promedio de quince direcciones contiguas.

Los códigos postales de Irlanda del Norte no están disponibles con Code-Point Open.

Tenga en cuenta que debido a la naturaleza del sistema de código postal británico, las actualizaciones ocurren con bastante frecuencia durante un año. Asegúrese de descargar nuevas versiones a medida que se lanzan.

+1

Más información y enlaces en http://www.freepostcodes.org.uk/ – AakashM

1

La base de datos de códigos postales de Codepoint se lanzó en 2010 como datos abiertos como una serie comprimida de archivos CSV.

Si está convirtiendo una gran cantidad de códigos postales, encontrará que es más eficiente ubicar las bases de datos en su propio sistema ya que llamar a una API en línea hace que su raspador espere más tiempo de lo que esperaría una respuesta .

Puede ordenar los datos de códigos postales desde el sitio oficial aquí: https://www.ordnancesurvey.co.uk/oswebsite/products/code-point-open/index.html

O simplemente descargarlo de este ejemplar: http://www.freepostcodes.org.uk/

Los datos de Irlanda del Norte no está incluido, pero hay una copia de los datos aquí: http://jamiethompson.co.uk/web/2010/05/30/code-point-open-northern-ireland-addendum/

Guardar trabajo.

El código Python para analizar estos dos archivos está aquí: http://scraperwiki.com/scrapers/uk_postcodes_from_codepoint/edit/ http://scraperwiki.com/scrapers/ni_postcodes_from_codepoint/edit/

El código CGI script Python para buscar en estas dos bases de datos es aquí: http://scraperwikiviews.com/run/uk_postcode_lookup/?

1

Si está procesando una gran cantidad de datos, entonces podría ser mejor usar su propia solución local. Aquí es un script en Python que puede hacer la conversión: http://webscraping.com/blog/Converting-UK-Easting-Northing-coordinates/

from pyproj import Proj, transform 

v84 = Proj(proj="latlong",towgs84="0,0,0",ellps="WGS84") 
v36 = Proj(proj="latlong", k=0.9996012717, ellps="airy", 
    towgs84="446.448,-125.157,542.060,0.1502,0.2470,0.8421,-20.4894") 
vgrid = Proj(init="world:bng") 


def ENtoLL84(easting, northing): 
    """Returns (longitude, latitude) tuple 
    """ 
    vlon36, vlat36 = vgrid(easting, northing, inverse=True) 
    return transform(v36, v84, vlon36, vlat36) 

def LL84toEN(longitude, latitude): 
    """Returns (easting, northing) tuple 
    """ 
    vlon36, vlat36 = transform(v84, v36, longitude, latitude) 
    return vgrid(vlon36, vlat36) 


if __name__ == '__main__': 
    # outputs (-1.839032626389436, 57.558101915938444) 
    print ENtoLL84(409731, 852012) 
Cuestiones relacionadas