Catégorie : Non classé

Créer une pseudo « BDTOPO® | IGN » à partir des données OpenStreetMap (OSM)

Objectif du projet

Utiliser la richesse des informations disponibles dans OpenStreetMap et les valoriser sous la forme d’une pseudo « BDTOPO® | IGN » afin qu’elles puissent facilement être exploitées dans une application SIG.

Consulter le projet sur Github

Pourquoi cette idée ?

Je rejoins ce qu’à écrit P. Archambault au sujet des données OSM et de leur utilisation par des géomaticiens :

La structure de la base de données sous-jacente est […] un peu complexe et nécessite un investissement chronophage pour réussir ses extractions. Il faut quelques connaissances en géomatique pour plonger dans le bain de données OSM. Le format du fichier .osm, xml tout en un, est déroutant pour les utilisateurs de SIG et les statisticiens. Le fichier .osm est un format texte balisé (xml) facile à manipuler par les développeurs. Mais il l’est beaucoup moins par les analystes. Les informations ne sont pas tabulées en colonne et les objets géographiques sont, le plus souvent, mal lus par les SIG classiques. QGIS réussit à lire nativement les fichers .osm. Mais il est impossible d’espérer lire et requêter sur un fichier France.osm directement : les structure et volumétrie de données […] ne passent pas…

Source : Comment accéder en masse aux informations vectorielles d’Open Street Map ?

Partant de ce constat, l’idée était donc de trouver une solution permettant d’exploiter la masse d’informations présente dans OSM pour en faire un produit « SIG » facilement exploitable.

Les données générées

Télécharger les données générées sur la France métropolitaine (Découpage suivant les anciennes régions)

Attention : Les fichiers générés ne respectent pas les spécifications de la BD TOPO ils visent seulement à s’en rapprocher pour pallier à un besoin de données/informations.

Origine des données

Les données OSM utilisées pour générer ces fichiers régionaux proviennent de Geofabrik.

Il est possible d’utiliser des données OSM provenant d’autres sources.

Le mot de la fin

Merci de nous faire remonter : les erreurs et/ou les problèmes que vous rencontrez.

Pour toute question concernant le projet ou le jeu de données, vous pouvez nous contacter par mail.

Consulter le projet sur Github

Le nouveau GPS tout terrain de Garmin – GPSMAP 66S

Début Septembre 2018, Garmin annonçait un nouveau GPS mobile : le GPSMAP 66S le successeur du Garmin GPSMAP 64S. Aujourd'hui, nous avons le plaisir de vous présenter ce nouveau modèle toujours aussi robuste et polyvalent que nous commençons à utiliser lors de nos sorties sur le terrain au Sénégal.

L'aspect extérieur

Outre les changements visuels évidents, ce nouveau modèle est assez similaire au 64S en terme de conception : taille, poids, prise en mains,… Ce qui nous a donné le plus de satisfaction au démarrage de l'appareil, c'est surtout la taille et la résolution de l'écran. Les boutons sont un peu plus larges mais surtout plus souples dans l'utilisation. Le bouton d'alimentation a quant à lui été déplacé sur le dessus de l'appareil ce qui évite d'éteindre l'appareil en le tenant en main ou en heurtant quelque chose. Et Garmin a profité de cette révision pour intégrer une LED à son GPS afin d'ajouter une fonction lampe de poche et SOS. 

En revanche, l'emplacement du port USB et de la micro SD n'ont pas changé.

 Autonomie

