6 votos

Cómo visualizar datos geolocalizados en un mapa resbaladizo en un sitio web?

Estoy tratando de visualizar algunos datos en un sitio web que ha sido medido mientras se conduce alrededor. Mi fuente es un archivo CSV con la longitud, la latitud y mis datos medidos. He sido capaz de exportar a un archivo GPX y para mostrar que el uso de OpenLayers usando las instrucciones que se encuentran en http://wiki.openstreetmap.org/wiki/DE:Openlayers_Track_example.

El problema es que me gustaría no sólo visualizar el (los puntos de la pista, sino también de los datos de medición que ha sido grabado con ellos. Alguna variación en el color o la anchura de la línea sería genial, pero no pude encontrar un ejemplo de ho a hacer algo como esto en OpenLayers (o de otro JS de la biblioteca). Supongo que sería posible utilizar la regla basada en el estilo como se explica en la http://docs.openlayers.org/library/feature_styling.html#rule-based-styling pero yo era incapaz de averiguar cómo recuperar la propiedad de el archivo GPX.

He encontrado un ejemplo que coincide parcialmente con mis necesidades en geo.dianacht.de/osm/track.html pero este utiliza diferentes fuentes de datos para el seguimiento y tratamiento de datos. Sería más útil si pudiera usar una fuente. Si esto no debería ser posible, cualquier otra sugerencia es muy apreciada.

1voto

MJH Puntos 111

OpenLayers permite mostrar las etiquetas, junto con sus atributos. Esta es una parte de un estilo. Si su capa gpx no contienen alguno de los atributos. Intenta esto. Cargar el csv de la capa en QGIS(tutorial) Habilitar la edición de la capa y agregar algunos atributos. Finalmente exportar a GML en lugar de la GPX y cargar con openlayers. Ver el estilo de google docs. Los valores únicos ejemplo va a ser digno de mirar

1voto

texai Puntos 178

se puede lograr esto con el uso de contexto a la hora de añadir sus puntos.

     var context = {
        getLabel: function(feature) {                    
            return feature.attributes.label;// Define your label attribute.
        }
    };
    var template = {
        label: "${getLabel}"

    };
    var style = new OpenLayers.Style(template, {context: context});
    var layer = new OpenLayers.Layer.Vector('Points', {
        styleMap: new OpenLayers.StyleMap(style),
        renderers: renderer
    });
    layer.addFeatures(features);

    map.addLayer(layer);
 

Espero que te funcione...

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X