Nous utilisons des cookies pour vous garantir la meilleure expérience sur notre site. Si vous continuez à utiliser ce dernier, nous considèrerons que vous acceptez l'utilisation des cookies. J'ai compris ! ou En savoir plus !.
banniere

Le portail francophone de la géomatique


Toujours pas inscrit ? Mot de passe oublié ?
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

Annonce

Suite à un problème technique intervenu entre le 22 et le 23 mars, nous avons du procéder dans la soirée du 25 mars, à la restauration de la base de données du 24 mars (matinée).

En clair, nous avons perdu vos contributions et inscriptions du dimanche 24 et du lundi 25 mars.
Nous vous prions de nous excuser.

#1 Sun 06 November 2016 16:58

supernul
Participant actif
Date d'inscription: 31 Jan 2010
Messages: 103

[Leaflet] formater le temps dans un geojson

Bonjour,

je cherche à représenter le temps dans un fichier geojson. Sans cette information j'arrive à afficher ma donnée dans Leaflet.

J'utilise le plugin TimeDimension.

voici ma donnée dont je sais que la propriété temporelle n'est pas correcte :

Code:

var data={
    "crs":{"type":"name","properties":{"name":"EPSG:2154"}},
    "type":"FeatureCollection",
    "features":[
        {"type":"Feature",
        "geometry":{
            "type":"Polygon",
            "coordinates":[[[653006.945799,6862173.508896],[653003.318699,6862168.487896],[652989.237299,6862179.850096],[652993.347699,6862184.215196],[653006.945799,6862173.508896]]]
        },
        "properties":{
            "solar":3.180000},
            "time": "2012-10-27T18:02:01"
        },
        {"type":"Feature",
        "geometry":{
            "type":"Polygon",
            "coordinates":[[[653006.945799,6862173.508896],[653003.318699,6862168.487896],[652989.237299,6862179.850096],[652993.347699,6862184.215196],[653006.945799,6862173.508896]]]
        },
        "properties":{
            "solar":11.180000},
            "time": "2012-10-28T18:02:01"
        },
        {"type":"Feature",
        "geometry":{
            "type":"Polygon",
            "coordinates":[[[653006.945799,6862173.508896],[653003.318699,6862168.487896],[652989.237299,6862179.850096],[652993.347699,6862184.215196],[653006.945799,6862173.508896]]]
        },
        "properties":{
            "solar":21.180000},
            "time": "2012-10-29T18:02:01"
        },
        {"type":"Feature",
        "geometry":{
            "type":"Polygon",
            "coordinates":[[[653006.945799,6862173.508896],[653003.318699,6862168.487896],[652989.237299,6862179.850096],[652993.347699,6862184.215196],[653006.945799,6862173.508896]]]
        },
        "properties":{
            "solar":31.180000},
            "time": "2012-10-30T18:02:01"
        },
    ]
}

Certains ont-ils déjà travaillé avec TimeDimension ou une propriété temporelle et peuvent-ils me renseigner sur le bon format ?

Merci d'avance.
Je poste la même question chez nos amis de forumsig.

Hors ligne

 

#2 Mon 07 November 2016 07:59

supernul
Participant actif
Date d'inscription: 31 Jan 2010
Messages: 103

Re: [Leaflet] formater le temps dans un geojson

Bonjour,

J'ai corrigé une erreur mais je n'arrive pas à faire fonctionner TimeDimension avec prj4leaflet. Et j'ai (presque) trouvé la solution :

Code:

var data10 = {
    "type": "FeatureCollection",
    "crs": { "type": "name", "properties": { "name": "EPSG:4326" } },
    "features": [
    { "type": "Feature", "properties": { "solar": 3.18,  "time": "2014-09-25"}, "geometry": { "type": "Polygon", "coordinates": [ [ [ 2.359515751007625, 48.857882727399648 ], [ 2.359466873308558, 48.857837309443994 ], [ 2.359273705181266, 48.857938461197271 ], [ 2.359329242119987, 48.857978016048271 ], [ 2.359515751007625, 48.857882727399648 ] ] ] } },
    { "type": "Feature", "properties": { "solar": 11.18,  "time": "2014-09-26"}, "geometry": { "type": "Polygon", "coordinates": [ [ [ 2.359515751007625, 48.857882727399648 ], [ 2.359466873308558, 48.857837309443994 ], [ 2.359273705181266, 48.857938461197271 ], [ 2.359329242119987, 48.857978016048271 ], [ 2.359515751007625, 48.857882727399648 ] ] ] } },
    { "type": "Feature", "properties": { "solar": 20.18,  "time": "2014-09-27"}, "geometry": { "type": "Polygon", "coordinates": [ [ [ 2.359515751007625, 48.857882727399648 ], [ 2.359466873308558, 48.857837309443994 ], [ 2.359273705181266, 48.857938461197271 ], [ 2.359329242119987, 48.857978016048271 ], [ 2.359515751007625, 48.857882727399648 ] ] ] } },
    { "type": "Feature", "properties": { "solar": 31.18,  "time": "2014-09-28"}, "geometry": { "type": "Polygon", "coordinates": [ [ [ 2.359515751007625, 48.857882727399648 ], [ 2.359466873308558, 48.857837309443994 ], [ 2.359273705181266, 48.857938461197271 ], [ 2.359329242119987, 48.857978016048271 ], [ 2.359515751007625, 48.857882727399648 ] ] ] } }
    ]
}

Le seul problème maintenant réside dans le fait que cela fonctionne avec une donnée en EPSG:4326 chargée avec

Code:

var data2 = new L.geoJSON(data10, {style: doStyledata0});

mais pas avec une donnée en L93 chargée par

Code:

var data2 = new L.Proj.geoJson(data1, {style: doStyledata0});

.

Je continue à chercher et je vous tiens au courant. Mais si certains ont une idée, je suis preneur.

Hors ligne

 

#3 Mon 07 November 2016 12:31

supernul
Participant actif
Date d'inscription: 31 Jan 2010
Messages: 103

Re: [Leaflet] formater le temps dans un geojson

En fait le problème vient de proj4leaflet qui rend un layer non compatible avec TimeDimension. J'ai trouvé la solution tout à l'heure. Voici l'extrait de la page :

Code:

var dataLayer = new L.Proj.geoJson(data);
var dataJson = dataLayer.toGeoJSON();
var dataLayer2 = new L.geoJSON(dataJson, {style: style});
var dataTime = new L.TimeDimension.Layer.GeoJson(dataLayer2, {updateTimeDimension: true});

L'idée que j'ai trouvée est de créer un layer reprojeté via proj4leaflet, puis de le convertir en geojson, puis de créer un layer avec la fonction native de leaflet et enfin de convertir ce layer compatible en timelayer avec TimeDimension.

Hors ligne

 

Pied de page des forums

Powered by FluxBB