On manque encore de recul pour juger de l'autonomie de ce nouveau modèle. Toutefois, ce que l'on peut vous dire c'est qu'il fonctionne avec deux piles AA avec une durée de vie moyenne annoncée par Garmin de 16h (variable suivant l'utilisation). La série 66 intègre maintenant un mode "EXPEDITION" qui permet d'augmenter la durée de vie de la batterie. L'appareil passe alors en mode économie d'énergie en éteignant l'écran et en limitant la collecte de points GPS.

L'interface

  • Commandes d'enregistrement : Accès direct à cette fonction importante par la touche ENTER.
  • Le bouton on/off : permet d'ouvrir une page permettant d'accéder à des fonctions telles que le contrôle du rétroéclairage, des widgets Connect IQ, du Bluetooth et du Wifi.
  • Ruban des pages : il est maintenant visible dans la partie inférieure de l'écran (touche QUIT).
  • Le menu principal est plus clair et plus intuitif.
  • Le dessin de la carte est légèrement plus rapide.
  • Précision GPS et réception satellite plus rapide également.

Nouveautés

  • Connect IQ qui permet d'ajouter des widgets ou des applications à votre appareil.
    Exemple : Il existe une application pour Wikiloc : Communauté explorant et partageant des itinéraires de plein air.
  • Possibilité de télécharger sans abonnement des images satellites via BirdsEye. Testé et approuvé!
  • Possibilité de recevoir des bulletins météo en connectant le GPS à un appareil mobile équipé du Bluetooth.
  • Prise en charge de GALILEO
  • Les professionnels vont apprécier l'enregistrement des données RINEX qui permet d'atteindre une précision sub-métrique après un post-traitement.
  • La possibilité d'ajouter un préfixe et un suffixe numérique aux points saisies.
    ex : préfixe "2018_Thies_" et suffixe "0001" ainsi chaque nouveau point portera le nom : "2018_Thies_0001", "2018_Thies_0002"…

Comparaison entre le Garmin GPSMAP 66S et 64S

  GPSMAP 66S GPSMAP 64S
Dimensions 6,2 x 16,3 x 3,5 cm 6,1 x 16,0 x 3,6 cm
Poids (avec piles) 230g 230g
Ecran

3″
3,8 x 6,3 cm
240 x 400 pixels

2,6″
3,6 x 5,5 cm
160 x 240 pixels
Batterie 2x AA
NiMH battery pack (rechargeable)
2x AA
NiMH battery pack (rechargeable)
Autonomie Jusqu'à 16 heures (GPS mode)
Jusqu'à 170 heures (Expedition mode)
Jusqu'à 16 heures
Étanchéité, robustesse IPX7
MIL-STD-810G (for thermal, shock and water performance)
IPX7
Réception GPS GPS
GPS/GLONASS
GPS/GALILEO
WAAS/EGNOS
EPO download
GPS
GPS/GLONASS
WAAS/EGNOS
HotFix
Antenne GPS Quad-Helix Quad-Helix
External (MCX)
Interfaces High-Speed USB (Micro-B)
ANT+
Bluetooth LE
Wi-Fi
High-Speed USB (Mini-B)
ANT+
Bluetooth 4.0
Transfert de données ANT+
Bluetooth
ANT+
Bluetooth
Mémoire 16 GB built-in
microSD card (up to 32 GB)
4 GB built-in
microSD card (up to 32 GB)
Format de sortie FIT
GPX/FIT
RINEX
GPX
Capteurs internes Altimètre barométrique
Boussole électronique 3 axes
Altimètre barométrique
Boussole électronique 3 axes
Cartes préchargées Basemap
BirdsEye direct to device (Wi-Fi, no annual subscription)
Basemap
BirdsEye (1 year subscription included)
Données 20,000 points per track log
250 saved GPX tracks
300 saved FIT activities
10,000 waypoints
250 routes

No limit on geocaches (depending on the available memory)
15,000 map segments
10,000 points per track log
200 saved GPX tracks
5,000 waypoints
200 routes
No limit on geocaches (depending on the available memory)
3,000 map segments
Navigation ActiveRouting
Roundtrip
ActiveRouting
Connect IQ Apps, widgets, data fields /
Divers LED flashlight, SOS beacon
Red flashing LED near antenna (used for expedition mode)
RINEX logging (L1 band)
/
Prix 400€ entre 250 et 300€

Utilisation 

  • Randonnée
  • Vélo
  • Géocaching
  • Alpinisme

Liens

Conclusion 

Le GPSMAP 66 est à l'image de son prédécesseur, l'un des meilleurs GPS de navigation pour les conditions difficiles. Nous avons particulièrement apprécier ses nouvelles fonctionnalités, son interface optimisée, son écran, sa précision GPS et l'ajout du wifi.

Ajouter des fonds cartes OpenStreetMap sur un GPS Garmin GPSMAP 64/64s

Ce qu'il faut savoir avant de démarrer :

  1. Avant de commencer à charger les données sur le GPS, il faut savoir que les GPS Garmin utilisent le fomat .img pour stocker les cartes. 
    Pour en savoir plus sur ce format.
  2. Le Garmin GPSMAP 64/64s permet d'ajouter plusieurs cartes au format .img contrairement à certains modèles plus anciens de GPS Garmin.

 

Introduction

Revenons en à nos moutons, grâce aux contributions de différentes personnes ou organisations, on peut facilement récupérer une carte OpenStreetMap compatible avec les GPS Garmin depuis un simple navigateur. En effet, des sites comme https://extract.bbbike.org que nous utilisons régulièrement pour préparer nos sorties terrain permet la récupération très rapide d'un fichier .img OSM de n'importe quelle zone de la planète 🌍.

Toutefois, ce n'est pas le seul à proposer ce service, il existe une multitude de solutions plus ou moins similaires. Vous pouvez consulter une liste non exhaustive par ici. Prenez le temps de bien identifier votre besoin pour choisir la carte qui répondra la mieux à vos attentes en terme de représentation de l'information.

L'exemple ci-dessous présente le site https://extract.bbbike.org

`

Le site minimaliste est assez bien conçu. Voici la démarche à suivre : 

  1. Choisir le format désiré, dans notre cas Garmin!
    A noter qu'il existe différentes cartes Garmin, elles correspondent à des rendus différents de la donnée OSM (couleurs, pictos,…). En en selectionnant une vous aurez un aperçu du rendu sur le côté.
  2. Renseigner son e-mail afin de recevoir le lien vers le fichier .img une fois qu'il est généré par le serveur 
  3. Donner un nom à la zone choisie
  4. Choisir l'emprise de la zone qui vous intéresse
  5. Lancer la demande et attendre le mail avec le lien vers le fichier gmapsupp.img

Une fois le fichier téléchargé 

  1. Brancher le GPS à son ordinateur
  2. Ouvrir l'espace disque correspondant au GPS
  3. Copier le fichier gmapsupp.img dans le répertoire ./Garmin
  4. Déconnecter le GPS de l'ordinateur
  5. Lancer le GPS et admirer le résultat!
  6. Pour ajouter plusieurs cartes, vous prouvez renommer le fichier gmapsupp.img. Par exemple : senegal.img, mali.img,…

 

Passer d'une carte à l'autre depuis le GPS :

  1. Accéder à la carte en utilisant le bouton "PAGE"
  2. Ensuite, appuyer sur "MENU"
  3. Choisir "PARAMETRAGE CARTE" et appuyer sur "ENTER"
  4. En bas du menu, aller sur "SELECTIONNER CARTE"
  5. En utilisant la touche "ENTER" vous pouvez choisir d'activer ou non les cartes
  6. Pour optimiser les performance d'affichage de la carte, il est préférable de désactiver les cartes non utilisées

Nota : Autre possibilité qui n'est pas développée dans cette article, vous pouvez créer vous même votre carte à partir des données OSM.

 

En complément : 

Jouer aux Lego avec QGIS

Il y a plusieurs manières de faire entrer l'univers des Lego dans QGIS

  1. Créer un symbole se rapprochant des célèbres briques (exemple d'utlisation avec la carte au dessus) : Fichier xml du symbole
  2. Créer des listes de symboles à partir des couleurs utilisées par Lego :

Si toi aussi tu veux jouer aux Lego, envoies moi un mail!

Nota : On peut aussi faire des choses sympathiques avec R : Convert an image to LEGO brick shopping list in R

Corrélation de deux rasters multibandes avec R

Toujours dans le cadre de mes travaux de recherches, je devais comparer deux façons de calculer un NDVI cumulé annuel, 1) en intégrant toutes mes valeurs bi-mensuelles sur toute l'année, 2) en intégrant mes valeurs correspondant uniquement à la saison des pluies, c'est à dire environ de Mai à Octobre (contexte africain, au Niger).

Mes données d'entrée sont donc deux rasters calculés:

  • raster1 = la manière 1 et comptant autant de bandes que d'années (ici 11)
  • raster2 = la manière 2 et comptant autant de bandes que d'années (ici 11)

​Le résultat que je souhaitais obtenir en sortie était quelque chose comme ceci :

scatter

mais avec un graphique par année (ou par bande).

J'ai donc décidé de faire cela sur …. R (^^).

Voici donc le code que j'ai mis en place. Dans mon cas j'avais besoin de le faire tourner sur plusieurs zones donc sur plusieurs images, il est donc fait pour tourner sur plusieurs paires de fichiers, mais en supprimer la première boucle vous pouver le faire tourner sur uniquement deux fichiers.

######### Comparaison de rasterS multibandes #######

# input : 2 Rasters multibandes format ENVI (dans ce cas si, mais fonctionne avec autres formats raster)
# output : graphique au format pdf de la "corrélation" de la bande 1…n d'un raster1 avec la bande 1…n d'un raster2
# Leroux Louise, CIRAD, UMR TETIS 2014

######## Initialisation #########
## Chargement de packages nécéssaires

library(raster)
library(sp)
library(Hmisc)

## Initialisation de l'espace de travail
setwd("D:/MyFolder")

##Importation des données raster##
# Pour le premier raster

liste.file1<-list.files(path=".", pattern="motif1")
liste.file1.hdr<-liste.file1[-grep(« .hdr », liste.file1, fixed=T)] #Récupération du nom sans l'extension
 

# Pour le second raster
liste.file2<-list.files(path=".", pattern="motif2")
liste.file2.hdr<-liste.file2[-grep(« .hdr », liste.file2, fixed=T)]  #Récupération du nom sans l'extension

## Boucle sur les couples de fichiers ##
for (j in 1:length(liste.file1.hdr)){
  name1<-liste.file1.hdr[j]
  name2<-liste.file2.hdr[j]
  nband<-nbands(raster(name1)) #variable stockant le nombre de bandes dans l'image
  cell<-ncell(raster(name1)) #variable stockant le nombre de pixel d'une bande
  mat1<-matrix(0, ncol=nband, nrow=cell)
  mat2<-matrix(0, ncol=nband, nrow=cell)
  
  # Stockage des bandes du raster 1 dans un matrice
  for (i in 1:nband){
    mat1[,i]<-getValues(raster(name1, band=i))
  }
  
  # Stockage des bandes du raster 2 dans un matrice
  for (l in 1:nband){
    mat2[,l]<-getValues(raster(name2, band=l))
  }
  
  ## Création du graphique ##
  out_name<-paste(out_name, ".pdf",sep="")
  pdf(out_name, height=10,width=10)
  ye<-seq(2000,2010,1) # Séquence pour nommer les graphiques, ici, 1 bande= 1 année
  par(mfrow=c(4,3)) # Préparation de la fenêtre graphique : 4 lignes, 3 colonnes pour mettre un graphique par bande dans chaque case

  # Boucle sur les bandes
  for (k in 1:nband){
    df <- data.frame(mat1[,i],mat2[,k])
    x <- densCols(mat1[,k],mat2[,k], colramp=colorRampPalette(c("black", "white")))
    # Création d'une palette pour représenter la concentration des individus
    df$dens <- col2rgb(x)[1,] + 1L
    cols <-  colorRampPalette(c("#000099", "#00FEFF", "#45FE4F","#FCFF00", "#FF9400", "#FF3100"))(256)
    df$col <- cols[df$dens]
    plot(mat2[,k]~mat1[,k], data=df, pch=20, col=col, xlab=name_xlab, ylab=name_ylab, main=ye[k], cex.lab=0.75)
    reg<-lm(mat2[,k]~mat1[,k])
    abline(coef=coef(reg), lwd=1)
  }
  dev.off()
}

Et voici le résultat en sortie pour l'un de mes fichiers :

Result

Raster et « Jolie » matrice de corrélation sur R et ggplot, petit tuto

Tout est partis de la rédaction d'un article pour une revue de télédétection dans laquelle j'avais une matrice de corrélation à partir d'un raster multibandes à présenter! Bon une matrice de corrélation c'est pas franchement "sexy" à présenter donc je me suis dit que je pouvais grâce à R et toutes les possibilités qu'il offre réussir à faire quelque chose qui change de l'ordinaire!

Dans mon cas, il s'agissait de vérifier la non-stabilité (c'est  à dire la potentielle dynamique) du domaine cultivé en Afrique de l'Ouest à partir du produit MODIS land Cover! Initialement j'ai donc une image avec 11 bandes binaires (culture / non culture, entre 2001 et 2011), présentées ci dessous:

11 bandes (2001-2011) MODIS affichées dans R

Voici donc la démarche que j'ai suivi :

########################################
# Initialisation de l'espace de travail

setwd("D:/MyFolder")

#Packages nécéssaires
library(raster)
library(sp)
library(Hmisc)
library(plyr)
library(reshape2)
library(ggplot2)

#############Importation des données raster et stockage des bandes dans une matrice#######
filename<-'mon_image.tif'# variable stockant le nom du fichier
nband<-nbands(raster(filename)) #variable stockant le nombre de bandes dans l'image
cell<-ncell(raster(filename)) #variable stockant le nombre de pixel d'une bande
mat<-matrix(0, ncol=nband, nrow=cell) #initialisation de la matrice reçevant les valeurs des bandes de l'image

for (i in 1:nband){
  mat[,i]<-getValues(raster(filename, band=i))
}

#############Création de la matrice de corrélation#######
cor<-rcorr(mat,type="pearson") # création de la matrice de corrélation
coef.corr<-cor$r  # récupère la matrice de coefficients de corrélation

#############Mise en forme de la matrice de corrélation pour la création du graphique#######
coef.corr[coef.corr==1]<-0 #valeurs de la diagonale mises à 0

# Boucle garder que la première moitié du tableau de corrélation (éviter la duplication dans le graphique)
for (i in 1:nband){
  for (j in 1:nband){
    if (coef.corr[i,j]==0){
      coef.corr[i:nband,j]<- 0
    }
  }
}

coef.corr[coef.corr==0]<-NA
mat.m<-melt(coef.corr, na.rm=FALSE)
mat.n<-ddply(mat.m, .(Var1), transform)
r<-round(mat.n$value,2) #arrondissement des coefficients de corrélation à deux chiffres après la virgule
mat.r<-cbind(mat.n[,1:2],r)

#############Diagramme à deux dimensions avec ggplot2#######
labelsx<-seq(2001,2011,1) #noms de l'axe des x
labelsy<-seq(2001,2011,1) #noms de l'axe des y

#Graphique

ggplot(mat.r, aes(factor(Var1), factor(Var2), label=r))+ geom_tile(aes(fill=r ),colour="white")+scale_fill_gradient(low="seagreen4", high="violetred",       na.value="white")+geom_text(aes(fontface=2))+ylab("Years")+xlab("Years")+labs(fill="Correlation \nCoefficient (R)")+labs(title="Heatmap of Correlation Coefficient")+theme(axis.title.x=element_text(size=20), axis.title.y=element_text(size=20),axis.text.x=element_text(size=10), axis.text.y=element_text(size=10),plot.title=element_text(size=20))+theme_bw(base_size=20, base_family=2)+scale_x_discrete(labels=labelsx)+scale_y_discrete(labels=labelsy)+coord_flip()

########################################

Et voilà, vous obtiendrez un chouette graphique que celui-ci:

Diagramme deux dimensions R

ChangeMatters : Interface de Visualisation des dynamiques de la végétation à partir de l’imagerie landsat

Voici une application découverte très récemment et qui s'avère être vraimenent intéréssante. Elle permet de visualiser la végétation à deux dates et de donner une carte de dynamique entre ces deux dates, le tout basé sur de l'imagerie Landsat!

Pour cela, il suffit juste :

  • d'entrer le lieu désiré
  • de spécifier le type de visualisation voulu (infra rouge, indice de végétation, couleur naturelle…)
  • et la période souhaitée

L'interface de visualisation est ensuite très bien faite :

ChangeMatter

Copyright © 2024 DATA\WAX

Thème par Anders NorenHaut ↑