border
VB 6
 
 
/

Retroceder   VB-MUNDO - Visual Basic, y mucho mas > Programacion > Visual Basic .NET
Olvidó Password? Registrarse!
Registrarse FAQDonate Miembros Calendario Buscar Temas de Hoy Marcar Foros Como Leídos

Visual Basic .NET Todas las Versiones de Visual Basic .NET

El Mejor Hosting .NET Framework 4.0

En VB-MUNDO usamos el increible servicio de SmarterASP

Respuesta
 
LinkBack Herramientas
  #1 (permalink)  
Antiguo 02-01-2007, 13:25:41
Nuevo Amigo
 
Registrado: ene 2007
Posts: 6
Créditos: 253
ellargo Valoración +2
Predeterminado Visualización de coordenadas de un mapa

hola amigos necesito visualizar de un mapa, la latitud y longitud de un punto a partir de la situación del raton sobre el mismo. Alguién me puede ayudar? Codigo ya hecho sobre el tema?
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Responder Con Cita
  #2 (permalink)  
Antiguo 02-01-2007, 19:09:40
Avatar de acalanto
Administrador
 
Registrado: dic 2002
Ubicación: Madrid
Posts: 6.248
Créditos: 53.971
acalanto ha deshabilitado la reputación
Predeterminado

Código 'llave en mano' no tengo disponible, ahora bien, si estás dispuesto a echarle unas horas y un poco de esfuerzo creo que te puedo ayudar.

Si necesitas un mapa sin deformaciones tendrás que seleccionar alguna proyección del plano sobre la esfera (Geoide), representar el mapa en pantalla, y transformar las coordenadas cilíndricas (X, Y) a geográficas (Latitud-Longitud).

Otra posibilidad es que asignes al panel de representación directamente la escala adecuada para representar coordenadas geográficas, pero a medida que te aproximes a los polos, las deformaciones serán lo suficientemente grandes como para que la Antártida se parezca a cualquier cosa menos a la Antártida, y por supuesto, cualquer medida que necesites realizar sobre ese plano tendrás que corregirla para obtener valores reales. Piensa que un minuto de arco en las proximidades del Polo Norte (Latitud 0º) representa unos pocos centímetros, mientras qwue en el Ecuador (Latitud 90º) supone exactamente una Milla Naútica.

Ya nos dirás alguna cosa.
__________________
Un cordial saludo
-Acalanto-

Madrid - España

Leer detalladamente las normas del foro es una buena forma de comenzar a participar en él. Te llevará unos pocos minutos y el colectivo de usuarios te lo agradecerá. <si no las has leído sigue este enlace>
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Responder Con Cita
  #3 (permalink)  
Antiguo 03-01-2007, 10:23:22
Nuevo Amigo
 
Registrado: ene 2007
Posts: 6
Créditos: 253
ellargo Valoración +2
Predeterminado

Primeramente gracias por tu respuesta, te comento: Por la idea que me dices y dado que la región del mapa que debo visualizar es pequeña (solo LA RIOJA) unos 100km de ancho por 50km de alto yo creo que me va facilitar mas las cosas conseguir un mapa a escala con coordenadas geográficas que espero que no se deforme mucho.
La verdad es q este es mi primer programa en visual y ando un poco pez con todo el tema, así cualquier ayuda por lo sencilla que a los que sabeis os parezca me vendría bien.
Entonces por lo que entiendo de este forma solo tendría que crear una especie de rejilla cartesiana debajo del mapa con la información de las coordenadas reales de latitud y longitud para cada uno de los puntos no? Y eso se haría con una especie de tabla asignando a cada punto X,Y su coordenada UTM?
Si estoy en lo cierto que herramientas del visual tendría que utilizar para llevarlo acabo?
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Responder Con Cita
  #4 (permalink)  
Antiguo 03-01-2007, 13:15:03
Avatar de acalanto
Administrador
 
Registrado: dic 2002
Ubicación: Madrid
Posts: 6.248
Créditos: 53.971
acalanto ha deshabilitado la reputación
Predeterminado

Vamos a ver. En primer lugar decirte que UTM es una proyección Mercator Transversal que se obtiene por la proyección de la esfera terrestre sobre un cilindro tangente al ecuador.

En las dimensiones de territorio que vas a manejar, creo que lo mejor es que trabajes con la propia cuadrícula UTM del mapa que adquieras. Para ello necesitas un objeto Picture sobre el cual representar o bien la imágen 'raster' del mapa o los datos vectoriales del mismo, depende del tipo de archivo que adquieras.

Algunos proveedores de cartografía suministran sus mapas georeferenciados en formato raster, es decir, una imagen a escala en la que representan diferentes entidades geográficas. Otros la suministran en formato vectorial que puede ser procesado por aplicaciones ArcView, ArcMap etc.

