Nouveau datafacer GraphMLExport
qui permet d'exporter un ou plusieurs graphes dans un fichier au format GraphML. Ce format est reconnu par la majorité des logiciels d'affichage et de manipulation de graphes.
Nouveaux types de collections KeyMap2d, KeyMap3d et OrdKeyMap.
keySet()
et values()
renvoient les éléments dans l'ordre où ils ont été ajoutés.Shapefile : setCrs() cette nouvelle fonction permet d'indiquer un système de coordonnées cible avant d'utiliser la fonction append()
pour enregistrer des données en changeant de système de coordonnées.
csv
.jar
et ligne de commandeQuand on a exporté un modèle au format jar
, si ce modèle contient une définition de paramètres dans un bloc metadata {...}
il est possible de passer des valeurs pour ces paramètres sur la ligne commande.
Il faut respecter quelques contraintes :
metadata {...}
. Si le nombre de paramètres donnés sur la ligne de commande est différent, ce sont les valeurs par défaut qui seront utilisés.Boolean
, Byte
, Double
, Float
,Integer
, Long
, Short
, String
String
puis d'effectuer sois-même une conversion du paramètre dans un autre type dans le modèle Ocelet.Prenons un modèle Ocelet Mymodel.oclt
qui est écrit comme ceci :
metadata {
parameter Integer p1 {default 0}
parameter Double p2 {default 0.0}
parameter String p3 {default "rien"}
parameter Boolean p4 {default false}
}
scenario Mymodel {
println("Model Mymodel")
println("p1: "+p1)
println("p2: "+p2)
println("p3: "+p3)
println("p4: "+p4)
println("Done.")
}
que l'on a exporté en mymodel.jar
On peut l'exécuter sans paramètre :
> java -jar mymodel.jar
Model Mymodel
p1: 0
p2: 0.0
p3: rien
p4: false
Done.
On peut lui donner de nouvelles valeurs :
> java -jar mymodel.jar 42 3.14159 demo true
Model Mymodel
p1: 42
p2: 3.14159
p3: demo
p4: true
Done.
Si on veut fournir un texte contenant des espace pour p3 on ajoute des guillements :
> java -jar mymodel.jar 42 3.14159 "Eat at Joe's" true
Model Mymodel
p1: 42
p2: 3.14159
p3: Eat at Joe's
p4: true
Done.
Si on fait une erreur de typage sur un paramètre on obtient un message mais cela n'est pas bloquant :
> java -jar mymodel.jar douze 3.14159 "Eat at Joe's" true
Warning: could not convert the argument "douze" into an Integer value
for the parameter p1. The default value will be used instead.
Model Mymodel
p1: 0
p2: 3.14159
p3: Eat at Joe's
p4: true
Done.
Si on ne met pas le bon nombre de paramètres ils sont ignorés :
> java -jar mymodel.jar 42 3.14159 "Eat at Joe's" true 100
Model Mymodel
p1: 0
p2: 0.0
p3: rien
p4: false
Done.
Sur R on peut utiliser la fonction system()
qui permet d'exécuter une ligne de commande depuis un programme en R.
Il faut d'abord s'assurer que le modèle Ocelet pourra accéder aux dossiers dont il a besoin (le dossier data/
en particulier). Pour cela on peut par exemple placer le dossier d'exécution de R dans le dossier d'un modèle Ocelet (là où se trouvent le fichier .jar
et le dossier data/
). Pour indiquer le dossier de travail c'est la fonction setwd()
.
Par exemple cela donnerait quelque chose comme cela :
setwd("chemin/vers/mon/ocelet/workspace/MyModel")
system("java -jar mymodel.jar 42 3.14159 demo true")
Avec wait=FALSE
on peut lancer une exécution de manière asynchrone (le programme R n'attend pas qu'Ocelet ait fini pour continuer). Et avec paste()
on peut construire des commandes pour intégrer des variables dans les paramètres passés à Ocelet :
for (i in 1:8) {system(paste("java -jar mymodel.jar ",(i*50)," 3.14159 demo true"),wait=FALSE)}
Le principe est le même qu'avec R mais la fonction utilisée est différente:
subprocess.call("java -jar mymodel.jar 42 3.14159 demo true")
on peut y ajouter shell=true
pour exécuter la simulation dans un shell séparé:
subprocess.call("java -jar mymodel.jar 42 3.14159 demo true",shell=true)
Nouveautés :
Csvfile
, Shapefile
et Postgis
.DateTime
que l'on peut obtenir dans l'untié de son choix : heure, jour, mois, etc..jar
en passant des paramètres depuis une ligne de commande.Nous organisons une formation Simulation de dynamiques spatiales avec Ocelet du 17 au 21 juin à la Maison de la Télédétection à Montpellier.
Davantage de détails sont disponibles sur le site du Cirad
Nous organisons une formation Simulation de dynamiques spatiales avec Ocelet du 28 mai au 1er juin 2018 à Saint-Pierre sur l'île de La Réunion.
Objectifs
Analyser un processus de dynamique spatiale et le traduire en langage Ocelet Prendre en main de la plateforme de modélisation Apprendre le langage de modélisation Ocelet Produire des cartes animées dans QGis et Google Earth Modéliser certaines situations fréquemment rencontrées : diffusion spatiale, changement d’occupation du sol
Public
Chercheurs, ingénieurs, techniciens ayant des besoins en modélisation et simulation de dynamiques spatiales et paysagères.
Programme
Jour 1 (demi-journée ; lundi après-midi)
Jour 2 (mardi)
Jour 3 (mercredi)
Jour 4 (jeudi)
Prérequis
Avoir déjà manipulé un logiciel SIG (ArcView, ArcGIS, QGis, ..). Une première expérience d’un langage de programmation est préférable (n’importe quel langage, y compris R ou Matlab). Venir avec son propre ordinateur portable (linux, windows). Les logiciels utilisés pendant la formation seront fournis.
Si vous souhaitez participer, veuillez prendre contact rapidement avec l'équipe Ocelet. Voir la page contact.
Nous organisons une formation Simulation de dynamiques spatiales avec Ocelet du 12 au 16 février à la Maison de la Télédétection à Montpellier.
Davantage de détails sont disponibles sur le site du Cirad
Nous organisons une formation à l'usage d'Ocelet à Dakar (Sénégal) du 23 au 27 octobre 2017.
Si vous souhaitez participer, veuillez prendre contact rapidement avec l'équipe Ocelet. Voir la page contact.
Le 15 décembre 2015 à Montpellier, Mathieu Castets (UMR TETIS) a soutenu sa thèse intitulée : Pavages réguliers et modélisation des dynamiques spatiales à base de graphes d’interaction : conception, implémentation, application
Résumé
La modélisation et la simulation de dynamiques spatiales, en particulier pour l'étude de l'évolution de paysages ou de problématiques environnementales pose la question de l'intégration des différentes formes de représentation de l'espace au sein d'un même modèle. Parmi les différents outils existants de modélisation de dynamiques spatiales (Cormas, Dypal, Netlogo, Seles, GAMA, ...), Ocelet est un langage métier basé sur le concept original de graphe d'interaction. Ce type de graphe porte à la fois la structure d'une relation (qui peut être spatiale, fonctionnelle, hiérarchique, sociale, ..) entre entités d’un modèle et la sémantique décrivant son évolution. Les relations entre entités spatiales sont ici traduites en graphes d'interactions et ce sont ces graphes que l'on fait évoluer lors d'une simulation. S’il est communément admis que l'on peut modéliser l'espace soit par des formes aux contours définis (format vecteur), soit par une discrétisation en grille régulière (format raster), les concepts à la base d'Ocelet peuvent potentiellement manipuler ces deux formes de représentation. Le format vecteur est déjà intégré dans la première version d'Ocelet. L'intégration du format raster et la combinaison des deux restaient à étudier et à réaliser.
L'objectif de la thèse est d'abord étudier les problématiques liées à l'intégration des champs continus et leur représentation discrétisée en pavage régulier, à la fois dans le langage Ocelet et dans les concepts sur lesquels il repose. Il a fallu notamment prendre en compte les aspects dynamiques de cette intégration, et d'étudier les transitions entre données géographiques de différentes formes et graphe d'interactions à l'aide de concepts formalisés. Il s'est agi ensuite de réaliser l'implémentation de ces concepts dans la plateforme de modélisation Ocelet, en adaptant à la fois son compilateur et son moteur d'exécution. Enfin, ces nouveaux concepts et outils ont été mis à l'épreuve dans trois cas d'application très différents : deux modèles sur l’île de la Réunion, le premier simulant le ruissellement dans le bassin versant de la Ravine Saint Gilles s'écoulant vers la Côte Ouest de l'île, l’autre simulant la diffusion de plantes invasives dans les plaines des hauts à l'intérieur du Parc National de La Réunion. Le dernier cas décrit la spatialisation d'un modèle de culture et est appliqué ici pour simuler les rendements de cultures céréalières sur l’ensemble de l’Afrique de l’ouest, dans le contexte d'un système d'alerte précoce de suivi des cultures à l'échelle régionale.
Le 9 juillet 2015, Xavier Augusseau (UMR TETIS) a présenté : Des modèles et simulations spatio-temporelles comme "objets intermédiaires" pour mettre en débat l'étalement urbain à la Réunion
Le 52ème colloque de l'Association de Science Régionale de Langue Française (ASRDLF) a eu lieu du 7 au 9 juillet 2015 à Montpellier, France.
Xavier Augusseau (UMR TETIS) a eu l'occasion d'y présenter un aspect des travaux réalisés dans le cadre du projet DESCARTES (ANR 11-AGRO-002-01).
Le 5 mail 2015, dans le cadre des séminaires SEAS-OI, Pascal Degenne a effectué une présentation d'Ocelet intitulée : Modélisation et simulation de dynamiques spatiales et paysagères. Exemples de travaux réalisés avec Ocelet
Lieux :
Pôle SEAS-OI
40 avenue de Soweto,
97410 Saint Pierre,
Ile de La Réunion
Résumé de la présentation :
Ocelet est un langage métier dédié à la modélisation et la simulation de dynamiques spatiales développé à l'UMR TETIS. À travers le concept de graphe d'interactions, Ocelet permet l'intégration de processus spatiaux dans leur diversité de représentations. Cette intégration favorise une compréhension systémique et spatialisée des processus en jeux sur un territoire ou un paysage. Pascal a présenteé plusieurs exemples d'application donnant un aperçu de la diversité des problématiques que l'on peut aborder avec cet outil : dynamique d'évolution d'usage des sols, processus spatiaux de diffusion (d'une plante invasive, d'un pathogène ou d'un insecte ravageur dans son milieu), dynamique d'un trait de côte de mangrove, et quelques autres. Il a expliqué les concepts à la base du langage ocelet et la plateforme de modélisation qui a été développée autour de ce langage.