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

Responder a