Compare commits
No commits in common. "master" and "annexeterrain" have entirely different histories.
master
...
annexeterr
24
OCI.sty
@ -7,8 +7,9 @@
|
||||
%--------------------------------------------------------------------------------
|
||||
|
||||
\ProvidesPackage{OCI}
|
||||
|
||||
\usepackage[utf8]{inputenc}
|
||||
\usepackage[french]{babel}
|
||||
\usepackage[francais]{babel}
|
||||
\usepackage[T1]{fontenc}
|
||||
\usepackage{hyperref}
|
||||
\usepackage{amsmath}
|
||||
@ -21,8 +22,8 @@
|
||||
\usepackage{float} % pour placer exactement les figure (utilisation de H)
|
||||
%\usepackage[hyphens]{url}
|
||||
\usepackage{breakurl}
|
||||
%\usepackage{natbib}
|
||||
\usepackage{comment}
|
||||
\usepackage{natbib}
|
||||
|
||||
\usepackage{xcolor}
|
||||
\definecolor{editorGray}{rgb}{0.95, 0.95, 0.95}
|
||||
@ -343,22 +344,3 @@ literate=
|
||||
}
|
||||
|
||||
\renewcommand{\tablename}{Tableau}
|
||||
\usepackage[backend=biber,sortcites,hyperref=true,backref=true,labeldate=long]{biblatex}
|
||||
\addbibresource{geographie-informatique.bib}
|
||||
|
||||
%\usepackage[dvips,ps2pdf]{hyperref}
|
||||
\usepackage{hyperref}
|
||||
\hypersetup{
|
||||
breaklinks=true,
|
||||
plainpages=false,
|
||||
colorlinks=true,
|
||||
linkcolor=blue,
|
||||
citecolor=blue,
|
||||
urlcolor=blue,
|
||||
hypertexnames=true
|
||||
}
|
||||
%\usepackage[hyphenbreaks]{breakurl}
|
||||
\usepackage{color} % Couleurs
|
||||
\usepackage{xcolor}
|
||||
|
||||
\pagestyle{headings}
|
@ -1,4 +1,3 @@
|
||||
# Cartographie informatique
|
||||
|
||||
Un document de préparation pour un module d'informatique sur la cartographie.
|
||||
Le corps du document est fini, mais pas certaines annexes.
|
||||
|
@ -1,130 +0,0 @@
|
||||
''' Programme de placement de tags images sur un fond OpenStreetMap
|
||||
On place des images géotaguées dans un répertoire
|
||||
Le programme en extrait les coordonnées GPS et la date
|
||||
Il crée des tags avec comme titre le nom des fichiers et la date
|
||||
et les place sur le fond de carte aux coordonnées GPS
|
||||
'''
|
||||
|
||||
#importation des module
|
||||
import os(*@\label{ligne:lemoduleos}@*)
|
||||
import folium(*@\label{ligne:modulefolium}@*)
|
||||
import exifread(*@\label{ligne:exifread}@*)
|
||||
|
||||
def lalatitude(ref,GPSLatitude):
|
||||
'''
|
||||
Convertit les coordonnées GPS EXIF en degrés à virgule flottante
|
||||
:param ref, GPSLongitude:
|
||||
:type ref: string, GPSLongitude: exifread.utils.Ratio
|
||||
:rtype: float
|
||||
'''
|
||||
|
||||
d = GPSLatitude.values[0].num(*@\label{ligne:num1}@*)
|
||||
m = GPSLatitude.values[1].num
|
||||
s = GPSLatitude.values[2].num(*@\label{ligne:num2}@*)
|
||||
|
||||
if ref == 'N':
|
||||
latitude = d + (m / 60.) + (s / 3600.)
|
||||
elif ref == 'S':
|
||||
latitude = -1*(d + (m / 60.0) + (s / 3600.0))
|
||||
else:
|
||||
print('La latitude est fausse !')
|
||||
return latitude
|
||||
|
||||
def lalongitude(ref,GPSLongitude):
|
||||
'''
|
||||
Convertit les coordonnées GPS EXIF en degrés à virgule flottante
|
||||
:param ref, GPSLongitude:
|
||||
:type ref: string, GPSLongitude: exifread.utils.Ratio
|
||||
:rtype: float
|
||||
'''
|
||||
|
||||
d = GPSLongitude.values[0].num(*@\label{ligne:num3}@*)
|
||||
m = GPSLongitude.values[1].num
|
||||
s = GPSLongitude.values[2].num(*@\label{ligne:num4}@*)
|
||||
|
||||
if ref == 'W':
|
||||
longitude = -1*(d + (m / 60.0) + (s / 3600.0))
|
||||
elif ref == 'E':
|
||||
longitude = d + (m / 60.0) + (s / 3600.0)
|
||||
else:
|
||||
print('La longitude est fausse !')
|
||||
return longitude
|
||||
|
||||
# Récupération du facteur de zoom
|
||||
print('Facteur de zoom (nombre entier) :\n\
|
||||
9 : grande zone\n\
|
||||
11 : zone\n\
|
||||
13 : village ou ville\n\
|
||||
16 : petite route')
|
||||
facteurZoom = input('Veuillez entrer le facteur de zoom : ')(*@\label{ligne:input}@*)
|
||||
print('Facteur de zoom : {}'.format(facteurZoom))
|
||||
|
||||
# Ouverture de l'image en mode de lecture binaire
|
||||
path = './images/'
|
||||
fichiers=os.listdir(path)(*@\label{ligne:listdir}@*)
|
||||
i = 0 #indice des images(*@\label{ligne:compteurimages}@*)
|
||||
for nom in fichiers:(*@\label{ligne:boucleprincipale}@*)
|
||||
print("{} : {}".format(i,nom))
|
||||
|
||||
adresseImage = "./images/"+nom
|
||||
titre = nom.split('.')[0]
|
||||
f = open(adresseImage, 'rb')
|
||||
|
||||
# Récupération des tags EXIF
|
||||
tags = exifread.process_file(f, details=False)
|
||||
|
||||
for tag in tags.keys():
|
||||
if tag in ('GPS GPSLatitudeRef',
|
||||
'GPS GPSLatitude',
|
||||
'GPS GPSLongitudeRef',
|
||||
'GPS GPSLongitude',
|
||||
'Image ImageDateTime'):
|
||||
latitude = lalatitude(tags['GPS GPSLatitudeRef'].values,
|
||||
tags['GPS GPSLatitude'])
|
||||
longitude = lalongitude(tags['GPS GPSLongitudeRef'].values,
|
||||
tags['GPS GPSLongitude'])
|
||||
date = tags['EXIF DateTimeOriginal']
|
||||
|
||||
try:(*@\label{ligne:try1}@*)
|
||||
print("Latitude : {}, longitude : {}, date : {}".format(latitude,
|
||||
longitude, date))(*@\label{ligne:try2}@*)
|
||||
except NameError:(*@\label{ligne:except}@*)
|
||||
print('Fichier sans données GPS : ',nom)
|
||||
else:(*@\label{ligne:else}@*)
|
||||
#création de l'objet Python carte, centrée sur les coordonnées
|
||||
#latitude et longitude de la première image
|
||||
|
||||
if i == 0:
|
||||
carte = folium.Map(location=[latitude, longitude],zoom_start=facteurZoom)(*@\label{ligne:carte}@*)
|
||||
|
||||
#création d'un marqueur
|
||||
folium.Marker([latitude, longitude],(*@\label{ligne:markgoutte}@*)
|
||||
popup="<h4>{}</h4> <br> <i>{}</i> <br><br> <img src='{}' width='300'"
|
||||
.format(titre,date,adresseImage)).add_to(carte)(*@\label{ligne:gouttepopup}@*)
|
||||
|
||||
#création d'un simple cercle
|
||||
folium.Circle(
|
||||
radius=100,
|
||||
location=[latitude, longitude],
|
||||
popup='Gallet Park',(*@\label{ligne:cerclepopup}@*)
|
||||
color='crimson',
|
||||
fill=False,
|
||||
).add_to(carte)
|
||||
|
||||
#création d'un marqueur en forme de cercle
|
||||
folium.CircleMarker((*@\label{ligne:markcerclepopup}@*)
|
||||
location=[latitude, longitude],
|
||||
radius=50,
|
||||
popup=titre,
|
||||
color='#3186cc',
|
||||
fill=True,
|
||||
fill_color='#3186cc'
|
||||
).add_to(carte)
|
||||
|
||||
#dereferencement des variables pour lever l'exception
|
||||
del latitude, longitude(*@\label{ligne:deref}@*)
|
||||
#changement d'image
|
||||
i = i + 1
|
||||
|
||||
#création du fichier HTML
|
||||
carte.save('ma_carte.html')(*@\label{ligne:sauvegarde}@*)
|
@ -1,130 +0,0 @@
|
||||
''' Programme de placement de tags images sur un fond OpenStreetMap
|
||||
On place des images géotaguées dans un répertoire
|
||||
Le programme en extrait les coordonnées GPS et la date
|
||||
Il crée des tags avec comme titre le nom des fichiers et la date
|
||||
et les place sur le fond de carte aux coordonnées GPS
|
||||
'''
|
||||
|
||||
#importation des module
|
||||
import os
|
||||
import folium
|
||||
import exifread
|
||||
|
||||
def lalatitude(ref,GPSLatitude):
|
||||
'''
|
||||
Convertit les coordonnées GPS EXIF en degrés à virgule flottante
|
||||
:param ref, GPSLongitude:
|
||||
:type ref: string, GPSLongitude: exifread.utils.Ratio
|
||||
:rtype: float
|
||||
'''
|
||||
|
||||
d = GPSLatitude.values[0].num
|
||||
m = GPSLatitude.values[1].num
|
||||
s = GPSLatitude.values[2].num
|
||||
|
||||
if ref == 'N':
|
||||
latitude = d + (m / 60.) + (s / 3600.)
|
||||
elif ref == 'S':
|
||||
latitude = -1*(d + (m / 60.0) + (s / 3600.0))
|
||||
else:
|
||||
print('La latitude est fausse !')
|
||||
return latitude
|
||||
|
||||
def lalongitude(ref,GPSLongitude):
|
||||
'''
|
||||
Convertit les coordonnées GPS EXIF en degrés à virgule flottante
|
||||
:param ref, GPSLongitude:
|
||||
:type ref: string, GPSLongitude: exifread.utils.Ratio
|
||||
:rtype: float
|
||||
'''
|
||||
|
||||
d = GPSLongitude.values[0].num
|
||||
m = GPSLongitude.values[1].num
|
||||
s = GPSLongitude.values[2].num
|
||||
|
||||
if ref == 'W':
|
||||
longitude = -1*(d + (m / 60.0) + (s / 3600.0))
|
||||
elif ref == 'E':
|
||||
longitude = d + (m / 60.0) + (s / 3600.0)
|
||||
else:
|
||||
print('La longitude est fausse !')
|
||||
return longitude
|
||||
|
||||
# Récupération du facteur de zoom
|
||||
print('Facteur de zoom (nombre entier) :\n\
|
||||
9 : grande zone\n\
|
||||
11 : zone\n\
|
||||
13 : village ou ville\n\
|
||||
16 : petite route')
|
||||
facteurZoom = input('Veuillez entrer le facteur de zoom : ')
|
||||
print('Facteur de zoom : {}'.format(facteurZoom))
|
||||
|
||||
# Ouverture de l'image en mode de lecture binaire
|
||||
path = './images/'
|
||||
fichiers=os.listdir(path)
|
||||
i = 0 #indice des images
|
||||
for nom in fichiers:
|
||||
print("{} : {}".format(i,nom))
|
||||
|
||||
adresseImage = "./images/"+nom
|
||||
titre = nom.split('.')[0]
|
||||
f = open(adresseImage, 'rb')
|
||||
|
||||
# Récupération des tags EXIF
|
||||
tags = exifread.process_file(f, details=False)
|
||||
|
||||
for tag in tags.keys():
|
||||
if tag in ('GPS GPSLatitudeRef',
|
||||
'GPS GPSLatitude',
|
||||
'GPS GPSLongitudeRef',
|
||||
'GPS GPSLongitude',
|
||||
'Image ImageDateTime'):
|
||||
latitude = lalatitude(tags['GPS GPSLatitudeRef'].values,
|
||||
tags['GPS GPSLatitude'])
|
||||
longitude = lalongitude(tags['GPS GPSLongitudeRef'].values,
|
||||
tags['GPS GPSLongitude'])
|
||||
date = tags['EXIF DateTimeOriginal']
|
||||
|
||||
try:
|
||||
print("Latitude : {}, longitude : {}, date : {}".format(latitude,
|
||||
longitude, date))
|
||||
except NameError:
|
||||
print('Fichier sans données GPS : ',nom)
|
||||
else:
|
||||
#création de l'objet Python carte, centrée sur les coordonnées
|
||||
#latitude et longitude de la première image
|
||||
|
||||
if i == 0:
|
||||
carte = folium.Map(location=[latitude, longitude],zoom_start=facteurZoom)
|
||||
|
||||
#création d'un marqueur
|
||||
folium.Marker([latitude, longitude],
|
||||
popup="<h4>{}</h4> <br> <i>{}</i> <br><br> <img src='{}' width='300'"
|
||||
.format(titre,date,adresseImage)).add_to(carte)
|
||||
|
||||
#création d'un simple cercle
|
||||
folium.Circle(
|
||||
radius=100,
|
||||
location=[latitude, longitude],
|
||||
popup='Gallet Park',
|
||||
color='crimson',
|
||||
fill=False,
|
||||
).add_to(carte)
|
||||
|
||||
#création d'un marqueur en forme de cercle
|
||||
folium.CircleMarker(
|
||||
location=[latitude, longitude],
|
||||
radius=50,
|
||||
popup=titre,
|
||||
color='#3186cc',
|
||||
fill=True,
|
||||
fill_color='#3186cc'
|
||||
).add_to(carte)
|
||||
|
||||
#dereferencement des variables pour lever l'exception
|
||||
del latitude, longitude
|
||||
#changement d'image
|
||||
i = i + 1
|
||||
|
||||
#création du fichier HTML
|
||||
carte.save('ma_carte.html')
|
@ -1,99 +0,0 @@
|
||||
''' Programme de placement de tags images sur un fond OpenStreetMap
|
||||
On place des images géotaguées dans un répertoire
|
||||
Le programme en extrait les coordonnées GPS et la date
|
||||
Il crée des tags avec comme titre le nom des fichiers et la date
|
||||
et les place sur le fond de carte aux coordonnées GPS
|
||||
'''
|
||||
|
||||
#importation des module
|
||||
import os
|
||||
import folium
|
||||
import exifread
|
||||
|
||||
def lalatitude(ref,GPSLatitude):
|
||||
'''
|
||||
Convertit les coordonnées GPS EXIF en degrés à virgule flottante
|
||||
:param ref, GPSLatitude:
|
||||
:type ref: string, GPSLongitude: exifread.utils.Ratio
|
||||
:rtype: float
|
||||
num signifie numérateur et den dénominateur, car les données
|
||||
sont sous forme de fractions
|
||||
'''
|
||||
|
||||
d = GPSLatitude.values[0].num/GPSLatitude.values[0].den
|
||||
m = GPSLatitude.values[1].num/GPSLatitude.values[1].den
|
||||
s = GPSLatitude.values[2].num/GPSLatitude.values[2].den
|
||||
# print("Degrés : ",d," Minutes : ",m," Secondes : ",s)
|
||||
|
||||
if ref == 'N':
|
||||
latitude = d + (m / 60.) + (s / 3600.)
|
||||
elif ref == 'S':
|
||||
latitude = -1*(d + (m / 60.0) + (s / 3600.0))
|
||||
else:
|
||||
print('La latitude est fausse !')
|
||||
return latitude
|
||||
|
||||
def lalongitude(ref,GPSLongitude):
|
||||
'''
|
||||
Convertit les coordonnées GPS EXIF en degrés à virgule flottante
|
||||
:param ref, GPSLongitude:
|
||||
:type ref: string, GPSLongitude: exifread.utils.Ratio
|
||||
:rtype: float
|
||||
num signifie numérateur et den dénominateur, car les données
|
||||
sont sous forme de fractions
|
||||
'''
|
||||
|
||||
d = GPSLongitude.values[0].num/GPSLongitude.values[0].den
|
||||
m = GPSLongitude.values[1].num/GPSLongitude.values[1].den
|
||||
s = GPSLongitude.values[2].num/GPSLongitude.values[2].den
|
||||
# print("Degrés : ",d," Minutes : ",m," Secondes : ",s)
|
||||
|
||||
if ref == 'W':
|
||||
longitude = -1*(d + (m / 60.0) + (s / 3600.0))
|
||||
elif ref == 'E':
|
||||
longitude = d + (m / 60.0) + (s / 3600.0)
|
||||
else:
|
||||
print('La longitude est fausse !')
|
||||
return longitude
|
||||
|
||||
#--------------- Programme principal -----------------------#
|
||||
|
||||
description = "Test"
|
||||
# Ouverture du fichier csv en mode écriture
|
||||
lefichiercsv = open(r"Tags.csv", "w")
|
||||
lefichiercsv.write("name,description,Lat,Lon\n")
|
||||
# Ouverture de l'image en mode de lecture binaire
|
||||
path = './images/'
|
||||
fichiers=os.listdir(path)
|
||||
i = 0 #indice des images
|
||||
for nom in fichiers:
|
||||
print("{} : {}".format(i,nom))
|
||||
|
||||
adresseImage = "./images_reduites/"+nom
|
||||
titre = nom.split('.')[0]
|
||||
f = open(adresseImage, 'rb')
|
||||
|
||||
# Récupération des tags EXIF
|
||||
tags = exifread.process_file(f, details=False)
|
||||
|
||||
for tag in tags.keys():
|
||||
if tag in ('GPS GPSLatitudeRef','GPS GPSLatitude','GPS GPSLongitudeRef','GPS GPSLongitude','Image ImageDateTime'):
|
||||
latitude = lalatitude(tags['GPS GPSLatitudeRef'].values,tags['GPS GPSLatitude'])
|
||||
longitude = lalongitude(tags['GPS GPSLongitudeRef'].values,tags['GPS GPSLongitude'])
|
||||
date = tags['EXIF DateTimeOriginal']
|
||||
|
||||
try:
|
||||
print("Latitude : {}, longitude : {}, date : {}".format(latitude,
|
||||
longitude, date))
|
||||
except NameError:
|
||||
print('Fichier sans données GPS : ',nom)
|
||||
else:
|
||||
# création de la ligne du fichier csv
|
||||
# {{url_du_fichier}}, description, latitude, longitude et date
|
||||
#lefichiercsv.write("{{{{{}}}}}, {}, {}, {}, {}\n".format(nom,description, latitude,longitude, date))
|
||||
lefichiercsv.write("{},{} {{{{http://www.cvgg.org/MontRacine/HautGeneveysSagne/{}}}}},{},{}\n".format(nom,description, nom, latitude,longitude))
|
||||
#dereferencement des variables pour lever l'exception
|
||||
del latitude, longitude
|
||||
#changement d'image
|
||||
i = i + 1
|
||||
lefichiercsv.close()
|
@ -1,32 +0,0 @@
|
||||
import os (*@\label{creationcarteumap2:ligne:num1}@*)
|
||||
import exifread(*@\label{creationcarteumap2:ligne:num2}@*)
|
||||
from creation_carte_umap2_coord import *(*@\label{creationcarteumap2:ligne:num3}@*)
|
||||
|
||||
path = './images/'
|
||||
fichiers=os.listdir(path)
|
||||
description = "Description de l'image"
|
||||
|
||||
lefichiercsv = open(r"Tags.csv", "w")
|
||||
lefichiercsv.write("name,description,Lat,Lon\n")
|
||||
i = 0 #indice des images
|
||||
for nom in fichiers:
|
||||
adresseImage = "./images_reduites/"+nom
|
||||
titre = nom.split('.')[0]
|
||||
f = open(adresseImage, 'rb')
|
||||
tags = exifread.process_file(f, details=False)
|
||||
for tag in tags.keys():
|
||||
if tag in ('GPS GPSLatitudeRef','GPS GPSLatitude','GPS GPSLongitudeRef','GPS GPSLongitude','Image ImageDateTime'):
|
||||
latitude = lalatitude(tags['GPS GPSLatitudeRef'].values,tags['GPS GPSLatitude'])
|
||||
longitude = lalongitude(tags['GPS GPSLongitudeRef'].values,tags['GPS GPSLongitude'])
|
||||
date = tags['EXIF DateTimeOriginal']
|
||||
try:
|
||||
print("{} Fichier traité : {}, Latitude : {}, longitude : {}, date : {}"
|
||||
.format(i,nom,latitude,longitude, date))
|
||||
except NameError:
|
||||
print('Fichier sans données GPS : ',nom)
|
||||
else:
|
||||
lefichiercsv.write("{},{} {{{{http://urldelimagesanssonnom/{}}}}},{},{}\n"
|
||||
.format(nom,description, nom, latitude,longitude))
|
||||
del latitude, longitude
|
||||
i = i + 1
|
||||
lefichiercsv.close()
|
@ -1,22 +0,0 @@
|
||||
def lalatitude(ref,GPSLatitude):
|
||||
d = GPSLatitude.values[0].num/GPSLatitude.values[0].den
|
||||
m = GPSLatitude.values[1].num/GPSLatitude.values[1].den
|
||||
s = GPSLatitude.values[2].num/GPSLatitude.values[2].den
|
||||
if ref == 'N':
|
||||
latitude = d + (m / 60.0) + (s / 3600.0)
|
||||
elif ref == 'S':
|
||||
latitude = -1*(d + (m / 60.0) + (s / 3600.0))
|
||||
else:
|
||||
print('La latitude est fausse !')
|
||||
return latitude
|
||||
def lalongitude(ref,GPSLongitude):
|
||||
d = GPSLongitude.values[0].num/GPSLongitude.values[0].den
|
||||
m = GPSLongitude.values[1].num/GPSLongitude.values[1].den
|
||||
s = GPSLongitude.values[2].num/GPSLongitude.values[2].den
|
||||
if ref == 'W':
|
||||
longitude = -1*(d + (m / 60.0) + (s / 3600.0))
|
||||
elif ref == 'E':
|
||||
longitude = d + (m / 60.0) + (s / 3600.0)
|
||||
else:
|
||||
print('La longitude est fausse !')
|
||||
return longitude
|
@ -1,4 +1,3 @@
|
||||
% Encoding: UTF-8
|
||||
@Book{FA2019,
|
||||
author = {Aït-Touati, Frédérique and Arènes, Alexandra and Grégoire, Axelle},
|
||||
title = {Terra Forma, Manuel de cartographies potentielles},
|
||||
@ -93,18 +92,3 @@ author = {Allali, G.},
|
||||
title = {Apprendre QGIS par l'exemple},
|
||||
year = {2015}
|
||||
}
|
||||
|
||||
@incollection{LOW,
|
||||
author = {Casilli, A.},
|
||||
title = {L’automate et le tâcheron},
|
||||
booktitle = {Low tech : face au tout-numérique, se réapproprier les technologies},
|
||||
year = {2020},
|
||||
editor = {Ritimo}
|
||||
}
|
||||
|
||||
@online{Ballade,
|
||||
author = {Enseignants SNT du Lycée La Martinière Diderot à Lyon},
|
||||
title = {Création d'une balade de photos géolocalisées},
|
||||
url = {http://portail.lyc-la-martiniere-diderot.ac-lyon.fr/srv20/co/AA4_-_Creation_Balade.html},
|
||||
dateurl = {2021-02-28}
|
||||
}
|
||||
|
@ -1,4 +1,3 @@
|
||||
% Encoding: UTF-8
|
||||
@Book{FA2019,
|
||||
author = {Aït-Touati, Frédérique and Arènes, Alexandra and Grégoire, Axelle},
|
||||
title = {Terra Forma, Manuel de cartographies potentielles},
|
||||
@ -32,30 +31,22 @@ year = {2014},
|
||||
note = {Ouvrage libre publié sous licence CC By-SA 3.0}
|
||||
}
|
||||
|
||||
@Book{BR86,
|
||||
@Book{BRsd1,
|
||||
author = {Brunet, R},
|
||||
title = {La carte-modèle et les chorèmes},
|
||||
publisher = {Mappemonde},
|
||||
year = {1986},
|
||||
year = {sd},
|
||||
note = {86(4)}
|
||||
}
|
||||
|
||||
@Book{BR87,
|
||||
@Book{BRsd2,
|
||||
author = {Brunet, R},
|
||||
title = {La carte mode d'emploi},
|
||||
publisher = {Fayard/Reclus},
|
||||
year = {1987},
|
||||
title = {Le monde des cartes},
|
||||
publisher = {s.n.},
|
||||
year = {sd},
|
||||
note = {s.l.}
|
||||
}
|
||||
|
||||
@Book{BR93,
|
||||
author = {Brunet, R},
|
||||
title = {Les mots de la géographie},
|
||||
publisher = {Reclus - La Documentation française},
|
||||
year = {1993},
|
||||
note = {Montpellier/Paris}
|
||||
}
|
||||
|
||||
@Book{DDF92,
|
||||
author = {Durand-Dastès, F},
|
||||
title = {Les modèles en géographie},
|
||||
@ -79,27 +70,3 @@ publisher = {Armad Colin},
|
||||
year = {2000},
|
||||
note = {Paris}
|
||||
}
|
||||
|
||||
@Book{PD,
|
||||
author = {Poidevin, D.},
|
||||
title = {Manuel de cartographie},
|
||||
publisher = {Ellipses},
|
||||
year = {s.d.},
|
||||
note = {s.l.}
|
||||
}
|
||||
|
||||
@Book{GA15,
|
||||
author = {Allali, G.},
|
||||
title = {Apprendre QGIS par l'exemple},
|
||||
year = {2015}
|
||||
}
|
||||
|
||||
@incollection{LOW,
|
||||
author = {Casilli, A.},
|
||||
title = {L’automate et le tâcheron},
|
||||
booktitle = {Low tech : face au tout-numérique, se réapproprier les technologies},
|
||||
year = {2020},
|
||||
editor = {Ritimo}
|
||||
}
|
||||
|
||||
@Comment{jabref-meta: databaseType:biblatex;}
|
||||
|
@ -1,85 +0,0 @@
|
||||
<?xml version="1.0" standalone="yes"?>
|
||||
<!-- logreq request file -->
|
||||
<!-- logreq version 1.0 / dtd version 1.0 -->
|
||||
<!-- Do not edit this file! -->
|
||||
<!DOCTYPE requests [
|
||||
<!ELEMENT requests (internal | external)*>
|
||||
<!ELEMENT internal (generic, (provides | requires)*)>
|
||||
<!ELEMENT external (generic, cmdline?, input?, output?, (provides | requires)*)>
|
||||
<!ELEMENT cmdline (binary, (option | infile | outfile)*)>
|
||||
<!ELEMENT input (file)+>
|
||||
<!ELEMENT output (file)+>
|
||||
<!ELEMENT provides (file)+>
|
||||
<!ELEMENT requires (file)+>
|
||||
<!ELEMENT generic (#PCDATA)>
|
||||
<!ELEMENT binary (#PCDATA)>
|
||||
<!ELEMENT option (#PCDATA)>
|
||||
<!ELEMENT infile (#PCDATA)>
|
||||
<!ELEMENT outfile (#PCDATA)>
|
||||
<!ELEMENT file (#PCDATA)>
|
||||
<!ATTLIST requests
|
||||
version CDATA #REQUIRED
|
||||
>
|
||||
<!ATTLIST internal
|
||||
package CDATA #REQUIRED
|
||||
priority (9) #REQUIRED
|
||||
active (0 | 1) #REQUIRED
|
||||
>
|
||||
<!ATTLIST external
|
||||
package CDATA #REQUIRED
|
||||
priority (1 | 2 | 3 | 4 | 5 | 6 | 7 | 8) #REQUIRED
|
||||
active (0 | 1) #REQUIRED
|
||||
>
|
||||
<!ATTLIST provides
|
||||
type (static | dynamic | editable) #REQUIRED
|
||||
>
|
||||
<!ATTLIST requires
|
||||
type (static | dynamic | editable) #REQUIRED
|
||||
>
|
||||
<!ATTLIST file
|
||||
type CDATA #IMPLIED
|
||||
>
|
||||
]>
|
||||
<requests version="1.0">
|
||||
<internal package="biblatex" priority="9" active="0">
|
||||
<generic>latex</generic>
|
||||
<provides type="dynamic">
|
||||
<file>geographie-informatique.bcf</file>
|
||||
</provides>
|
||||
<requires type="dynamic">
|
||||
<file>geographie-informatique.bbl</file>
|
||||
</requires>
|
||||
<requires type="static">
|
||||
<file>blx-dm.def</file>
|
||||
<file>blx-compat.def</file>
|
||||
<file>biblatex.def</file>
|
||||
<file>standard.bbx</file>
|
||||
<file>numeric.bbx</file>
|
||||
<file>numeric.cbx</file>
|
||||
<file>biblatex.cfg</file>
|
||||
<file>french.lbx</file>
|
||||
</requires>
|
||||
</internal>
|
||||
<external package="biblatex" priority="5" active="0">
|
||||
<generic>biber</generic>
|
||||
<cmdline>
|
||||
<binary>biber</binary>
|
||||
<infile>geographie-informatique</infile>
|
||||
</cmdline>
|
||||
<input>
|
||||
<file>geographie-informatique.bcf</file>
|
||||
</input>
|
||||
<output>
|
||||
<file>geographie-informatique.bbl</file>
|
||||
</output>
|
||||
<provides type="dynamic">
|
||||
<file>geographie-informatique.bbl</file>
|
||||
</provides>
|
||||
<requires type="dynamic">
|
||||
<file>geographie-informatique.bcf</file>
|
||||
</requires>
|
||||
<requires type="editable">
|
||||
<file>geographie-informatique.bib</file>
|
||||
</requires>
|
||||
</external>
|
||||
</requests>
|
11979
images/ArbresEPO.eps
12889
images/AvecArbres.eps
2382
images/Canopee.eps
23014
images/CanopeeChxFds.eps
54507
images/Decalage.eps
6811
images/Europe.eps
10468
images/ExportParcs.eps
27703
images/Exporter.eps
@ -1,88 +0,0 @@
|
||||
%% Creator: Inkscape inkscape 0.92.4, www.inkscape.org
|
||||
%% PDF/EPS/PS + LaTeX output extension by Johan Engelen, 2010
|
||||
%% Accompanies image file 'KiosqueAMusiqueParcGallet.eps' (pdf, eps, ps)
|
||||
%%
|
||||
%% To include the image in your LaTeX document, write
|
||||
%% \input{<filename>.pdf_tex}
|
||||
%% instead of
|
||||
%% \includegraphics{<filename>.pdf}
|
||||
%% To scale the image, write
|
||||
%% \def\svgwidth{<desired width>}
|
||||
%% \input{<filename>.pdf_tex}
|
||||
%% instead of
|
||||
%% \includegraphics[width=<desired width>]{<filename>.pdf}
|
||||
%%
|
||||
%% Images with a different path to the parent latex file can
|
||||
%% be accessed with the `import' package (which may need to be
|
||||
%% installed) using
|
||||
%% \usepackage{import}
|
||||
%% in the preamble, and then including the image with
|
||||
%% \import{<path to file>}{<filename>.pdf_tex}
|
||||
%% Alternatively, one can specify
|
||||
%% \graphicspath{{<path to file>/}}
|
||||
%%
|
||||
%% For more information, please see info/svg-inkscape on CTAN:
|
||||
%% http://tug.ctan.org/tex-archive/info/svg-inkscape
|
||||
%%
|
||||
\begingroup%
|
||||
\makeatletter%
|
||||
\providecommand\color[2][]{%
|
||||
\errmessage{(Inkscape) Color is used for the text in Inkscape, but the package 'color.sty' is not loaded}%
|
||||
\renewcommand\color[2][]{}%
|
||||
}%
|
||||
\providecommand\transparent[1]{%
|
||||
\errmessage{(Inkscape) Transparency is used (non-zero) for the text in Inkscape, but the package 'transparent.sty' is not loaded}%
|
||||
\renewcommand\transparent[1]{}%
|
||||
}%
|
||||
\providecommand\rotatebox[2]{#2}%
|
||||
\newcommand*\fsize{\dimexpr\f@size pt\relax}%
|
||||
\newcommand*\lineheight[1]{\fontsize{\fsize}{#1\fsize}\selectfont}%
|
||||
\ifx\svgwidth\undefined%
|
||||
\setlength{\unitlength}{617.6328983bp}%
|
||||
\ifx\svgscale\undefined%
|
||||
\relax%
|
||||
\else%
|
||||
\setlength{\unitlength}{\unitlength * \real{\svgscale}}%
|
||||
\fi%
|
||||
\else%
|
||||
\setlength{\unitlength}{\svgwidth}%
|
||||
\fi%
|
||||
\global\let\svgwidth\undefined%
|
||||
\global\let\svgscale\undefined%
|
||||
\makeatother%
|
||||
\begin{picture}(1,0.75287429)%
|
||||
\lineheight{1}%
|
||||
\setlength\tabcolsep{0pt}%
|
||||
\put(0,0){\includegraphics[width=\unitlength]{KiosqueAMusiqueParcGallet.eps}}%
|
||||
\put(0.02328693,0.06475832){\color[rgb]{0,0,0}\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}47.09609\end{tabular}}}}%
|
||||
\put(0.02328693,0.16220603){\color[rgb]{0,0,0}\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}47.09610\end{tabular}}}}%
|
||||
\put(0.02328693,0.25803142){\color[rgb]{0,0,0}\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}47.09611\end{tabular}}}}%
|
||||
\put(0.02328693,0.35547912){\color[rgb]{0,0,0}\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}47.09612\end{tabular}}}}%
|
||||
\put(0.02328693,0.45130451){\color[rgb]{0,0,0}\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}47.09613\end{tabular}}}}%
|
||||
\put(0.02328693,0.54875222){\color[rgb]{0,0,0}\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}47.09614\end{tabular}}}}%
|
||||
\put(0.02328693,0.64457696){\color[rgb]{0,0,0}\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}47.09615\end{tabular}}}}%
|
||||
\put(0.02328693,0.74202547){\color[rgb]{0,0,0}\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}47.09616\end{tabular}}}}%
|
||||
\put(0.12154741,0.04039599){\color[rgb]{0,0,0}\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l} 0\end{tabular}}}}%
|
||||
\put(0.23036448,0.04039599){\color[rgb]{0,0,0}\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l} 50\end{tabular}}}}%
|
||||
\put(0.34080694,0.04039599){\color[rgb]{0,0,0}\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l} 100\end{tabular}}}}%
|
||||
\put(0.45774516,0.04039599){\color[rgb]{0,0,0}\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l} 150\end{tabular}}}}%
|
||||
\put(0.57468338,0.04039599){\color[rgb]{0,0,0}\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l} 200\end{tabular}}}}%
|
||||
\put(0.6916216,0.04039599){\color[rgb]{0,0,0}\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l} 250\end{tabular}}}}%
|
||||
\put(0.80855982,0.04039599){\color[rgb]{0,0,0}\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l} 300\end{tabular}}}}%
|
||||
\put(0.86459302,0.06475832){\color[rgb]{0,0,0}\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l} 6.82608\end{tabular}}}}%
|
||||
\put(0.86459302,0.13946926){\color[rgb]{0,0,0}\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l} 6.8261\end{tabular}}}}%
|
||||
\put(0.86459302,0.21580413){\color[rgb]{0,0,0}\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l} 6.82612\end{tabular}}}}%
|
||||
\put(0.86459302,0.29051345){\color[rgb]{0,0,0}\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l} 6.82614\end{tabular}}}}%
|
||||
\put(0.86459302,0.36522438){\color[rgb]{0,0,0}\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l} 6.82616\end{tabular}}}}%
|
||||
\put(0.86459302,0.44155925){\color[rgb]{0,0,0}\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l} 6.82618\end{tabular}}}}%
|
||||
\put(0.86459302,0.51627019){\color[rgb]{0,0,0}\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l} 6.8262\end{tabular}}}}%
|
||||
\put(0.86459302,0.5909795){\color[rgb]{0,0,0}\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l} 6.82622\end{tabular}}}}%
|
||||
\put(0.86459302,0.66731486){\color[rgb]{0,0,0}\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l} 6.82624\end{tabular}}}}%
|
||||
\put(0.86459302,0.74202547){\color[rgb]{0,0,0}\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l} 6.82626\end{tabular}}}}%
|
||||
\put(0.01110576,0.35304402){\color[rgb]{0,0,0}\rotatebox{90}{\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}Latitude (°)\end{tabular}}}}}%
|
||||
\put(0.99695948,0.34410993){\color[rgb]{0,0,0}\rotatebox{90}{\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}Longitude (°)\end{tabular}}}}}%
|
||||
\put(0.44393925,0.00304052){\color[rgb]{0,0,0}\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}Temps (s)\end{tabular}}}}%
|
||||
\put(0.68268912,0.71928741){\color[rgb]{0,0,0}\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}Latitude\end{tabular}}}}%
|
||||
\put(0.66482255,0.69492524){\color[rgb]{0,0,0}\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}Longitude\end{tabular}}}}%
|
||||
\end{picture}%
|
||||
\endgroup%
|
27791
images/ParcGalletHD.eps
3313
images/ParcSmart.eps
@ -1,84 +0,0 @@
|
||||
%% Creator: Inkscape inkscape 0.92.4, www.inkscape.org
|
||||
%% PDF/EPS/PS + LaTeX output extension by Johan Engelen, 2010
|
||||
%% Accompanies image file 'PouillerelGraphe2.eps' (pdf, eps, ps)
|
||||
%%
|
||||
%% To include the image in your LaTeX document, write
|
||||
%% \input{<filename>.pdf_tex}
|
||||
%% instead of
|
||||
%% \includegraphics{<filename>.pdf}
|
||||
%% To scale the image, write
|
||||
%% \def\svgwidth{<desired width>}
|
||||
%% \input{<filename>.pdf_tex}
|
||||
%% instead of
|
||||
%% \includegraphics[width=<desired width>]{<filename>.pdf}
|
||||
%%
|
||||
%% Images with a different path to the parent latex file can
|
||||
%% be accessed with the `import' package (which may need to be
|
||||
%% installed) using
|
||||
%% \usepackage{import}
|
||||
%% in the preamble, and then including the image with
|
||||
%% \import{<path to file>}{<filename>.pdf_tex}
|
||||
%% Alternatively, one can specify
|
||||
%% \graphicspath{{<path to file>/}}
|
||||
%%
|
||||
%% For more information, please see info/svg-inkscape on CTAN:
|
||||
%% http://tug.ctan.org/tex-archive/info/svg-inkscape
|
||||
%%
|
||||
\begingroup%
|
||||
\makeatletter%
|
||||
\providecommand\color[2][]{%
|
||||
\errmessage{(Inkscape) Color is used for the text in Inkscape, but the package 'color.sty' is not loaded}%
|
||||
\renewcommand\color[2][]{}%
|
||||
}%
|
||||
\providecommand\transparent[1]{%
|
||||
\errmessage{(Inkscape) Transparency is used (non-zero) for the text in Inkscape, but the package 'transparent.sty' is not loaded}%
|
||||
\renewcommand\transparent[1]{}%
|
||||
}%
|
||||
\providecommand\rotatebox[2]{#2}%
|
||||
\newcommand*\fsize{\dimexpr\f@size pt\relax}%
|
||||
\newcommand*\lineheight[1]{\fontsize{\fsize}{#1\fsize}\selectfont}%
|
||||
\ifx\svgwidth\undefined%
|
||||
\setlength{\unitlength}{617.6328983bp}%
|
||||
\ifx\svgscale\undefined%
|
||||
\relax%
|
||||
\else%
|
||||
\setlength{\unitlength}{\unitlength * \real{\svgscale}}%
|
||||
\fi%
|
||||
\else%
|
||||
\setlength{\unitlength}{\svgwidth}%
|
||||
\fi%
|
||||
\global\let\svgwidth\undefined%
|
||||
\global\let\svgscale\undefined%
|
||||
\makeatother%
|
||||
\begin{picture}(1,0.75287429)%
|
||||
\lineheight{1}%
|
||||
\setlength\tabcolsep{0pt}%
|
||||
\put(0,0){\includegraphics[width=\unitlength]{PouillerelGraphe2.eps}}%
|
||||
\put(0.02328693,0.06475832){\color[rgb]{0,0,0}\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}47.10899\end{tabular}}}}%
|
||||
\put(0.02328693,0.16220603){\color[rgb]{0,0,0}\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}47.10900\end{tabular}}}}%
|
||||
\put(0.02328693,0.25803142){\color[rgb]{0,0,0}\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}47.10901\end{tabular}}}}%
|
||||
\put(0.02328693,0.35547912){\color[rgb]{0,0,0}\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}47.10902\end{tabular}}}}%
|
||||
\put(0.02328693,0.45130451){\color[rgb]{0,0,0}\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}47.10903\end{tabular}}}}%
|
||||
\put(0.02328693,0.54875222){\color[rgb]{0,0,0}\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}47.10904\end{tabular}}}}%
|
||||
\put(0.02328693,0.64457696){\color[rgb]{0,0,0}\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}47.10905\end{tabular}}}}%
|
||||
\put(0.02328693,0.74202547){\color[rgb]{0,0,0}\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}47.10906\end{tabular}}}}%
|
||||
\put(0.12154741,0.04039599){\color[rgb]{0,0,0}\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l} 0\end{tabular}}}}%
|
||||
\put(0.24010973,0.04039599){\color[rgb]{0,0,0}\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l} 100\end{tabular}}}}%
|
||||
\put(0.37166503,0.04039599){\color[rgb]{0,0,0}\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l} 200\end{tabular}}}}%
|
||||
\put(0.50159639,0.04039599){\color[rgb]{0,0,0}\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l} 300\end{tabular}}}}%
|
||||
\put(0.63315168,0.04039599){\color[rgb]{0,0,0}\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l} 400\end{tabular}}}}%
|
||||
\put(0.76470698,0.04039599){\color[rgb]{0,0,0}\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l} 500\end{tabular}}}}%
|
||||
\put(0.86459302,0.06475832){\color[rgb]{0,0,0}\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l} 6.8001\end{tabular}}}}%
|
||||
\put(0.86459302,0.17682472){\color[rgb]{0,0,0}\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l} 6.80015\end{tabular}}}}%
|
||||
\put(0.86459302,0.29051345){\color[rgb]{0,0,0}\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l} 6.8002\end{tabular}}}}%
|
||||
\put(0.86459302,0.40257985){\color[rgb]{0,0,0}\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l} 6.80025\end{tabular}}}}%
|
||||
\put(0.86459302,0.51627019){\color[rgb]{0,0,0}\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l} 6.8003\end{tabular}}}}%
|
||||
\put(0.86459302,0.62833546){\color[rgb]{0,0,0}\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l} 6.80035\end{tabular}}}}%
|
||||
\put(0.86459302,0.74202547){\color[rgb]{0,0,0}\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l} 6.8004\end{tabular}}}}%
|
||||
\put(0.01110576,0.35304402){\color[rgb]{0,0,0}\rotatebox{90}{\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}Latitude (°)\end{tabular}}}}}%
|
||||
\put(0.99695948,0.34410993){\color[rgb]{0,0,0}\rotatebox{90}{\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}Longitude (°)\end{tabular}}}}}%
|
||||
\put(0.44393925,0.00304052){\color[rgb]{0,0,0}\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}Temps (s)\end{tabular}}}}%
|
||||
\put(0.68268912,0.71928741){\color[rgb]{0,0,0}\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}Latitude\end{tabular}}}}%
|
||||
\put(0.66482255,0.69492524){\color[rgb]{0,0,0}\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}Longitude\end{tabular}}}}%
|
||||
\end{picture}%
|
||||
\endgroup%
|
1890
images/QuickOSM.eps
11702
images/RondeQGIS.eps
Before Width: | Height: | Size: 259 KiB |
Before Width: | Height: | Size: 475 KiB |
Before Width: | Height: | Size: 260 KiB |
Before Width: | Height: | Size: 186 KiB |
Before Width: | Height: | Size: 97 KiB |
Before Width: | Height: | Size: 189 KiB |
Before Width: | Height: | Size: 125 KiB |
Before Width: | Height: | Size: 185 KiB |
Before Width: | Height: | Size: 123 KiB |