Yo en su momento me escribí este script en python para "arreglar" las
coordenadas en UTM y pasarlo a osm, espero que te pueda servir de ayuda.
> Hola
>
> Mirando por el portal de opendata de bcn me he encontrado un listado de
> todas las fuentes, tanto las de beber como las ornamentales, de la
> ciudad de Barcelona.
>
> Están con licencia CC BY 3.0 que por lo que he visto es compatible por lo
> que he pensando en importarlas, pero ahora es cuando me encuentro el
> problema.
>
> Según ellos el listado de fuentes usa "coordenadas UTM sistema municipal"
>
> He estado probando varias cosas para ver si conseguía transformar esto a
> algo manejable pero todos los conversores que he probado me dicen que
> las coordenadas están fuera de rango.
>
> Ejemplo:
> X-Y : 29621467,82587692
> debería estar más o menos por aqui
> (41,3898301, 2,1571738) http://www.openstreetmap.org/node/2964058469
>
> Si alguien me echa un cable con algo que pueda scriptear le estaré
> altamente agradecido
>
> Un saludo
--
Cruz Enrique Borges Hernández
Email: [email protected]
DeustoTech Energy
Telefono: 944139000 ext.2052
Avda. Universidades, 24
48007 Bilbao, Spain
#! /usr/bin/python
# -*- coding: iso-8859-15 -*-
# Arregla los datos de los suministros y genera un osm con su geolocalizacion.
import csv
from math import pi, sin, cos, tan, sqrt, radians, degrees
from pyproj import Proj, transform
wgs84 = Proj(proj='latlong',datum='WGS84')
utm30 = Proj(proj='utm',zone='30',init='epsg:23030',nadgrids="/home/cruzki/src/cat2osm/peninsula.gsb")
#utm30 = Proj(proj='utm',zone='30',init='epsg:25830')
fields = ["OBJECTID","IDEST","ESTACION","DIRECC","POBLACION","LINK_ESTAC","ZONA","LINK_ZONA","PROVCOD","NO2","NO_","NOX","O3","CO","SO2","PST","PM10","PM2_5","BEN","ETB","MPX","O_X","TOL","NH3","SH2","HC","MSV","CL2","HCL","HCMET","HCNOMET","TEMPERATUR","HUMEDAD","PRESION","RADIACION","RAD_UV","LLUVIA","LL_ACIDA","DIR_VIENTO","V_VIENTO","XUTM","YUTM"]
f = csv.DictReader(open('estaciones.csv'),delimiter=';',quotechar='"')
g = open('Bizkaia-corregidos.txt','w')
h = open('localizacion.osm','w')
h.write("<?xml version='1.0' encoding='UTF-8'?>\n")
h.write("<osm version='0.6' generator='JOSM'>\n")
for row in f:
# Transformamos de utm a latlong
lon, lat, z = transform(utm30,wgs84,float(row["XUTM"]),float(row["YUTM"]),0)
# Transformamos de latlong a utm para corregir los datos de los clientes
easting, northing, z = transform(wgs84,utm30,lon,lat,0)
# Guardamos OSM
h.write("<node id=\"" + row["OBJECTID"] + "\" version=\"6\" timestamp=\"2011-10-27 08:26:29.565\" uid=\"292702\" user=\"AnderPijoan\" changeset=\"5407370\" lat=\""+str(lat)+"\" lon=\""+str(lon)+"\">\n</node>\n")
# Guardamos clientes
g.write(row["OBJECTID"]+","+str(lat)+","+str(lon)+"\n")
h.write("</osm>\n")
g.close()
h.close()_______________________________________________
Talk-es mailing list
[email protected]
https://lists.openstreetmap.org/listinfo/talk-es