En ambos casos será necesario que generes un visor mediante un objeto PictureBox sobre el que representar cualquiera de los formatos mencionados, y asignarle una escala adecuada para poder obtener las coordenadas (UTM, Plana o Geográficas) de la posición del cursor al desplazarse por la representación visualizada.

Aparte del PictureBox que es el panel sobre el que estableceras el visor, necesitarás crear las herramientas y métodos que necesites para realizar Zoom, medición de distancias etc etc.

Indica el tipo de mapa que dispones o pretendes adquirir para afinar un poco más en mis respuestas.
__________________
Un cordial saludo
-Acalanto-

Madrid - España

Leer detalladamente las normas del foro es una buena forma de comenzar a participar en él. Te llevará unos pocos minutos y el colectivo de usuarios te lo agradecerá. <si no las has leído sigue este enlace>
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Responder Con Cita
  #5 (permalink)  
Antiguo 03-01-2007, 18:22:37
Nuevo Amigo
 
Registrado: ene 2007
Posts: 6
Créditos: 253
ellargo Valoración +2
Predeterminado

Cambio de planes, se me ha ocurrido una cosa que pienso que me simplificará el trabajo aunque no sea tan exacto. Te cuento: Solo tengo una imagen jpg de la rioja y tengo información de la latitud y longitud del mapa en una rejilla de 3kmx3km. Lo que debo hacer es operar con una serie de datos metereologicos dependiendo de de donde pinche en el mapa y dado que los datos de los que dispongo son precisamento solo para esa rejilla no me hace falta mas. De esta forma si pincho en una zona dentro de la rejilla lo que hare será interpolar los datos de los que dispongo a los puntos de la rejilla mas cercanos.

De esta forma la pregunta sería: como hacer esa rejilla sobre el mapa para que cuando yo pulse sobre la imagen me saque los puntos de la rejilla mas cercanos de donde he clikeado y sus distancias para poder yo poder interpolar los datos que tengo?

Yo pienso que de esta forma es mas sencillo no?
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Responder Con Cita
  #6 (permalink)  
Antiguo 03-01-2007, 20:52:45
Avatar de acalanto
Administrador
 
Registrado: dic 2002
Ubicación: Madrid
Posts: 6.248
Créditos: 53.971
acalanto ha deshabilitado la reputación
Predeterminado

Yo creo que no es necesario que pongas la rejilla (Si quieres puedes hacerlo). Lo que si tienes que hacer es escalar el pictureBox con las coordenadas extremas del mapa a representar.

Supongamos que insertas un objeto PB en el formulario (mejor que lo hagas lo mas grande posible). y supongamos que las UTM extremas de la rioja son

Xmin = 250.000
Ymin = 4.500.000
Xmax = 350.000
Ymax = 4.550.000

entonces

nombreForm.ObjetoPictureBox.Scale(250000,4550000)-(350000,4500000)

Busca el evento MouseMove del PictureBox, método que puedes visualizar clickeando dos veces sobre éste en modo de diseño. Este evento te devuelve las coordenadas X,Y de la posición del cursor (cuando estés en modo de ejecución).

Por esta razón no te hace falta interpolar ni realizar grandes operaciones para conocer las coordenadas.

Lo que desconozco es la forma en la que tienes referenciada la imágen del mapa a representar; tienes que conocer las coordenadas de al menos dos puntos que se puedan identificar.


PD: Mira, te he preparado un pequeño proyecto con dos imágenes que me he descargado de www.rioja.org (Tienen ortofotos que te puedes descargar). Tienes que descomprimir los tres zips en una única carpeta. Pruébalo y ya verás como te muestra las coordenadas (inventadas en este caso) de la posición del cursor.


Ya me ampliarás información de lo que quieres hacer a la vista de esta prueba.
Archivos Adjuntos
Tipo de Archivo: zip proyecto_568.zip (2,2 KB, 106 visitas)
__________________
Un cordial saludo
-Acalanto-

Madrid - España

Leer detalladamente las normas del foro es una buena forma de comenzar a participar en él. Te llevará unos pocos minutos y el colectivo de usuarios te lo agradecerá. <si no las has leído sigue este enlace>
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Responder Con Cita
  #7 (permalink)  
Antiguo 03-01-2007, 20:55:20
Avatar de acalanto
Administrador
 
Registrado: dic 2002
Ubicación: Madrid
Posts: 6.248
Créditos: 53.971
acalanto ha deshabilitado la reputación
Predeterminado

El fichero de Logroño...
Archivos Adjuntos
Tipo de Archivo: zip logro_o.zip (281,5 KB, 69 visitas)
__________________
Un cordial saludo
-Acalanto-

Madrid - España

Leer detalladamente las normas del foro es una buena forma de comenzar a participar en él. Te llevará unos pocos minutos y el colectivo de usuarios te lo agradecerá. <si no las has leído sigue este enlace>
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Responder Con Cita
  #8 (permalink)  
Antiguo 03-01-2007, 20:56:14
Avatar de acalanto
Administrador
 
Registrado: dic 2002
Ubicación: Madrid
Posts: 6.248
Créditos: 53.971
acalanto ha deshabilitado la reputación
Predeterminado

Y el de Cenicero..
Archivos Adjuntos
Tipo de Archivo: zip cenicero.zip (235,5 KB, 66 visitas)
__________________
Un cordial saludo
-Acalanto-

Madrid - España

Leer detalladamente las normas del foro es una buena forma de comenzar a participar en él. Te llevará unos pocos minutos y el colectivo de usuarios te lo agradecerá. <si no las has leído sigue este enlace>
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Responder Con Cita
  #9 (permalink)  
Antiguo 04-01-2007, 11:35:19
Nuevo Amigo
 
Registrado: ene 2007
Posts: 6
Créditos: 253
ellargo Valoración +2
Predeterminado coordenadas

Muchas gracias por el programa. Dos cosillas:
Las coordenadas las quiero obtener en coordenadas geograficas de latitud longitud (por ejemplo: 42,2-2,34)
La imagen que tengo esta en esta dirección "http://www.iderioja.larioja.org" esta en formato jpg y en pdf. Solo en el pdf aparece referenciada, asi que de ahi sacaré las referencias.
El mapa que te digo tiene coordenadas en los bordes pero no en la esquina superior e inferior, ¿como se haría para referenciarlo con unos puntos que no este en las esquinas?


Y otra pregunta. Yo utilizo el vb.net 2005 y en ese la instrucción "Me.jPanel.Scale (xmin, ymax)-(xmax, ymin)" no me funciona ya que debe funcionar de otra manera que en el 6.0, ¿sabes como hacerlo en el .net?
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Responder Con Cita
  #10 (permalink)  
Antiguo 04-01-2007, 18:45:02
Avatar de acalanto
Administrador
 
Registrado: dic 2002
Ubicación: Madrid
Posts: 6.248
Créditos: 53.971
acalanto ha deshabilitado la reputación
Predeterminado

Bueno, tendrás que imprimirlo y tomar las coordenadas de las esquinas de forma gráfica. Fíjate que cada barra representa 1' y por lo tanto deberás medir los cupones que restan en las esquinas. Estas serán las coordenadas que has de iniciar en la representación del PictureBox.

La verdad es que no me he dado cuenta que tu pregunta era relativa a .NET, y de momento no estoy utiizando esta plataforma para representaciones gráficas pero me parece que tienes que generar un objeto graphics. A partir de aquí desconozco como se escala a unos valores de usuario, a pesar de que he visto en la ayuda clases de transformación y rotación que puede que tengan la solución.


Dim g As Graphics = Me.PictureBox1.CreateGraphics
g.PageUnit = GraphicsUnit.Millimeter

No obstante, al no existir rotación ni traslación, y siendo la homotecia supuestamente uniforme en cualquier dirección, puedes crear una clase con los métodos y funciones que calculen la transformación de las unidades del Picture a las unidades en las que el plano está representado. Si el panel de dibujo tiene un ancho de 500000 unidades, y el mapa que pretendes representar tiene 50000 cada 10 unidades del panel representará 1 en el terreno. Si a este valor le sumas las coordenada X de la esquina izquierda, tendrás la X absoluta del terreno... y lo mismo para las ordenadas.

De todas formas, mientras investigas por tu lado, algún usuario que haya resuelto este tema te podrá dar una respuesta más acertada.
__________________
Un cordial saludo
-Acalanto-

Madrid - España

Leer detalladamente las normas del foro es una buena forma de comenzar a participar en él. Te llevará unos pocos minutos y el colectivo de usuarios te lo agradecerá. <si no las has leído sigue este enlace>
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Responder Con Cita
Respuesta


Herramientas

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Trackbacks are habilitado
Pingbacks are habilitado
Refbacks are habilitado


Temas Similares
Tema Autor Foro Respuestas Último Mensaje
Visualización de imágenes & limpieza de nombres ephweb Visual Basic 6.00 0 22-11-2007 23:55:13
Coordenadas Mouse sebacuervo Visual Basic 6.00 2 20-02-2007 18:51:03
Coordenadas del cursor slarian Visual Basic .NET 0 11-11-2006 16:58:13
Visualización de Informes netman Visual Basic 6.00 3 18-10-2006 17:06:04
Coordenadas en pantalla adriamalia Visual Basic 6.00 2 17-09-2004 00:00:00


La franja horaria es GMT. Ahora son las 03:44:56.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO 3.1.0
vBCredits v1.4 Copyright ©2007 - 2008, PixelFX Studios


right
Inactive Reminders By Icora Web Design