Hola, Los mismos programas pero con comentarios.... como para que alguien mas los entienda....
2011/1/8 Pilar Saenz <mapis...@gmail.com>: > Hola a todos, > > Fredy me habia planteado hace algún tiempo el problema. Mi mirada > puede ser muy teórica, pero espero que sea útil. Desde el punto de > vista matemático, lo he dejado en un problema en 2D, y lo justifico > considerando que las distancias son suficientemente pequeñas para no > tener que trabajar en coordenadas esféricas. La otro es que lo estoy > haciendo suponiendo que tenemos un sistema de ejes cartesiano, que nos > da un marco de referencia. > > Como me planteó Fredy originalmente, el problema se podía descomponer > en dos partes. la primera, si tenemos dos "calles" encontrar la > intercepción entre ellas, por que no todas las intercepciones se > conocen. La segunda, desde un punto de intercepción, poner la > dirección asignando una distancia a uno de los dos puntos en dirección > del siguiente punto de intercepción. > > Hasta ahora he hecho un par de programas en python que hacen > exactamente eso. El primero, intercepción, calcula la intercepción > entre dos rectas definidas a partir de sus coordenadas. El segundo, > dirección, calcula la posición a una distancia k entre dos puntos > puntos. > > Envio los programas para saber si esa es la linea en la cual se puede > seguir trabajando. > > Faltaría, si se tiene la latitud y longitud de dos puntos hacer el > equivalente a esos puntos en coordenadas cartesianas con distancias > definidas en metros. > > Como lo dije al comienzo, espero que esto sea de utilidad. Entiendo > que no siempre las consideraciones teoricas ayudan en la solucion de > este tipo de problemas. > > El día 7 de enero de 2011 20:34, Alexander Garcia > <alexgarc...@gmail.com> escribió: >> El server lo puedo tener en una uni en alemania. O tambien en bta en una >> empresa. >> >> Sent from my iPhone >> On Jan 7, 2011, at 7:47 PM, Ariel Nunez <ingenieroar...@gmail.com> wrote: >> >>> 3. El servidor es bienvenido pues si es necesaria maquina para esto e >>> inclusive para el render y migrar el geonode. los dos temas son con >>> Ariel , pero el creo que aun anda desconectado por vacaciones. >> >> Que por cierto se acaban el Domingo :) >> Alexander que tipo de conexión tendría el servidor? por ej. >> a) está en un data center en usa >> b) en un data center en colombia >> c) en una empresa >> d) en un garaje? >> Independiente de cual sea la respuesta le podemos dar un buen uso para >> correr las cosas que no puedo correr en los servidores que tengo en Amazon >> EC2. >> Saludos y yo también estaré pendiente del tema del geocoder, lo más cercano >> a eso que he hecho es un geocoder en plsql para postgres (basado en el >> Tiger) que funcionaba con las calles de Barranquilla y unos datos no libres. >> Ariel. >>> >>> >>> salu2 >>> Humano >>> > >>> > On Thursday, January 6, 2011, Igor Támara for checking email... >>> > <igo...@funtamarapatino.org> wrote: >>> >> Hola, me perdí un poco en este tema, que es de mi interés y en >>> >> el cual me gustaría poder colaborar, hay algún repositorio, wiki >>> >> o página donde estén colocando lo que llevan? >>> >> >>> >> Estoy a la orden para colaborar en esto, nuestro país afortunadamente >>> >> es sencillo para la geocodificación :) , a partir de una lat, lon >>> >> se obtiene la dirección aproximada : Cl Cr en el caso de las >>> >> ciudades, para las zonas rurales, no se cómo sería :P >>> >> >>> >> Gracias. >>> >> >>> >> _______________________________________________ >>> >> Talk-co mailing list >>> >> Talk-co@openstreetmap.org >>> >> http://lists.openstreetmap.org/listinfo/talk-co >>> >> >>> > >>> > -- >>> > Alexander Garcia >>> > http://www.alexandergarcia.name/ >>> > http://www.usefilm.com/photographer/75943.html >>> > http://www.linkedin.com/in/alexgarciac >>> > Postal address: >>> > Alexander Garcia, Tel.: +49 421 218 64211 >>> > Universität Bremen >>> > Enrique-Schmidt-Str. 5 >>> > D-28359 Bremen >>> > >>> > _______________________________________________ >>> > Talk-co mailing list >>> > Talk-co@openstreetmap.org >>> > http://lists.openstreetmap.org/listinfo/talk-co >>> > >>> >>> >>> >>> -- >>> Por favor, no me envíe documentos con extensiones .doc, .docx, .xls, >>> .xlsx, .ppt, .pptx, .mdb, mdbx >>> OpenOffice es libre: se puede copiar, modificar y redistribuir >>> libremente. Gratis y totalmente legal. >>> http://GaleNUx.com es el sistema de información para la salud >>> >>> --------------------------------------///-------------------------------------- >>> Teléfono USA: (347) 688-4473 (Google voice) >>> skype: llamarafredyrivera >>> >>> _______________________________________________ >>> Talk-co mailing list >>> Talk-co@openstreetmap.org >>> http://lists.openstreetmap.org/listinfo/talk-co >> >> _______________________________________________ >> Talk-co mailing list >> Talk-co@openstreetmap.org >> http://lists.openstreetmap.org/listinfo/talk-co >> >> _______________________________________________ >> Talk-co mailing list >> Talk-co@openstreetmap.org >> http://lists.openstreetmap.org/listinfo/talk-co >> >> > > > > -- > Pilar > -- Pilar
# Calcula el punto de intercepción entre dos rectas definidas cada una por dos puntos print "Interseccion entre dos rectas" x1 = float(raw_input("x1: ")) #coordenada x del punto 1 recta a y1 = float(raw_input("y1: ")) #coordenada y del punto 1 recta a x2 = float(raw_input("x2: ")) #coordenada x del punto 2 recta a y2 = float(raw_input("y2: ")) #coordenada y del punto 2 recta a x3 = float(raw_input("x3: ")) #coordenada x del punto 3 recta b y3 = float(raw_input("y3: ")) #coordenada y del punto 3 recta b x4 = float(raw_input("x4: ")) #coordenada x del punto 4 recta b y4 = float(raw_input("y4: ")) #coordenada y del punto 4 recta b Dxa = x2-x1 #Delta x de la recta a Dya = y2-y1 #Delta y de la recta a ma = Dya/Dxa #pendiente recta a ba = -ma*x1+y1 #punto de corte con y de la recta a Dxb = x4-x3 #Delta x de la recta b Dyb = y4-y3 #Delta y de la recta b mb = Dyb/Dxb #pendiente recta b bb = -mb*x3+y3 #punto de corte con y de la recta b xi = (bb - ba)/(ma-mb) #coordenada en x del punto de intercepcion yi = ma*xi + ba #coordenada en y del punto de intercepcion print "interseccion (",xi, ", " ,yi, ")"
#Calcula las coordenadas a una distancia k del punto x1,y1 en la dirección de x2,y2 from math import sqrt print "coordenadas de la dirección" x1 = float(raw_input("x1: ")) #coordenada x del punto 1 y1 = float(raw_input("y1: ")) #coordenada y del punto 1 x2 = float(raw_input("x2: ")) #coordenada x del punto 2 y2 = float(raw_input("y2: ")) #coordenada y del punto 2 k = float(raw_input("k: ")) #distancia Dx = x2-x1 #Delta x Dy = y2-y1 #Delta y d2=Dx*Dx+Dy*Dy #distancia entre los dos puntos al cuadrado d=sqrt(d2) #distancia entre losdos puntos xu=Dx/d #componente x del vector unitario de direccion yu=Dy/d #componente y del vector unitario de direccion x=k*xu+x1 #coordenada x y=k*yu+y1 #coordenada y print "coordenadas de la direccion (",x, ", " ,y, ")"
_______________________________________________ Talk-co mailing list Talk-co@openstreetmap.org http://lists.openstreetmap.org/listinfo/talk-co