Uuhhhmmm. Tiene buena pinta. Te comento que tampoco quiero meterme muy a fondo con el lenguaje KML-XML. Es algo sencillo. Creo que el quiz de la cuestión para las capas está en el Multigeometry. Investigo y ya te digo algo. Para lo del color no entiendo muy bien, pero también investigo a ver si me aclaro. Por lo demás, no te vayas a creer que necesito grandes cosas en KML. Es algo sencillito para poder enviar de Autocad a Google, pero sin muchas florituras.Que yo no estoy pa muchos trotes. Jeje. El Lisp no es un programa de grandes recursos, pero aquí se trata de componer un texto, porque el KML es una plantilla de texto, para hacer lo que pretendo. Y eso sí que lo hace Lisp sin problemas. Hoy probaré algo y te comento los resultados. Muchas gracias por todo, polifemo. Saludos.
_________________ La topografia al alcance de tu mano:
Respecto al color: Imagínate este código ff0000ff separado en pares ff-00-00-ff que se corresponde a opacidad-azul-verde-rojo.
En este caso le hemos dado opacidad máxima, nada de azul, nada de verde y todo en rojo.
Y seguramente el amarillo sea una combinación aditiva del azul y el verde (ff666600 - opaco con tanto verde como azul y sin nada de rojo)
Respecto al KML: y solo por aclarar, la clase MultiGeometry es una especie de bolsa que engloba las otras geometrías, pero no existe por si misma, tienes que incluir dentro sus geometrías. Seguramente el Tag del Placemark sea también imprescindible.
Espero tus noticias robierzo, y un saludo.
Última edición por _polifemo el Mar, 26-02-2013 20:44, editado 2 veces
Bueno, verás, he estado haciendo algunas pruebas y resulta que he conseguido crear dos capas y dentro de cada capa varias líneas. El problema es que ahora no me respeta el color de las líneas. Antes me creaba tantas capas como líneas, pero cada linea tenía su color. Ahora me crea las capas que yo quiero y me mete las lineas en su capa correspondiente, pero me las dibuja todas en blanco. No sé si conoces Autocad. En Autocad, puede haber varias capas, y en cada capa varias lineas con diferente color. Pues eso es lo que quiero hacer en Google. Échale un ojo al fichero adjunto, a ver si se te ocurre algo. Saludos.
Veamos, lo que veo leyendo el código es que has definido varios estilos de linea para cada capa. Has metido una etiqueta del tipo <styleUrl>#stylecolor_ff0000ff</styleUrl> justo antes de abrir cada <LineString>.No se si lo que pretendías era definir un estilo para cada linea (en cuyo caso deberías ponerlo dentro del tag del <LineString> al igual que están el tag <coordinates>, pero lo que tenemos es 4 estilos para una sola capa.
Veo que está bien metida la almohadilla para indicar en el TAG <styleUrl>, que el estilo está definido en el mismo documento. Dame un rato a ver que encuentro.
He definido un solo estilo para cada Placemark. Que sería el equivalente a cada capa. Claro, que supongo que es lo ideal, ¿no?. Cada capa un estilo para entidades puntuales, lineales, etc...
¿Suficiente?, ¿añadimos algo?.
Google_Master, casi me vuelvo loco con la caché de la página. Cada vez que adjuntaba un nuevo kml, al subirlo con el mismo nombre la página no se recargaba, me mostraba la caché y parecía que el trabajo estaba mal. ¿Como podemos evitar esto?.
Hola polifemo. He visto tu archivo pero no es exactamente lo que busco. Tu estás suponiendo que dentro de una capa todos los elementos tienen el mismo color, pero no es así. Dentro de una capa puede haber varios elementos con distintos colores. He intentado lo que dices de meter el color dentro de LINESTRING, pero no me funciona. Me sigue poniendo todas las líneas de color blanco. No sé, no se me ocurre nada.
Hemos conseguido lo de las capas, pues mete en cada capa los elementos que quiero, pero no me respeta el color de cada elemento. Subo otra prueba que he hecho como tú me indicas, pero no funciona. Saludos.
Tenemos un problemilla Robierzo. Las clases de Geometría (Linestring entre otras) no admiten asignación de estilo. Al cargarte el TAG <styleUrl> y ponerlo donde no tiene cabida han vuelto las lineas a ser blancas por no tener ningún estilo definido.
Como solución se me ocurre:
1.- Los objetos que admiten el parámetro <styleUrl> parecen ser los que están englobados como Features. Placemark Folder y Document entre ellos.
2.- Create un Folder para cada capa (así podras emular el comportamiento de activar/desactivar capas). Y en cada folder metes un Placemark por cada estilo de visualización, y a ese Placemark le metes todas las geometrías...
3.- O directamente un Placemark por cada tipo de visualización si no quieres complicarte mas.
Te adjunto un ejemplo.
Ya por último decirte que se que no es una solución muy elegante. Pero estamos trabajando con KML y aplicaciones de Google, no con software cartográfico, lo que es una limitación.
Qué tal, polifemo. Bueno, le echo un ojo y ya te comento algo. Pruebo lo que dices y a ver si me voy aclarando. Yo la verdad es que no sé de las limitaciones del kml. Pero bueno, habrá que conformarse. Jeje. Saludos.
_________________ La topografia al alcance de tu mano:
Jelouuu. Bien, revisando y viendo y mirando y comparando y contrastando he decidido que, como no se puede hacer exactamente lo que quiero, optaré por obviar el color de cada elemento. De esta forma, lo que haré será crear las capas que aparezcan en Autocad; y los elementos de esa capa aparecerán en Google con el color que tenga asignado la capa. Y punto. Independientemente del color de cada elemento, se le asignará el color de la capa y listo. Voy a empezar a darle formato con Lisp y ya te voy contando si tengo alguna duda. Muchas gracias por todo, polifemo. Seguimos en contacto. Ah, y no me dijiste si utilizabas Autocad o no.
Saludos.
_________________ La topografia al alcance de tu mano:
Respecto a mi experiencia con el uso de Autocad: en mi época de delineante (en verdad un ciclo superior) previa a la carrera de Topografía aprendí todo el Autocad que he llegado a saber (y que ya habré olvidado). Recuerdo que en el ordenador de sobremesa que aún está en casa de mis padres tengo instalados el Autocad 14 y Autocad 200X.
Nunca he sido muy ducho, pues en mi escuela se usaba mas Microstation como software DAO y GvSig o Esri para los SIG.
Si encima como en mi caso tiras hacia la programación, todo lo que acabas conociendo de los programas es su Modelo de Objetos y lenguajes como vba, javascript, C#, etc...
Si en cualquier momento decides hacer alguna mejora en la rutina, ya sabes donde buscarme (mismo nick aquí o en Cartesia).
Muchas gracias a ti, por ayudarme a aprender un poco mas y por esa fantástica rutina que tanto éxito ha tenido entre los profesionales de Cartesia. Tomate mi ayuda como un "recoger de lo que se siembra". Nos vemos!!!.
Jejeje. No te despidas tan pronto que no creo que tarde en preguntarte cosas. Aún estoy empezando con la rutina y ya sabes que los problemas surgen a calderos. Jejeje. Yo de cartesia la verdad es que no te conozco, no me suena tu nick. Ahora me fijaré más. Yo te preguntaba lo de Autocad para enviarte una prueba de la rutina cuando la tenga. Yo ahora estoy en paro y había pensado ponerla en mi web a un módico precio de 10 eurillos. Jejeje. Hay que hacer un euro aunque sea vendiendo humo. Jejeje. Te mantengo informado. Saludos y gracias a ti.
_________________ La topografia al alcance de tu mano:
Bueno, pues ya me ha surgido mi primera duda. A ver si me explico bien. Para aisgnar un color a un placemark, ¿es imprescindible definir antes el style, tal y como lo he hecho en los ejemplos? ¿o puedo prescindir de definir el style antes y meter directamente el color dentro del placemark?
Es decir: yo ahora defino varios styles con esto:
A mi lo que me gustaría es evitar tener que definir previamente los styles y meterlo directamente en el placemark. No sé si se puede hacer. Yo lo he probado pero no me sale. En definitiva lo que quiero es definir el color del placemark, después de abrirlo y sin previa definición de los styles. ¿Se podrá hacer? Saludos.
_________________ La topografia al alcance de tu mano:
Bueno, polifemo, esto está casi listo. Te dejo un ejemplo de lo que ya soy capaz de hacer. Tiene algunos fallitos pero está a punto de caramelo. Se trata de un proyecto de un polígono industrial. Crea las mismas capas de autocad, con su color. Falla en las polilineas adaptadas, pero en otro empujoncito quedará lista la rutina. Si observas alguna cosa mejorable, agradezco los comentarios y sugerencias. Saludos.
Hola robierzo he estado desaparecido estos días por temas laborales.
A ver si encuentro un hueco y miro lo de los estilos, aunque no creo que sea una buena idea. A mi personalmente me gusta mas el sistema de tener todos los estilos asignados al inicio. Ayuda a mantener el orden.
El kml generado tiene un aspecto inmejorable. Una "mejorilla" simple que podrías hacer es incluir el TAG descripción de modo que cuando el usuario pulse sobre la capa además del nombre de la capa figure info adicional. Mira la capa LIMITE_POLÍGON_REAL, tiene como texto descriptivo "Prueba 1".
Por cierto siento lo de tu situación laboral. La verdad es que estámos "jodidos" en nuestro gremio. Yo he tenido que abandonarlo para encontrar empleo.
Hola polifemo. Lo de la descripción me parece muy buena idea. Lo incorporaré para hacer una nueva opción de la aplicación, para parcelas. Le echaré un ojo a ver qué tipo de información puedo incorporar a lo que tengo. Piensa que el fichero kml se genera automáticamente al seleccionar las entidades de Autocad, por lo que la información de la descripción debería obtenerse automáticamente también. Es información que debería estar asociada a cada entidad o capa. Lo estudiaré. Lo de los estilos no le des más vueltas, ahora ya lo tengo como decíamos al principio y ya no lo voy a cambiar. No he recibido el privado. También puedes enviarme un email a mi correo que aparece en los post. Saludos.
Jelouuuu. Hola de nuevo. Tengo una nueva duda. Al poner una descripción, ¿Es posible indicarle que aparezca en un lugar determinado? Es decir, tal como las he puesto en el archivo adjunto, en la capa "Bordillo remontable", la descripción señala a un punto donde no hay nada. Me gustaría poder indicarle el punto al que tiene que señalar el globito que ofrece la información. No sé si se podrá hacer. Saludos.
Es decir, tal como las he puesto en el archivo adjunto, en la capa "Bordillo remontable", la descripción señala a un punto donde no hay nada.
Buenas robierzo. Lo que yo veo es que la ventana señala exáctamente al punto de la entidad en la que hemos clickado. Eso sí, al situar el vértice del cuadro (tipo "bocadillo" de los tebeos) en el mismo punto donde clickamos el resto de la caja queda muy al lado.
No obstante creo que el comportamiento es el apropiado.
Me pillas en el curro, pero a lo largo del día miro el modelo KML y te mantengo informado.
Hola polifemo. Qué suerte que estás trabajando. Jeje. Tú por si acaso no te preocupes mucho de este tema, a ver si por mi culpa tienes bronca. Míralo cuando puedas. Si te fijas, cuando clicas en la capa "Bordillo remontable", el pico del globo no señala ninguna entidad. Simplemente Google lo que hace es interpolar todas las entidades de esta capa y se sitúa en el medio. Si se pudiera indicar una posición para el globo (bocadillo le llamas tú), le indicaría una posición para que señalara una entidad de esta capa. Te envío un recorte de la pantalla. Saludos.
Buenas robierzo. La verdad es que no estoy usando Google Earth para ver tus kml; estoy usando la aplicación "ver en google maps" que tiene este foro. Y probablemente como en verdad "rula" bajo gmaps el comportamiento sea distinto.
Tendremos que tener esto bien presente para evitar futuros malentendidops, je, je. En el adjunto Muestra.jpg puedes ver como se ve en Gmaps al pulsar sobre la acera de la redonda de entrada al polígono.
Respecto a estar en el trabajo. Un buen jefe sabe que lo que tiene que estar a tiempo es el trabajo bien hecho.
Al tema.Te cuento mis averiguaciones hechas en el periodo post-comida:
1.- Vía código kml no podemos hacer nada al respecto pues el tag no tiene "mapeado" ningún atributo adicional (por lo tanto ninguno que nos sirva a nosotros).
2.- Una solución es trabajando con el API de Google Earth. Habría que porgramar un "escuchador de eventos (event listener)", darle instrucciones a dicho "escuchador" y ya por último meter el código. Resumiendo, mucha historia y no compensa.
3.- trasteando la documentación principio de nuestro post descubrí el TAG <StyleMap> que parece pensado para cambiar el estilo de una entidad cuando pasas por encima de ella (y por lo tanto cuando la pulsas).
Cuando pueda hago mis averiguaciones a ver si funciona como creo, y si es que si, aunque no puedas evitar que el cuadro aparezca donde Google desee, puedes mantener la capa seleccionada en otro color, mas gruesa, mas transparente...
Ya sabes lo que se dice de los ingenieros: Hay que ingeniárselas.
Joo. Pues sí que es curioso. La verdad es que la aplicación del foro y Google earth muestran los globos informativos en distinta posición. Bueno, lo cierto es que lo importante es lo que pone el globo informativo. La posición es más bien estético. Pero no se le puede pedir todo a una herramienta que, como tú dices, no es cartográfica. Seguimos investigando. Saludos.
_________________ La topografia al alcance de tu mano:
Hola polifemo. Te muestro un pequeño avance más. La aplicación que estoy haciendo, además de mostrar la cartografía, le he puesto una opción para mostrar parcelas.En cada parcela aparece una marca de posición con información de su perímetro y su superficie. "Mola mazo". Jejeje. Seguimos progresando. Saludos.
P.D.: Cualquier sugerencia será bien recibida.
Bueno polifemo, creo que ya casi tengo listo el tema. Pero antes quiero saber una última cosa, a ver si se puede hacer. En la simulación de creación de edificios, los edificios salen todos desde el suelo y se le da una altura determinada desde el suelo. Pero si yo quiero hacer un resalte en un edificio, como aparece en la imagen en color rosáceo, ¿se podría hacer? ¿Cómo?
Nada más, jeje. Saludos.
Puede publicar nuevos temas en este foro No puede responder a temas en este foro No puede editar sus mensajes en este foro No puede borrar sus mensajes en este foro No puede votar en encuestas en este foro No Puedes adjuntar archivos en este foro Tu puedes descargar archivos en este foro