Pintar mapa ordenado

Espero que estés muy bien.
Soy Berenice... Una aficionada a visual basic no tengo formación de eprogramador
Ahora te explicare lo que requiero:
OK tenemos una base de datos que la jalo de excel esos datos los ordeno como ya se menciono.
Se muestra el orden de la siguiente forma.
Supongamos que seleccionó de mayor a menor
Estado Cantidad
México 122,311.9 Aquí en esta parte
Guanajuato 23,874.4
...
... Viene el mapa de la
...
Quintana Roo 776.3la república mexicana
Ahora son 32 estados y las bases de datos son cifras numéricas que para cada estado recorren los años de 1980 a 2001.
La idea es: "Que de acuerdo al orden en que este el estado de la república mexicana de mayor a menor (en este caso) Te ilumine el estado más alto de la cifra respecto a los 31 restantes con un color rojo (por tomar cualquiera), al segundo ya ordenado un rojo más claro, al tercer un rojo má claro que al anterior y así sucesivamente hasta que el último sea casi blanco o blanco.
Espero que me puedas ayudar...
Por favor es que ya me través aquí,...
Mándame el ejemplo por favor a [email protected]
Por favor hazme un ejemplo es que en verdad no tengo idea.
O recomiéndame a alguien o paginás web

2 Respuestas

Respuesta
1
De verdad que quiero ayudarte, pero me lo pones muy difícil.
Me dices:
Tenemos una base de datos que la jalo de excel esos datos los ordeno como ya se menciono.
¿Quieres decir que te has llevado los datos desde Exel a una base de datos, supongo que ACCESS?.
Si es así, olvídemonos de donde vienen los datos, y partamos de que tenemos una base de datos en ACCESS.
Parece que tienes una tabla con 32 registros, uno por cada Estado, y que cada uno de esos registros tiene 20 datos correspondientes a los años 1980, 2001. ¿Es así?
Ahora supongo que quieres sumar esos 20 datos de cada registro y tener un dato de total. No me dices nada de esto. ¿Es así? ¿Necesitas guardar ese total o solamente lo requieres para el cálculo del color?
En todo caso habría que calcular cual es valor mínimo y el máximo. Esto lo podrías hacer en bucle: algo así como
Maximo=0
Minimo=9E+20
do While not Tabla.eof
valor=0
for i=1 to 20
valor=valor+tabla.fields(i)
next i
if valor > maximo then maximo=valor
if valor < minimo then minimo=valor
Tabla.MoveNext
loop
Al terminar el bucle Máximo y Mínimo serán el valor más alto, correspondiente al color rojo, y mínimo el más bajo, correspondiente al blanco
Se trata entonces de asignar un color proporcional al valor de cada estado. Se puede hacer con una instrucción de color RGB en que la componente de cada color varía de 0 a 255. Si dejas la componente roja = 255 y varías la componente verde y azul entre cero y 255 proporcionalmente a la variación del Valor entre Máximo y Mínimo, tendrás un color rojo más o menos intenso proporcional a valor de cada estado
Mira jalo las bases desde excel con uncontrol data y las llevo a un msflexgrid. No tengo problema con respecto a lo de ordenar los datos ya lo sé como hacer. Si no lo que tengo problema es como pintar sobre una imagen de bmp o jpeg . Mira tengo una imagen en format bmp o jpeg que es el mapa de la república mexicana con división política. Lo que hay que hacer es ya que tengo mis datos ordenados, hay que rellenar el estado correspondiente a valor de cifras.
Por ejemplo
D.F es el más alto por lo tanto lo voy a rellenar, con un color rojo inetnso. En segundo lugar supongamos que el edo. de veracruz es el segundo lo voy a rellenar con un color rojo no tan intenso. El rellenado es sobre la imagen que tiene formato jpeg o bmp.
¿Cómo pinto sobre la imagen? ¿Esa sería la idea? Supongamos como se hace en el paint de microsoft cuando vacías la cyubeta de pintura pinta todo hasta que se encuentra a su paso una barrera de diferente color que le impide pintarl. Esa barrera es la división política de los estados.
¿Me podrías enviar un ejemplo aunque sea sencillo de como hacerlo como tu dices y de como pintar la imagen del formato jpeg y bmp?
Gracias De antemano
No tengo ejemplos parecidos a lo que me preguntas.
Para visualizar y manipular una imagen, y sea BMP o JPG debes cargarla en un control Picture con la función "PoadPicture" Una vez cargada en el control, puedes modificar los colores con la instrucción Pset. Si necesitas previamente identificar el color de partida, utiliza la instrucción Point.
Respuesta
Veamos... ¿cuál es la salida de este programa? Quiero decir, ¿dónde imprimís la información, con qué instrucción de Visual basic la imprimís?
¿Es un formulario? ¿Una página HTML? Dame más datos :)
La capacidad de pintar un texto de un color u otro depende en gran medida del control que estés utilizando para pintar la información.
Necesito saber que control estás utilizando.
Mira estoy trabajando en una forma en visual basic, la imagen del mapa puede ser un bmp o un jpg. Hay que pintar sobre esa imagen que se muestra en visual basic.
Aún no imprimo la información, más adelante al mostrarlo pintado con los diversos tonos de inetensidad se generará un reporte. Pero ahora eso no es importante. Lo importante es como hacerlo. Espero que me hayas entendido. Cualquier cosa preguntame.
El control que utilizo para jalar los dataos es un data para hacer la conexión de visual basic a excel. Y poder jalar así los datos.
Por favor mándame un ejemplo, es mejor recuerda que soy prinicpiante.
¿Lo qué pretendes es generar el mapa de forma dinámica? ¿O el mapa es estático y solo cambia el color de las etiquetas?
El mapa es dinámico. Lo que pasa es que el mapa es una imagen en formato bmp o jpg. Es una imagen de la república mexicana con división política pero sin relleno cada estado. Cuando se ordenan los datos, los estados se llenan de colores conforme a su orden de forma ascendente o descendente de acuerdo a su tonalidad mencionada antes. Por lo que el mapa, contenido de cada estado cambia conforme a lo que se ordena.
Me habían comentado que se podía hacer cambiando de forma a hexadecimal ya ves que cuando seleccionas un color en visual basic se muestra en la ventana de propiedades, HF&008888600 y es un color. Pero no tengo idea de como se haga por eso recurro a los expertos.
Cualquier cosa preguntame. La etiqueta no cambia lo que cambia es el relleno de la entidad.
Efectivamente, lo que tienes que hacer es cambiar el color (propiedad color) de la imagen.
Sin embargo (y aquí viene el truco) tendrás que crear uina imagen por cada estado mexicano. Si hay 30 estados, tendrás 3 imágenes distintas, pero agrupadas formando 1 mapa.
Cada imagen tendrá su atributo "color", y podrás cambiarlas por separado.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas