Quantcast
Channel: arcOrama
Viewing all 2021 articles
Browse latest View live

Introduction à Arcade (2/3)

$
0
0
Je poursuis aujourd'hui la seconde partie de mon article consacré au langage Arcade (voir la première partie ici). Je vous propose de voir plus concrètement des exemples d'utilisation d'expressions Arcade. Les exemples et les copies d'écrans sont issus de la visionneuse de cartes d'un portail ArcGIS mais les expressions peuvent également être définies à l'identique dans ArcGIS Pro, dans du code JavaScript ArcGIS ou dans du code ArcGIS Runtime.



Les contextes d'utilisation d'Arcade

Comme évoqué en introduction, dans sa version 1.0, Arcade est utilisable essentiellement dans les 3 contextes suivants:
  • Construire des expressions pour fournir les valeurs d'étiquetage des entités d'une couche
  • Construire des expressions pour fournir les valeurs de rendu d'une couche ou de variation d'un symbole (couleur, taille, orientation, ...)
  • Construire des expressions pour fournir les alias du curseur de plages de valeurs pour le filtrage des cartes dans ArcGIS Pro

Ces différents contextes sont appelés des "profils". Chaque profil supporte différents type de valeurs en entrée, variables globales et valeurs en sortie.
  
Utiliser Arcade pour l'étiquetage

Exemple 1:

Un premier usage intéressant d'Arcade consiste à créer des expressions pour calculer les valeurs de vos étiquettes. Plutôt que de pré-calculer dans un champ la valeur que vous souhaitez utiliser dans vos étiquettes, Arcade va vous permettre de spécifier une expression qui sera exécuter à la volée à partir des valeurs d'un ou plusieurs champs de la table attributaire de votre couche. 

Ci-dessous un premier exemple très simple pour mettre en majuscule chaque mot de l'étiquette. Prenons par exemple cette carte représentant des IRIS de l'INSEE avec, pour chacun, un nom d'IRIS stocké en majuscule dans la table attributaire.


En choisissant d'utiliser une expression Arcade, vous disposez d'une fonction Proper() directement exploitable pour transformer chaque mot de la chaine de caractères de telle sorte qu'il soit écrit en minuscule avec uniquement la première lettre en majuscule.


Vous noterez l'utilisation de la variable globale $Feature qui représente chaque entité de la couche. Ainsi $Feature.NAME permet d'accéder à la valeur du champ NAME de chaque entité. 


Une fois l'expression appliquée, elle peut à tout moment être modifiée. Par exemple, vous pouvez modifier le paramètre de la fonction Proper() pour n'afficher une majuscule que sur le premier mot de la chaine. On remplace le mot-clé everyword par firstword pour obtenir ce comportement.


Une fois l'expression validée, les étiquettes sont actualisées.


Les expressions Arcade étant évaluées dynamiquement, toute modification de valeur dans la table sera immédiatement répercutée dans la carte. 

Une fois la couche ou la carte enregistrée, les informations d'étiquetage sont accessibles dans toutes les applications supportant Arcade.

Exemple 2:

Un des avantages d'Arcade est d'offrir des fonctions simples et pratiques pour traiter des chaînes de caractères (extraction, substitution, conversion en listes d'éléments, ...). Dans l'exemple ci-dessous, chaque zone de forêt possède un code décrivant le type d'essence dominante. A l'aide de la fonction Decode(), vous pouvez rapidement associer chaque code à une description plus compréhensible que vous pouvez par exemple afficher sous forme d'étiquette.


On notera également l'utilisation de l'instruction return qui permet de préciser la variable contenant la valeur à retourner.



Exemple 3:

Arcade possède également de nombreuses autres fonctions pour manipuler les nombres, les chaines de caractères, les dates ou encore les géométries. Ci-dessous, un exemple permettant de calculer la part de personnes divorcées par rapport à la population de plus de 15 ans.


Vous noterez l'utilisation de variables, l'utilisation d'opérateur de calcul mathématique et la concaténation du résultat sur la dernière ligne. A tout moment, la liste des variables globales et la liste des fonctions sont disponibles à droite de l'interface. A noter également, en l'absence de l'instruction return, c'est la dernière chaîne de caractères créée qui est retournée par l'expression.



Utiliser Arcade pour le rendu de vos couches

Un autre usage important d'Arcade consiste à utiliser des expressions dynamiques, plutôt qu'un champ existant de la table attributaire, pour construire le rendu de votre couche. Par exemple, lorsque la valeur à représenter est le résultat d'un calcul entre plusieurs champs de la table, il sera beaucoup plus simple d'écrire une expression Arcade que de créer un nouveau champ pour stocker le résultat de ce calcul. De plus, les valeurs calculées par l'expression Arcade seront toujours à jour sans aucune intervention de votre part ce qui ne sera pas le cas pour un champ calculé.

Exemple 1:

Dans ce premier exemple, la problématique consiste à représenter la couche de mon réseau de magasins franchisés en affichant le chiffre d'affaire moyen sur les 3 années 2014, 2015 et 2016. Pour calculer ce chiffre d'affaire moyen à partir de mes 3 champs CA2014, CA2015 et CA2016, nous allons utiliser une expression Arcade pour faire ce calcul à la volée. Dans la fenêtre de définition du rendu de la couche, nous choisirons l'option "Nouvelle expression" afin de spécifier cette expression Arcade.

 
L'expression Arcade est très simple puisqu'il suffira d'utiliser la fonction Average().

  
En appliquant ensuite à votre couche un rendu par symboles proportionnels, vous obtenez la carte souhaitée. 

 
Exemple 2:

Dans ce second exemple, nous disposons des résultats du 1er tour des élections régionales 2015 pour la région Nord-Picardie. Pour chaque candidat, un champ contient le nombre de voix obtenues par ce candidat. L'objectif de la carte est de représenter, pour chaque commune, le parti du candidat majoritaire. 

L'expression Arcade va consister tout d'abord à récupérer le score majoritaire à partir des champs des scores des différents candidats en utilisant la fonction Max(). Ensuite, à partir de ce score majoritaire, on va retrouver l'index de ce score dans liste des scores des candidats à l'aide de la fonction IndexOf(). Cet index nous permet ensuite, à l'aide de la liste des différents partis, de retrouver à quel parti le score majoritaire correspond. Une fois le nom du parti retrouvé, il est renvoyé par l'expression Arcade.


Un rendu par symboles uniques est alors appliqué sur le nom du parti.


Exemple 3:
  
Dans ce troisième exemple, nous disposons d'un fichier météorologique avec une grille de points contenant des prévisions de vents. Fourni au format Grib, il ne contient pas directement les intensités et les directions des vents mais des composantes U et V (dx et dy du vecteur de vent). Il faut donc exploiter ces informations pour reconstruire le vecteur de vent (magnitude + orientation). Pour cela, nous pouvons utiliser des expressions Arcade.

 
Tout d'abord, commençons par construire un rendu par dégradé de couleur sur l'intensité du vent (magnitude du vecteur). Pour cela, dans la fenêtre de définition du rendu, nous choisirons l'option "Nouvelle expression" pour construire l'expression de calcul des intensités.


Après avoir choisi le symbole de base et les couleurs du dégradé, votre carte ressemblera à ceci:


Ensuite, il reste à orienter correctement les vecteurs de vent en utilisant l'option d'orientation des symboles. De nouveau, les valeurs d'orientation seront issues d'une expression Arcade. Dans les options de rendu, vous disposez d'une option permettant de faire pivoter les symboles. En activant cette option vous pourrez choisir un champ de la table ou une expression Arcade.


L'expression mathématique permettant de calculer l'orientation du vecteur de vent est la suivante.


En appliquant l'expression, les symboles de la couche des vents s'orientent correctement.



Exemple 4:

Dans ce dernier exemple, nous réalisons une cartographie des principales ville du monde avec des points proportionnels à leur population. Aux plus petites échelles, le nombre de villes à afficher est trop important.  On souhaite donc restreindre le nombre de villes visibles selon le niveau d'échelle. Une première approche serait de dupliquer la couche dans la carte et d'appliquer différents filtres pour différentes plages d'échelles. Avec Arcade, il y a un moyen plus simple pour restreindre l'affichage en utilisant une seule couche.


A l'aide de la variable globale $view.scale, votre expression Arcade peut connaître l'échelle courante et vous pouvez donc introduire des textes conditionnels et renvoyer les valeurs souhaitées selon l'échelle de la carte. Ainsi, dans l'expression suivante, lorsque l'échelle est inférieure à 1:1 500 000 (le dénominateur est supérieur à 1 500 000), nous renvoyons la valeur de population uniquement pour les villes dont la population est supérieure à 1 000 000 d'habitants, sinon nous renvoyons la valeur null. Si l'échelle est supérieure à 1:1 500 000, l'expression renvoie la valeur de la population pour toutes les entités, elles seront donc toutes visibles.


Après avoir appliqué l'expression Arcade, aux plus petites échelles, seules les villes de plus d'1 million d'habitants sont représentées.


Aux plus grandes échelles, toutes les villes sont représentées.




Dans la dernière partie de cet article d'introduction à Arcade, je reviendrai sur les caractéristiques du nouveau langage d'expressions d'ArcGIS ainsi que sur ses évolutions futures.
  


Introduction à Arcade (3/3)

$
0
0
Je termine aujourd'hui mon introduction au langage Arcade avec une troisième partie dans laquelle je vous propose d'évoquer les principales caractéristiques de ce nouveau langage d'expressions, sans toutefois aller trop dans les détails, la documentation en ligneétant faite pour cela. Pour terminer cette introduction, j'évoquerai l'importance d'Arcade et son future dans la plateforme ArcGIS.


 
Les caractéristiques du langage Arcade

Sans rentrer trop dans le détails,
Arcade est un langage simple qui permet par exemple de retourner implicitement une valeur à partir d'une seule line de code. Proche de JavaScript et de Python en terme de syntaxe, Arcade est en revanche insensible à la casse ce qui simplifie la manipulation des noms de champs et la mémorisation des instructions du langage.

La ligne suivante:


est équivalente à celle-ci:



Arcade repose sur le principe de retour implicite des valeurs. En l'absence d'instruction return, la dernière instruction renvoyant une valeur est considérée comme étant la valeur à renvoyer.

La ligne suivante:


est équivalente à celle-ci:




Arcade est également un langage riche qui propose plus de 70 fonctions pour le traitements des données, des dates, des textes, des géométries, et la réalisation d'opérations logiques ou mathématiques.


Comme beaucoup de langages, Arcade propose des types d'objets simples (Number, Boolean, Date, String) et des types d'objets plus avancés (Dictionary, Feature, Array, Point, Line, Polygon, Multipoint). Les constructeurs des objets ont  des constructeurs surchargés ce qui permet des instanciations simplifiées. Arcade propose un "casting" implicite des types pour les paramètres des fonctions et pour les expressions (calcul mathématique, concaténation de chaînes, ...). Des fonctions de "casting" sont également disponibles pour modifier explicitement le type d'un objet.

Exemple de "casting" implicite:

Exemple de "casting" explicite:


Comme tous les langages structurés, Arcade propose des instructions de tests conditionnels et de boucles. 

Pour réaliser un test conditionnel, vous utiliserez l'instruction classique  If...else... (avec la syntaxe de JavaScript) ou éventuellement les instructions IIF, Decode ou When pour des expressions rédigées sur une seule ligne.

Le test conditionnel suivant:


est équivalent à celui-ci:
  

Pour réaliser une boucle, vous utiliserez l'instruction classique For... (avec la syntaxe de JavaScript) pour itérer sur une série de valeur. 


Vous pourrez également utiliser le For...In pour itérer sur les éléments d'un tableau ou les noms de champs d'un dictionnaire ou d'une entité.


On notera que des instructions comme Break, Continue et Return sont supportées dans les boucles.

Le langage Arcade permet également l'écriture d'expressions plus évoluées et structurées en utilisant des fonctions. Ces dernières doivent être déclarées avec l'instruction Function... et doivent être déclarées avant d'être utilisées (plus en amont dans le code de votre expression).


Enfin, quelques mots sur l'utilisation des variables. Dans Arcade, les variables sont globales, sauf lorsqu'elles sont déclarées dans les fonctions où elles ont alors un scope local. Les variables se déclarent à l'aide de l'instruction var mais cette dernière est optionnelleL'assignement de valeur à une variable se fait comme dans la plupart des langages de scripting. Ci-dessous, quelques exemples de syntaxes courantes:


Le futur d'Arcade
 
Même si l'utilisateur n'y avait pas accès avant la version 10.5, Arcade est en réalité utilisé depuis plus d'un an dans le portail ArcGIS (Online et Enterprise) pour l'implémentation de certains rendus de SmartMapping introduit récemment dans les cartes web ArcGIS. Depuis la version 10.5 d'ArcGIS, vous pouvez utiliser ce nouveau langage pour créer des expressions d'étiquetage ou pour définir les valeurs associées aux symboles (taille, couleur, orientation ou transparence) de vos couches.


Dans les prochains mois, les nouvelles versions des applications ArcGIS supporteront les expressions Arcade dans les cartes web puis rapidement aussi dans les scènes web. On notera notamment l'implémentation complète d'Arcade (lecture, création et modification) des expressions Arcade. 

Mais au-delà des usages actuels, Esri envisage déjà l'utilisation d'Arcade dans d'autres contextes. 


Par exemple, à court terme, vous retrouverez la possibilité d'utiliser Arcade pour le calcul de valeurs de champs (dans la calculatrice d'ArcGIS Pro ou dans la visionneuse du portail par exemple). Bientôt, vous pourrez aussi utiliser Arcade dans la définition des contenus des fenêtres contextuelles (pop-ups) de vos cartes et scène web. 

Enfin, à moyen terme, Esri va introduire un nouveau système de règles attributaires au niveau de la Géodatabase pour permettre la définition de comportements dynamiques sur les valeurs des champs dans les tables (comme on le fait aujourd'hui avec l'outil "Attribute Assistant"). L'implémentation de ces règles attributaires reposera en grande partie sur le langage Arcade.
  
  
Conclusion

Arcade est une langage d'expression qui est complémentaire à Python qui, pour sa part, adresse les problématiques d'automatisation de tâches dans ArcGIS. Ce nouveau langage est déjà mature et va s'étendre sur le plan des contextes d'usage et sur le plan fonctionnel. C'est donc le moment de regarder Arcade d'un peu plus près et de commencer à découvrir la puissance et la simplification de workflow qu'il va vous apporter.
  

Le Samedi, c'est Map Story !

$
0
0

La France commémore ce week-end le centième anniversaire de la bataille du Chemin des Dames. Demain, dimanche 16 avril une veillée aura lieu à la nécropole nationale de Craonnelle où près de 2000 stèles seront illuminées de bleu. Craonne fut l’épicentre de l’hécatombe du Chemin des Dames, mais c'est l'ensemble du département de l'Aisne qui fut dévasté par la Grande Guerre. Aussi, à l’initiative du Conseil départemental, plus de 280 communes de l’Aisne s’associent à cette veillée du souvenir en organisant un moment de recueillement, dans toutes les communes, auprès du monument de leur choix. 

A l'occasion de cet événement, un nouveau site chemindesdames.fr a été mis en ligne avec plusieurs Story Maps ArcGIS réalisées par le Conseil Départemental. On y retrouve tout d'abord sur la page d'accueil une première cartographie interactive qui liste les sites d'intérêts et les informations utiles aux touristes souhaitant visiter le Chemin de Dames.


La seconde application permet de découvrir les communes participants à la grande veillée du souvenir du 16 avril.
  

Au cours de ce week-end du souvenir, les participants sont invités à partager leurs photos du monuments de recueil illuminé en bleu via cette application de crowdsourcing ArcGIS. En quelques clics, ils peuvent télécharger, commenter et localiser leur photo.


Vous découvrirez également les parcours des 2 marches organisées dimanche matin (marche des Sans casque et sans arme) et dimanche soir (marche des brancardiers). L'utilisation d'une application Web AppBuilder for ArcGIS en 3D permet d'appréhender le relief de chaque parcours.
  

Enfin, la dernière application proposée pour cette commémoration vous permettra de comparer des vues aériennes du site du Chemin des Dames entre 1917/1918 et aujourd'hui. Cette application basées sur le modèle Swipe d'ArcGIS Online révèle un paysage impressionnant ravagé par les tirs d'artillerie. 



En bref cette semaine...

$
0
0
Je renoue avec une vieille habitude un peu perdue ces derniers mois de vous proposer, presque chaque semaine, un résumé de l'actualité liée aux technologies et à la communauté des utilisateurs Esri. 


  • Le portail ArcGIS Online de la semaine: Communauté d'Agglomération Hérault Méditerranée.


      
  • Les amateurs de vélo qui utilisent les plateforme Strava ou Garmin peuvent désormais générer automatiquement et gratuitement une vidéo de leur parcours via l'application de Relive, une startup partenaire d'Esri aux Pays-Bas.

     
  • RTE publie une cartographie interactive de ses projets en utilisant des service web et une modèle d'application hébergés sur ArcGIS Online.


      
  • Insights for ArcGIS passe en version 1.2, l'article suivant (en anglais) décrit les évolutions de cette version mineure.


     
  • Vous pouvez désormais découvrir Insights for ArcGIS à partir de cette playlist de vidéos sur YouTube.


     
  • La ville de Montréal publie ses données de LIDAR aérien en Open Data sur ArcGIS Online et Web AppBuilder for ArcGIS.

       
  • Pour ravitailler la  station scientifique polaire Concordia, l’Institut Polaire Français Paul-Emile Victor (IPEV) organise chaque année sur la calotte polaire Antarctique, des convois successifs appelé RAID. L’expédition 2016 a été suivie par les satellites Pléiades et Airbus nous explique comment grâce à cette Story Map réalisée avec ArcGIS Online.


       
  • Si vous êtes un cartographe créatif, inspiré par la conception de Story Maps et que l'anglais ne vous freine pas, alors vous êtes prêt pour participer au concours Storytelling with Maps Contest !


       
  • Esri France poursuit sa croissance et recherche de nouveaux collaborateurs. N'hésitez pas à consulter la page des postes proposés par le leader mondial et française des Systèmes d'Information Géographique.


      

Bon dimanche...

Une solution de Réalité Virtuelle pour ArcGIS

$
0
0
J'évoque régulièrement sur ce blog les évolutions de la plateforme ArcGIS en terme de 3D. Avec l'arrivée de CityEngine, d'ArcGIS Pro et plus récemment des scènes web c'est aujourd'hui une plateforme complète qui permet la création, l'intégration, l'analyse et la visualisation de données géographiques 3D. La plateforme ArcGIS continue cependant d'évoluer en proposant de nouveaux modes de restitution de ces informations 3D en tirant profit des technologies disponibles.


C'est dans cette démarche que Lab Esri de Zurich à développé une nouvelle solution nommée ArcGIS 360 VR qui s'articule autour de l'application CityEngine et ArcGIS Online. Cette application permet de visualiser une scène 3D à l'aide d'un masque immersif en Réalité Virtuelle (VR). L'objectif est de pouvoir naviguer dans un environnement à 360° en se positionnant sur différents points de vue prédéfinis par l'auteur de la scène, et de vous permettre ainsi de découvrir plusieurs combinaisons de couches. Ces combinaisons de couches peuvent, par exemple, correspondre à une thématique particulière, à un filtrage sur des objets particuliers ou encore différents scenarii d'un projet.

La vidéo ci-dessous résume l'expérience de Réalité Virtuelle de l'application ArcGIS 360 VR.
  
  
Le workflow permettant de déployer des scènes en Réalité Virtuelle est très simple. L'auteur prépare sa scène 3D dans l'application CityEngine puis il exporte sa scène via un fichier 3VR. Ce dernier est ensuite publié sur votre portail ArcGIS Online. L'application ArcGIS 360 VR (qui s'exécute sur le smartphone de votre masque) se connecte à votre portail ArcGIS Online et vous propose les différentes scènes disponibles.
  
  
Préparation et publication d'une scène pour ArcGIS 360 VR

La première étape consiste à préparer la scènes 3D que vous souhaitez proposer en Réalité Virtuelle. Pour cela, à l'aide de CityEngine, vous utiliserez les outils que vous connaissez déjà pour importer vos données 3D (Géodatabases, Shapefiles, obj, fbx, kml/kmz, dae, osm, ...) ou générer vos modèles 3D à l'aide du moteur de règle de l'application.

Une fois les couches organisées dans votre scène, vous devrez définir les points de vue que vous voulez offrir à l'utilisateur final. Pour cela, vous préparerez des géosignets (bookmarks) dans votre scène.


Une fois la scène configurée, vous devrez l'exporter en tant que fichier 3VR à l'aide de la commande "File > Export 360 VR Experience". Au moment de l'export, on vous demandera de définir les différents scenarii. Il s'agit de combinaisons de couches à rendre visible ou invisible pour offrir un contexte de visualisation à l'utilisation. Il peut s'agir d'une thématique particulière (ex: afficher les couches liées aux réseaux et cables d'un bâtiment), d'un filtrage sur un groupe d'objets spécifiques (ex: isoler un projet du reste de son environnement) ou encore de différentes propositions pour un projet d'aménagement.

  
Une fois l'export réalisé, un fichier 3VR est généré. Ce fichier contient les panoramas 360° de chacun des points de vue. 
    
  
L'étape suivante consiste tout simplement à télécharger le fichier 3VR dans les contenus de votre portail ArcGIS Online. Il apparait alors en tant qu'élément de type "360 VR Experience" et peut être ouvert par l'application ArcGIS 360 VR. 
   

A l'aide de son casque (Samsung Gear VR) et de l'application ArcGIS 360 VR, l'utilisateur final peut accéder à la scène 3D, parcourir les différents points de vue et afficher les scenarii. Ci-dessous, une capture vidéo reconstituant la vision binoculaire et l'interface d'ArcGIS 360 VR sur le projet CityEngine utilisé ci-dessus pour cet article.


ArcGIS 360 VR n'est pour l'instant pas un produit officiel de la plateforme ArcGIS, il s'agit d'une application gratuite mise à disposition des utilisateurs de CityEngine. Si l'utilisateur souhaite accéder à des contenus privés (non-publics) alors il doit se connecter avec un utilisateur nommé (niveau 1 ou 2) au portail ArcGIS Online de son organisation. Pour l'instant, l'application est encore en version beta et vous pouvez rejoindre le programme de test à partir de cette page
 
  
Questions supplémentaires

En complément, je vous propose une série de questions/réponses qui devrait vous permettre de mieux comprendre la stratégie d'Esri concernant ArcGIs 360 VR et la Réalité Virtuelle. 

Comment installer ArcGIS 360 VR sur mon smartphone Android?

Vous pouvez installer l'application ArcGIS 360 VR uniquement via l'application Oculus. Depuis l'app store Oculus, vous pouvez utiliser le code promo envoyé par Esri pour accéder au téléchargement d'ArcGIS 360 VR pour l'installer sur votre smartphone. L'accès à l'app store Oculus est conditionné par l'installation du smartphone dans un casque Samsung Gear VR.

Est-ce qu'ArcGIS 360 VR est disponible sur d'autres plateformes telles que Rift, Vive, Daydream ou le Cardboard ?

Pour l'instant seule la solution Samsung Gear VR est prise en charge. Le support d'autres plateformes de Réalité Virtuelle est en cours d'étude. A noter que les plateforme de type Room-Scale comme Rift ou Vive ne sont pas des technologies de type 360 VR et ne peuvent être la cible pour ArcGIS 360 VR. Voir les questions suivantes relatives à 6DOF VR.

Quel est l'avantage de solution 360 VR mobiles comparées aux solution Room-Scale ?

Les solutions 360 VR mobiles ne requièrent qu'un simple smartphone couplé à un casque optique sans fil (généralement très peu onéreux) pour reconstituer une vue stéréoscopique de haute-qualité à partir de panoramas 360° formés par des collections d'images. C'est la technologie utilisée par ArcGIS 360 VR. Les solutions Room-Scale permettre une navigation libre dans toutes les directions et reposent sur des ordinateurs à haute-performance graphique reliés par des fils mais permettent de reconstituer une sensation de réalité encore plus fidèle.

Puis-je utiliser ArcGIS 360 en mode offline ?

Oui, une fois que votre scènes 3D a été chargée par ArcGIS 360 VR sur le smartphone, vous pouvez le déconnecter.

Puis-je marcher/avancer librement dans mon expérience 360 VR ?

Non, les scènes 3D d'ArcGIS 360 VR sont similaires à un "street-view". Vous pouvez regarder à 360° dans toutes les directions depuis votre points de vue et ensuite vous téléporter sur d'autres points de vue. Plusieurs raisons explique ce fonctionnement:
- la plupart des casques de Réalité Virtuel ne supportent pas la Réalité Virtuelle de type Room-Scale car ils ne sont pas capable de détecter les mouvements.
- le mouvement cause souvent des désagréments dans l'expérience lorsqu'il est géré par un contrôleur externe (type X-box)
- les architectes et les urbanistes préfèrent généralement les points de vue statiques qui offre une expérience plus simple, plus collaborative et plus précise.

Puis-je me téléporter de mon point de vue courant jusqu'au suivant ?

Oui, c'est le principe de navigation avec ArcGIS 360 VR. Vous pouvez le faire en cliquant sur les symboles de caméra qui se trouvent dans la scène ou à l'aide du menu proposant des imagettes pour chaque point de vue. Simple et intuitif.

Pourquoi créer une expérience 360 VR quand je ne peux pas créer de parcours libre ?

Pour la simplicité. En effet, créer une expérience VR 6DOF (6 Degrees Of Freedom) reste quelque chose de complexe à mettre en oeuvre et requiert une expertise importantes en outils 3D pour définir les parcours possibles, des simplifications et optimisations de données, du rendu en temps-réel et des configurations graphiques importantes. L'inspiration majeure d'ArcGIS 360 VR est de permettre une publication de scènes 3D en quelques clics.

Est-ce qu'Esri travaille sur une solution de VR avec parcours libres ?

L'expérience de VR basée sur des images 360° est simple, rapide, fiable et n'a pas véritablement de limites de capacité. C'est donc la technologie idéale pour les cas d'usages en aménagement, urbanisme et géodesign. Cependant, Esri poursuit ses travaux de R&D pour travailler sur des technologies de véritable 3D pour la Réalité Virtuelle et la Réalité Augmentée.

Est-ce que le format 3VR est un nouveau format Esri ?

Oui, Esri a introduit ce format 3VR (360 VR Experience) parce qu'il n'y avait pas de format similaire en place sur le marché supportant cette notion de panorama 360° couplé à des scenarii d'affichage. Basiquement, il s'agit d'un fichier ZIP contenant une description JSON et des images JPEG. Actuellement, seuls les cartographies par cubes standardisés sont supportés, mais d'autres type de panorama seront supportés dans le future. 

Puis-je visualiser un fichier 3VR uniquement avec un casque ?

Oui pour l'instant. Esri travaille au support d'autres plateformes comme les navigateurs avec le développement d'une visionneuse de panorama. Toutefois, la cible première du format 3VR est l'environnement immersif des casque de Réalité Virtuelle.

Est-ce que les fichiers 3VR pourront contenir des photos panoramiques ?

Oui, Esri travaille sur des workflow permettant ce type d'intégration de photos 306° existantes.

Est-ce que CityEngine est le seul outil pour publier des fichiers 3VR ?

Oui, pour l'instant seul CityEngine offre cette capacité en standard. La simplicité du format et de la structure de rendu par cubes devraient permettre une implémentation dans d'autres apps ArcGIS.


Autres ressources

Si le sujet de la Réalité Virtuelle (et de la Réalité Augmentée) autour de la plateforme ArcGIS vous intéresse, je vous recommande cette récente session technique du Developer Summit Esri de mars 2017.

Le Samedi, c'est Map Story !

$
0
0
L'objectif d'une narration cartographique est de pouvoir raconter une histoire en s'appuyant, entre autres, sur des supports cartographiques. Les modèles de Story Map d'ArcGIS peuvent également avoir une finalité plus simple d'apporter directement une information pratique sur notre vie quotidienne. C'est l'usage qu'en fait par exemple la Ville de Paris avec 2 exemples d'applications publiées récemment sur le site web Paris.fr (dans cette page et dans cette page).

La première application permet de découvrir les projets urbains et les projets d'équipements publics pour les années à venir. Une première carte localise l'ensemble des projets de la capitale puis des onglets thématiques (aménagement, Paris et La Seine, Transports et projets liés au Grand-Paris, Equipements publics). Construite à partir du modèle Story Map Series, l'application a été légèrement personnalisée à partir du code source du template fourni par Esri.  

  
La seconde application permet de découvrir la carte scolaire et de connaître l'école maternelle, l'école primaire ou le collège dont vous dépendez en fonction de votre lieu d'habitation. Les 3 onglets principaux permettent de choisir le type d'établissement et les onglets secondaires permettent de choisir l'année scolaire 2016-2017 ou 2017-2018. Construite elle aussi à partir du modèle Story Map Series, l'application a été légèrement personnalisée à partir du code source du template fourni par Esri. On notera que l'on a imbriqué une Story Map Series dans chaque onglet de la Story Map Series principal, une bonne astuce pour avoir cette notion d'onglet principaux et secondaires sans aucun développement. 
   
  

FranceRaster® 2017 est disponible !

$
0
0

Depuis quelques jours maintenant, une nouvelle édition 2017 de FranceRaster® est disponible pour les utilisateurs d'ArcGIS ou d'autres solutions logiciels de SIG ou de cartographie. Pour mémoire, FranceRaster® est une collection de fonds cartographiques sur 13 niveaux d'échelles (du 1/1250 au 1/8 000 000) avec une charte graphique homogène sur toutes ces échelles et sur l'ensemble du territoire français. Chaque échelle constitue une couche image livrée sour la forme de dalles géoréférencées (ou sous la forme d'un service web multi-échelle tuilé). FranceRaster® est fourni en Lambert 93 pour la métropole et en UTM dans les DOM. La charte graphique de FranceRaster® est spécialement conçue pour permettre la superposition de données métiers et pour afficher les informations toponymiques et topographiques en cohérence avec chaque niveau d'échelle.
  
Coédition en Esri France et l'IGN, FranceRaster® est le fruit d'une longue expérience démarrée en 2002 mais conserve le principe initial d'être réalisé à partir des produits commerciaux de l'IGN (BD Topo, BD Alti, BD Parcellaire, BD Adresse, ...) désormais réunis dans la BD UNI de l'IGN. 

Un des avantages de la BD UNI de l'IGN est de permettre l'accélération du processus de mise à jour et pouvoir proposer une mise à jour désormais annuelle. En effet, une des deux mises à jours de la BD UNI ayant lieu chaque mois de septembre de l’année N-1, un nouveau produit FranceRaster® sera disponible chaque mois de janvier de l’année N et se nommera FranceRaster® "N".  



Les nouveautés de FranceRaster® 2017

Comme le montre l'historique de ce fond de carte de référence, FranceRaster® est produit vivant qui évolue en fonction des retours des utilisateurs mais aussi en fonction des capacités technologiques d'ArcGIS. Les principales nouveautés de cette édition 2017 sont les suivantes:

  • FranceRaster® est toujours disponible sous la forme de tuiles d'images au format JPEG2000 (2 To) ou au format de cache ArcGIS Server en PNG32 (750 Go) mais également, désormais, sous la forme de tuiles vectorielles. Les services (ou packages) de tuiles vectorielles permettent aux utilisateurs de modifier les types d'entités visibles dans le fond de carte mais également leur représentation cartographique (couleur, symbole, transparence,...) pour obtenir un fond de carte totalement personnalisé. Les tuiles vectorielles permettent également d'obtenir une qualité optimum d'affichage sur des écrans haute résolution notamment les appareils mobiles.
      
  • FranceRaster® propose les contenus de la version 5 avec les données actualisées de septembre 2016 et des contenus supplémentaires comme la densification du réseau de chemins/sentiers présents dans les Scans IGN© et les points côtés IGN©. Cette nouvelle édition intègre désormais des toponymes avec caractères accentués aux grandes échelles. FranceRaster® 2017 introduit également de nouvelles thématiques comme les échangeurs routiers, les points d'intérêt, la gestion des eaux... On notera également l'introduction du parcellaire cadastral à l'échelle 1/1250. D'autres enrichissements importants ont été apportés aux moyennes et petites échelles.


     
  • Les éditions de FranceRaster® seront désormais produites plus rapidement et donc disponibles à partir de données plus récentes. D'autre part, on notera des mises à jour plus fréquentes (un millésime chaque début d'année).
     
  • FranceRaster® propose une nouvelle charte graphique à toutes les échelles. Plus moderne, elle est basée sur des couleurs plus douces et cohérentes, des pictogrammes plus génériques, une meilleure progressivité dans l'ajout des détails échelle après échelle, le choix de polices plus lisibles ou encore l'ajout de tous les bâtiments à partir du 10 000ème.


Plutôt que de vous proposer un détail de chaque niveau d'échelle, vous pouvez les découvrir sur la carte web ci-dessous (l'extrait porte uniquement sur la zone de Nice).


Pour vous permettre d'apprécier les évolutions en la précédente version (V5) et la nouvelle édition 2017, vous pouvez naviguer et balayer le curseur de l'application ci-dessous (l'extrait porte uniquement sur la zone de Nice).
   


Pour plus d'informations sur FranceRaster® 2017, vous pouvez consulter cette page du site web d'EsriFrance.

Le Samedi, c'est Map Story !

$
0
0
Difficile cette semaine, de passer à coté de l'actualité des élections présidentielles en France avec les résultats du premier tour lundi dernier et la campagne qui a repris de plus belle avant le deuxième tour. C'est donc une narration cartographique consacrée aux élections présidentielles 2017 que je vous propose aujourd'hui. 


Réalisée par Paul Rocchesani, stagiaire chez Esri France, cette Story Map présente une série de cartes web interactives reprenant les résultats (assez marquants d'un point de vue géographique) des votes du premier tour des élections par département et par communes en France métropolitaine. 


L'application réalise ensuite un cadrage particulier sur le département du Nord, territoire très contrasté entre les zones urbaines, péri-urbaines et rurales. Une série de cartes comparées permettent de voir ces contrastes pour les 4 principaux candidats. La narration réalise ensuite un focus très local sur l'agglomération de Tourcoing. 

  
D'un point de vue technique, ces cartes ont été réalisées à l'aide d'ArcGIS Pro (notamment pour l'intégration et la manipulation des fichiers de résultats) puis publiées sur ArcGIS Online. La narration cartographique a été configurée à l'aide du modèle de Story Map Cascade d'ArcGIS Online. 

L'usage des modèles de Story Map ou du générateur d'applications web d'ArcGIS Online peut vous permettre de présenter rapidement des résultats d'élections mais aussi d'autres communications autour du sujet electoral. Par exemple, ArcGIS Online vous permettra facilement de proposer une application de localisation des bureaux de vote. N"hésitez pas à consulter cet article du blog arcOpole pour en savoir plus.

En bref cette semaine...

$
0
0
Comme presque chaque semaine, je vous propose quelques brèves concernant l'actualité des technologies et de la communauté des utilisateurs Esri. 


  • La carte ArcGIS Online de la semaine est une application réalisée par la communauté d'agglomération de Plaine-Vallée qui permet au citoyen de retrouver, à partir de sa géolocalisation courante ou de son adresse, les bibliothèques les plus proches. L'application est basée sur le modèle d'application "Perspective locale" d'ArcGIS Online.


       
  • Le site Paris.fr publie les résultats du premier tour des élections présidentielles à l'aide d'ArcGIS Online.
     

      
  • Esri propose une nouvelle version de son application Landsat Explorer permettant l'exploration et l'analyse en ligne des 500 000 scènes Landsat 8 et GLS mises à disposition gratuitement sur la plateforme ArcGIS Online. Au delà de l'affichage par combinaison de bandes, de nouveaux outils d'analyse (basés sur des services web ArcGIS Image Server) permettent désormais de faire des calculs de détections de changement , de générer des profils spectraux et temporaux, de créer des masques d'analyse, de réaliser des classifications automatiques, ...


      
  • L'APUR (Atelier Parisien d'URbanisme) met à jour son site web Open Data avec la nouvelle version 2.0 d'ArcGIS Open Data.


     
  • Esri France était partenaire de la journée de restitution du projet Open Data Locale organisée par OpenData France. Ce fut l'occasion de présenter les nouveautés de la version 2.0 d'ArcGIS Open Data, la solution gratuite de diffusion de sites Open Data pour les utilisateurs de la plateforme ArcGIS.


      
  • Beau succès pour les 2 premières étapes des rencontres arcOpole 2017, un programme et une communauté qui continue de se développer avec le soutien d'Esri France et de son partenaire Geomap-Imagis. Les sujets cette année: l'actualité d'arcOpole Builder, arcOpole PRO Intervention, arcOpole PRO Autorisation et Arrêté de Voirie,...

       
  • Esri France nous dévoile cette semaine le nom du grand témoin de la conférence SIG2017, découvrez-le sur cette page.

     https://sig2017.esrifrance.fr/KNS-SIG-2017.aspx
       
Bon lundi...

Une mise à jour majeure 2.0 pour Survey123 for ArcGIS

$
0
0
  
En fin de semaine dernière, Esri a déployé la version 2.0 de Survey123 for ArcGIS, la solution de génération de formulaires pour la collecte de données par des utilisateurs sédentaires ou mobiles.

  • Le site survey123.arcgis.com a été mis à jour.
  • L'application Survey123 Connect (si vous l'utilisez pour créer vos formulaires) a été mise à jour en version 2.0.35, elle peut être téléchargée depuis cette page.
  • L'application mobile Survey123 est disponible les app stores Google Play, iTunes, Amazon et sur cette page pour toutes les autres plateformes (Windows, Mac, Ubuntu Linux).

Il s'agit d'une version majeure qui introduit de nombreuses nouveautés et améliorations que je vous propose de résumer dans cet article.
  
  
Améliorations du Designer Web

Le Designer Web (accessible depuis survey123.arcgis.com) est la manière la plus simple de configurer un formulaire, de le déployer et même de visualiser et d'analyser les données collectées. 

L'interface du Designer Web est maintenant disponible dans les différentes langues d'ArcGIS dont le français. On notera également que la documentation de Survey123 for ArcGIS est également disponible dans ces différentes langues.
  
  
Désormais, vous aurez désormais la possibilité de modifier un formulaire après l'avoir publié et partagé (si il a été créé avec le Designer Web) pour ajouter, supprimer ou modifier des questions. Ces modifications peuvent se faire à tout moment, y compris lorsque des données ont déjà été collectées. Dans ce cas, aucune donnée du service d'entités n'est perdue.


Un nouveau type de question nommé "Evaluation" a été ajouté dans cette version 2.0. Il permet à l'utilisateur de répondre à une question en sélectionnant un niveau de satisfaction. Le nombre de niveaux et le rendu (par icônes ou étiquettes) est configuré par l'auteur.

  
Les questions de type "Evaluation" peuvent également être modélisées en XLSForms avec Survey123 Connect  en utilisant un "select_one" d'apparence "likert".
  
  
Améliorations de Survey123 et de Survey123 Connect

La version 2.0 permet désormais de se connecter à un portail ArcGIS on-premise (Portal for ArcGIS) configuré pour utiliser une Authentification Windows Intégrée (IWA). Cela permet notamment, si vous utilisez l'application Survey123 ou Survey123 Connect sur un poste Windows, de bénéficier du mécanisme SSO (Single Sign On).

Groupes de questions

A chaque nouvelle version de l'application Survey123, des améliorations sont apportées pour faciliter la saisie de données via les formulaires. C'est le cas, par exemple, avec les groupes de questions qui permettent de simplifier l'apparence des longs formulaires. Ainsi, il est désormais possible de replier par défaut ces groupes de questions pour une meilleure lisibilité des formulaires composés d'un grand nombre de contrôles. La vidéo ci-dessous (en anglais) illustre cette nouvelle capacité.


   
Page de téléchargement des formulaires

Lors du téléchargement d'une enquêtes (formulaire), vous pouvez maintenant trier la liste par date ou par ordre alphabétique.
  

Désormais, la liste propose à l'utilisateur les enquêtes publiques à condition qu'elles aient été publiées auprès de votre organisation ArcGIS. Pour les autres enquêtes publiques, elles sont généralement diffusées via une URL qu'il suffit d'ouvrir depuis votre appareil mobile.


Dossiers

L'application Survey123 utilise dorénavant des dossiers "Brouillon", "Boîte d'envoi" et "Envoyé" pour enregistrer et transmettre les données des réponses aux enquêtes.

  • Les enquêtes incomplètes sont enregistrées dans le répertoire "Brouillon"
  • Les enquêtes prêtes à être envoyées sont enregistrées dans le dossiers "Boîte d'envoi"
  • Les enquêtes déjà soumises sont conservées localement dans un dossier "Envoyé", notamment pour permettre la modifications ultérieure de certaines données de l'enquête
     

Les listes des enquêtes de chacun de ces dossiers peuvent maintenant être triées par date ou par ordre alphabétique. Une zone de recherche permet de les filtrer rapidement et une option carte permet de visualiser la localisation des différentes enquêtes (si le ces dernières propose une donnée de localisation). La vidéo ci-dessous illustre l'affichage des listes ainsi que les capacités de recherche et de cartographie.
  
 

Mettre à jour des données d'enquêtes déjà soumises

Il s'agit là probablement d'une des demandes les plus récurrentes depuis l'apparition de Survey123 for ArcGIS il y a moins d'un an. Désormais, les utilisateur peuvent modifier les données d'une enquête déjà validée et envoyée. A l'aide du dossier "Envoyé", vous pouvez réouvrir une enquête et modifier vos réponses avant de le re-soumettre à nouveau. Le service d'entités est alors mis à jour en conséquence.


On notera que cette nouvelle capacité est disponible à partir de la version 2.0 de Survey123 mais elle s'applique à des formulaires (enquêtes) conçus avec les versions 1.x dès lors que le service d'entités associé a bien l'option "Mise à jour" activée.


Notion de "Boîte de réception"

La version 2.0 de Survey123 permet de modifier les données des enquêtes que vous avez déjà soumises. Plus intéressant encore, il devient désormais possible de modifier des données existantes dans le service d'entités même si elles ont été collectées par autre utilisateur ou via une autre application que Survey123. Ceci est possible grâce à la nouvelle notion de "Boite de réception" de l'application Survey123 et si l'auteur du formulaire a activé cette capacité.


La vidéo ci-dessous explique brièvement comment fonctionne la mise à jour de données existante à l'aide de cette notion de "Boite de réception".
  
 
Cette capacité est activable uniquement avec l'application de conception Survey123 Connect. L'auteur du formulaire peut spécifier une requête de filtrage qui déterminera les enquêtes à faire remonter à l'utilisateur dans sa boîte de reception. Ceci permet de mettre en place des workflow assez évolués comme la création d'entités par une application tiers (ArcGIS Pro, Web AppBuilder, ...) et une mise à jour des informations associées via un formulaire Survey123.

Par exemple, vous pouvez définir une requête de type "STATUT_INSPECTION = 'Non vérifiée'" pour envoyer uniquement les entités en "Non vérifiée" dans la boîte de reception des utilisateurs.


On notera quelques limitations dans la version actuelle (qui seront levée dans le futur):

  • La notion de boîte de réception ne fonctionne pas sur les formulaire contenant des répétitions.
  • La notion de boîte de réception n'est pas supportée avec une connexion à un service d'entités hébergé sur Portal for ArcGIS et contenant un mixte de majuscules/minuscules dans le nom des champs.
  • Le nombre maximum d'entités retournées dans la boîte de réception est limité au nombre maximum d'enregistrements configurés dans le service d'entités (par défaut 1000 entités).
  • Les questions ayant les propriétés "read-only" ou "hidden" ne seront pas affichées dans les données des enquêtes de la boîte de réception.
  • Les pièces jointes (photos, signatures) ne sont pas affichées dans la boîte de reception.
   

Survey123 pour les développeurs

Le code source de l'application Survey123 est disponible pour les développeurs disposant de la solution AppStudio for ArcGIS, il a été mis à jour en version 2.0.
 
 
Conclusion
 
Tout comme Collector for ArcGIS, l'application Survey123 for ArcGIS connait un énorme succès et cette version 2.0 n'est que le début des évolutions de cette solution gratuite de la plateforme ArcGIS. D'autres améliorations sont déjà en cours de développement et seront pour certaines accessibles d'ici quelques semaines via le programme beta:

  • Amélioration des formulaires multi-pages
  • Possibilité de modifier, dans le Designer Web, des formulaires conçus avec Survey123 Connect.
  • Support des services d'entités issus d'ArcGIS Server fédérés.
  • Support de l'authentification multi-facteur (PKI).
  • Capacité d'installer le Designer Web de Survey123 dans votre propre infrastructure.

Le Samedi, c'est Map Story !

$
0
0
  
Alors que la France s'apprête demain à élire son prochain président de la république, outre l'effondrement des partis classiques et l'arrivée de l'extrême droite au deuxième tour, un autre aspect qui rend singulière cette élection c'est l'âge des candidats. En effet, alors que l'âge moyen de nos présidents étaient jusqu'à maintenant autour de 60 ans, pour la première fois les deux candidats en lice ont moins de 50 ans. 
Age à la prise de pouvoir des derniers présidents
de la république en France d'après LesEchos

Et si on élargissait ce sujet à nos représentants, députés et sénateurs, et que l'on regarde également ce qui se passe chez nos voisins européennes ? C'est exactement ce que fait la narration cartographique que je vous propose cette semaine qui pose et qui répond à la question suivante: Faut-il être vieux pour faire de la politique en Europe ? 

  
Avec un support cartographique illustrant les moyennes d'âges des chambres parlementaires de chaque pays et quelques commentaires qui ne manques pas d'humour, les deux jeunes journalistes (Emma Derome et Pauline Jallon) dressent un panorama des classes d'âges et de la sociologie de nos dirigeants dans chaque pays européens.

D'un point de vue technique, cette application est basée sur le modèle de narration Map Journal d'ArcGIS Online. L'application et les contenus sont hébergés sur la plateforme ArcGIS Online.

Utiliser Python pour calculer vos champs dans ArcGIS

$
0
0
Cet article est une version actualisée de l'article Utiliser Python pour calculer vos champs dans ArcGIS posté en 2015. 



Depuis la version 9.2 d'ArcGIS, la calculatrice (ou l'outil de géotraitement correspondant) permet de calculer des valeurs de champs en utilisant soit le langage VBScript, soit le langage Python. Même si pendant plusieurs années l'usage de l'un ou de l'autre est agnostique, il devient incontournable de laisser tomber VBScript et de rédiger désormais ses expressions de calcul en Python. Tout d'abord parce que Python offre des fonctionnalités plus puissantes mais surtout parce que VBScript n'est pas supporté dans les contextes d'exécution 64 bits:
  • lors de l'utilisation de l'option d'exécution des géotraitements en arrière plan 64 bits dans ArcMap, ArcScene ou ArcGlobe.
  • lors de l'utilisation des géotraitements avec ArcGIS Server (nativement 64 bits)
  • lors de l'utilisation des géotraitements conjointement avec ArcGIS Pro (nativement 64 bits)

Si vous n'êtes pas encore un expert des expressions de calcul en Python, je vous propose de le devenir à l'aide de la série d'exemples qui, je l'espère, couvriront la majorité de vos besoins:


Quelques éléments de base

L'utilisation de l'outil "Calculer un champ" disponible aussi bien dans ArcMap, ArcScene, ArcGlobe et ArcGIS Pro, permet de spécifier une expression Python pour calculer les valeurs d'un champ. 

Il peut s'agir d'un calcul simple basé sur une expression rédigée sur une seule ligne.

Expression de calcul simple dans ArcMap

Il peut s'agir d'un calcul plus avancé nécessitant la rédaction d'une expression et d'un bloc de code. Dans ce cas, l'expression appelle généralement une fonction (def MaFonction():) écrite en Python dans le bloc de code.

Expression de calcul avec bloc de code dans ArcGIS Pro

Lors de l'utilisation d'un bloc de code, Python applique une indentation du code dans le cadre de la syntaxe pour définir les différents niveaux logiques du code. Vous devrez donc utiliser deux ou quatre espaces pour définir chaque indentation. Vous alignerez le début et la fin des blocs d'instruction en restant cohérent.

Vous noterez que les noms des champs dans les expression de calcul Python sont délimités par des points d'exclamation (!!).

Lorsque vous nommez des variables, n'oubliez pas que Python respecte la casse. Ainsi, la variable "ratio" n'est pas équivalent à la variable "Ratio".

Après la saisie des instructions, vous pouvez cliquer sur le bouton "Exporter" si vous souhaitez les enregistrer dans un fichier. Le bouton "Importer" vous invite à rechercher et sélectionner un fichier de calcul existant.

Expressions sur les chaînes de caractères



Concaténer plusieurs champs de type chaîne de caractères:
Expression:
!Mon_Champ1! + ' ' + !Mon_Champ2!

Concaténer plusieurs champs dont certains sont de type numérique (ici: le champ Hauteur):
Expression:
'La hauteur du bâtiment ' + !Id_bat! + ' est de ' + str(!Hauteur!) + ' m."

Concaténer plusieurs champs de type chaîne de caractères en intégrant un saut de ligne (peut servir, par exemple, dans le cas d'un champ utilisé pour un étiquetage):
Expression:
!Mon_Champ1! + '\n' + !Mon_Champ2!
  
Calculer le nombre de caractères d'une chaîne:
Expression:
len(!Mon_Champ!)
  
Remplacer un caractère par un autre caractère:
Expression:
!Mon_Champ!.replace(u'é',u'e')

Remplacer les valeurs nulles par une chaîne vide:
Bloc de code:
def UpdateField(value):
  if value is None:
     return ''
  else:
    return value

Expression:
UpdateField(!Mon_Champ!)

Extraire le premier caractère d'une chaîne:
Expression:
!Mon_Champ![0]

Extraire le deuxième caractère d'une chaîne:
Expression:
!Mon_Champ![1]

Extraire le dernier caractère d'une chaîne:
Expression:
!Mon_Champ![-1]

Extraire l'avant-dernier caractère d'une chaîne:
Expression:
!Mon_Champ![-2]

Extraire les 5 premiers caractères d'une chaîne:
Expression:
!Mon_Champ![:5]

Extraire les 3 derniers caractères d'une chaîne:
Expression:
!Mon_Champ![-5:]

Extraire une partie quelconque d'une chaîne (ici: deuxiène, troisième et quatrième caractère):
Expression:
!Mon_Champ![1:4]

Extraire le 3ième mot d'une chaîne:
Bloc de code:
def ExtractWord(value, index):
  tablo = value.split(' ')
  if (len(tablo)>index):
    return tablo[index-1]
  else:
    return None

Expression:
ExtractWord(!Mon_Champ!,3)

Extraire la 4ième mot d'une chaîne dont les mots sont séparés par une virgule:
Bloc de code:
def ExtractWord(value, index):
  tablo = value.split(',')
  if (len(tablo)>index):
    return tablo[index-1]
  else:
    return None

Expression:
ExtractWord(!Mon_Champ!,4)

Retirer les espaces inutiles en fin de chaîne:
Expression:
!Mon_Champ!.rstrip()

Retirer les espaces inutiles en début de chaîne:
Expression:
!Mon_Champ!.lstrip()

Retirer les espaces inutiles en début et fin de chaîne:
Expression:
!Mon_Champ!.strip()

Retirer les espaces, tabulations, sauts de ligne et retours chariot en début et fin de chaîne:
Expression:
!Mon_Champ!.strip(' \t\n\r')

Mettre tout en minuscule:
Expression:
!Mon_Champ!.lower()

Mettre tout en majuscule:
Expression:
!Mon_Champ!.upper()

Mettre le premier caractère en majuscule et le reste en minuscule:
Expression:
!Mon_Champ!.capitalize()

Mettre une majuscule au début de chaque mot:
Expression:
!Mon_Champ!.title()

Insérer une simple-quote dans une chaîne:
Expression:
'Voici l\'insertion d\'une apostrophe'

Insérer une double-quote dans une chaîne:
Expression:
'Voici \"la citation\"'

Choisir une chaîne de manière aléatoire parmi une liste de chaîne:
Bloc de code:
import random
mylist = ['Pomme','Poire','Orange','Kiwi','Fraise']

Expression:
mylist[random.randrange(len(mylist))]

   
Expressions sur les valeurs numériques



Convertir une chaîne en entier court:
Expression:
int(!Mon_Champ_Text!)

Convertir une chaîne en entier long:
Expression:
long(!Mon_Champ_Text!)

Convertir une chaîne en nombre décimal:
Expression:
float(!Mon_Champ_Text!)

Remplacer les valeurs nulles par une chaîne vide:
Bloc de code:
def UpdateField(value):
  if value is None:
     return 0
  else:
    return value

Expression:
UpdateField(!Mon_Champ!)

Arrondir à l'entier inférieur ou supérieur selon les règles mathématiques classiques:
Expression:
round(!Mon_Champ_Decimal!)

Arrondir à l'entier supérieur:
Expression:
math.ceil(!Mon_Champ_Decimal!)

Arrondir à l'entier inférieur:
Expression:
math.floor(!Mon_Champ_Decimal!)

Arrondir à la 3ème décimale:
Expression:
round(!Mon_Champ_Decimal!,3)

Générer un nombre entier aléatoire entre 0 et 9:
Bloc de code:
import random

Expression:
random.randint(0,9)

Générer un nombre décimal aléatoire entre 0 et 1:
Bloc de code:
import random

Expression:
random.random()

Générer un nombre décimal aléatoire entre 20 et 80:
Bloc de code:
import random

Expression:
20 + (random.random()*60)

Calculer la valeur absolue d'un nombre:
Expression:
math.fabs(!Mon_Champ!)

Calculer l'opposé d'un nombre:
Expression:
-!Mon_Champ!

Calculer le modulo d'un nombre:
Expression:
!Mon_Champ_Decimal! % 360

Calculer le carré d'un nombre:
Expression:
!Mon_Champ! ** 2

Calculer le cube d'un nombre
Expression:
!Mon_Champ! ** 3

Calculer la racine carrée d'un nombre
Expression:
!Mon_Champ! ** (1./2.)

Calculer la racine cubique d'un nombre
Expression:
!Mon_Champ! ** (1./3.)

Calculer le volume d'une sphère à partir du champ contenant le rayon (utilisation de la constant Pi): 
Expression:
4.0 / 3.0 * math.pi * !Rayon! ** 3

Calculer la valeur minimum entre plusieurs champs
Expression:
min([!Champ1!,!Champ2!,!Champ3!,!Champ4!])

Calculer la valeur maximum entre plusieurs champs
Expression:
max([!Champ1!,!Champ2!,!Champ3!,!Champ4!])

Calculer la somme des valeurs entre plusieurs champs
Expression:
sum([!Champ1!,!Champ2!,!Champ3!,!Champ4!])

Calculer la moyenne des valeurs entre plusieurs champs
Expression:
avg([!Champ1!,!Champ2!,!Champ3!,!Champ4!])
 
Incrémenter une valeur enregistrement après enregistrement, à partir d'une valeur de départ et d'un intervalle (ici on part de 0 avec un pas de 3):
Bloc de code:
rec='first'
def autoIncrement(start,step):
  global rec
  if (rec=='first'):
    rec = start
  else: 
    rec = rec + step
  return rec

Expression:
autoIncrement(0,3)

Accumuler les valeurs d'un champ, enregistrement après enregistrement. La valeur du dernier enregistrement correspond à la somme de toutes les valeurs de ce champs:
Bloc de code:
total = 0
def accumulate(increment):
    global total
    if total:
        total += increment
    else:
        total = increment
    return total

Expression:
accumulate(!Mon_Champ_Num!)



Expressions sur les dates



Calculer la date courante:
Expression:
time.strftime("%d/%m/%Y")

Calculer la date et l'heure courante:
Expression:
datetime.datetime.now()

Insérer une date spécifique (ici le 5 décembre 2015)::
Expression:
datetime.datetime(2015, 12, 5)

Calculer le nombre de jours compris entre la date actuelle et la date d'un champ:
Expression:
(datetime.datetime.now() - arcpy.time.ParseDateTimeString(!Mon_Champ_Date!)).days

Calculer le nombre de secondes compris entre la date actuelle et la date d'un champ:
Expression:
(datetime.datetime.now() - arcpy.time.ParseDateTimeString(!Mon_Champ_Date!)).seconds

Calculer une date en ajoutant 3 semaines à la date d'un champ:
Expression:
arcpy.time.ParseDateTimeString(!Mon_Champ_Date!) + datetime.timedelta(weeks=3)

Calculer une date en ajoutant 10 jours à la date d'un champ:
Expression:
arcpy.time.ParseDateTimeString(!Mon_Champ_Date!) + datetime.timedelta(days=10)

Calculer une date en ajoutant 12 heures à la date d'un champ:
Expression:
arcpy.time.ParseDateTimeString(!Mon_Champ_Date!) + datetime.timedelta(hours=12)

Calculer le jour de la semaine (par exemple: lundi) de la date d'un champ:
Expression:
arcpy.time.ParseDateTimeString( !Mon_Champ_Date! ).strftime('%A')
 
Calculer une date à partir d'un champ contenant des timestamps:
Bloc de code:
from datetime import datetime

Expression:
datetime.utcfromtimestamp(!Mon_Champ_Timestamp!)

Calculer des timestamps à partir d'un champ contenant des dates:
Bloc de code:
import calendar

def convertToTimestamp(value):
  dt= arcpy.time.ParseDateTimeString(value)
  return calendar.timegm(dt.utctimetuple()) 

Expression:
convertToTimestamp(!Mon_Champ_Date!)


Expressions sur les géométries



Calculer le X du centroïde des géométries des entités:
Expression:
!shape.centroid.x!

Calculer le Y du centroïde des géométries des entités:
Expression:
!shape.centroid.y!

Calculer le Z du centroïde des géométries des entités:
Expression:
!shape.centroid.z!

Calculer le X du barycentre des géométries des entités:
Expression:
!shape.truecentroid.x!

Calculer le X du point d'étiquetage des géométries des entités:
Expression:
!shape.labelpoint.x!

Calculer le périmètre des polygones ou la longueur des polylignes dans les unités de la couche:
Expression:
!shape.length!

Calculer le périmètre des polygonesZ ou la longueur des polylignesZ en prenant en compte le Z des sommets:
Expression:
!shape.length3D!

Calculer le périmètre des polygones ou la longueur des polylignes dans les unités de votre choix (ici en kilomètres):
Expression:
!shape.length@kilometers!

Calculer la superficie des polygones dans les unités de la couche:
Expression:
!shape.area!

Calculer la superficie des polygones dans les unités de votre choix (ici en km2):
Expression:
!shape.area@squarekilometers!

Calculer la superficie des polygones dans les unités de votre choix (ici en hectares):
Expression:
!shape.area@hectares!

Calculer le X du premier sommet des polylignes ou des polygones:
Expression:
!shape.firstpoint.x!

Calculer le X du dernier sommet des polylignes ou des polygones (dans le cas de polygone mono-partie, le premier et le dernier sommet sont les mêmes):
Expression:
!shape.lastpoint.x!

Calculer le X du coin inférieur-gauche de l'enveloppe des polylignes ou des polygones:
Expression:
!shape.extent.xmin!

Calculer le Y du coin inférieur-gauche de l'enveloppe des polylignes ou des polygones:
Expression:
!shape.extent.ymin!

Calculer la largeur de l'enveloppe des polylignes ou des polygones:
Expression:
!shape.extent.width!

Calculer la hauteur de l'enveloppe des polylignes ou des polygones:
Expression:
!shape.extent.height!

Calculer le nombre de parties composant la géométrie des entités:
Expression:
!shape.partcount!

Calculer le nombre de sommets composant la géométrie des entités:
Expression:
!shape.pointcount!

Calculer le Z moyen des sommets de polylignesZ, de polygonesZ ou de multipatch:
Bloc de code:
def AverageZ(feat):    
    avg=0
    partnum = 0
    partcount = feat.partCount
    pntcount = 0

    while partnum < partcount:
        part = feat.getPart(partnum)
        pnt = part.next()

        while pnt:
            pntcount += 1 
            
            if pnt:
                avg=avg + pnt.z

            pnt = part.next()
           
        partnum += 1

    return avg/pntcount

Expression:
AverageZ(!shape!)

Calculer le Z minimum des sommets de polylignesZ, de polygonesZ ou de multipatch:
Bloc de code:
def MinimumZ(feat):    
    min=0
    partnum = 0
    partcount = feat.partCount
    pntcount = 0

    while partnum < partcount:
        part = feat.getPart(partnum)
        pnt = part.next()
        min=pnt.z

        while pnt:
            pntcount += 1 
            
            if pnt:
                if (pnt.z < min):
                    min=pnt.z

            pnt = part.next()


        partnum += 1

    return min

Expression:
MinimumZ(!shape!)

Calculer le Z maximum des sommets de polylignesZ, de polygonesZ ou de multipatch:
Bloc de code:
def MaximumZ(feat):    
    max=0
    partnum = 0
    partcount = feat.partCount
    pntcount = 0

    while partnum < partcount:
        part = feat.getPart(partnum)
        pnt = part.next()
        max=pnt.z

        while pnt:
            pntcount += 1 
            
            if pnt:
                if (pnt.z > max):
                    max=pnt.z

            pnt = part.next()


        partnum += 1

    return max

Expression:
MaximumZ(!shape!)

Calculer le M moyen des sommets de polylignesM ou de polygonesM:
Bloc de code:
def AverageM(feat):    
    avg=0
    partnum = 0
    partcount = feat.partCount
    pntcount = 0

    while partnum < partcount:
        part = feat.getPart(partnum)
        pnt = part.next()

        while pnt:
            pntcount += 1 
            
            if pnt:
                avg=avg + pnt.m

            pnt = part.next()
           
        partnum += 1

    return avg/pntcount

Expression:
AverageM(!shape!)

Mettre à jour la géométrie des points de la couche à l'aide de deux champs X et Y
(expression à appliquer sur le champ "shape"):
Expression:
arcpy.Point(!Champ_X!,!Champ_Y!)

Déplacer les points d'une couche d'une distance de 1000 unités X et 500 unités en Y:
Bloc de code:
def Move(feat,deltaX,deltaY):
    newfeat = arcpy.Point(feat.centroid.X + deltaX ,feat.centroid.Y + deltaY)
    return newfeat

Expression:
Move(!shape!,1000,500)


Autres expressions de calcul

Mettre les valeurs d'un champ à "Null":
Expression:
None

Construire une chaîne à partir des valeurs de différents champs:
Expression:
"{}:{}".format(!Champ_Heures!, !Champ_Minutes!)

Construire une chaîne en forçant l'écriture du signe + ou - devant une valeur numérique:
Expression:
'{:+d}'.format(!Champ_Num!)

Construire une chaîne en mettant les "0" nécessaires à gauche de la valeur numérique (ici un exemple où on force le nombre à faire 4 caractères, par exemple pour 82 on obtiendra la chaîne "0082":
Expression:
'{:04d}'.format(!Champ_Num!)

Construire une chaîne à partir d'une date selon le format souhaité:
Expression:
'{:%d-%m-%Y %H:%M}'.format(arcpy.time.ParseDateTimeString(!Champ_Date!))

Construire le code hexadécimal d'une couleur (ex: #FF33AA) à partir de ses composantes Rouge, Vert et Bleu:
Bloc de code:
def rgb2hex(r,v,b):
    hex = "#{:02x}{:02x}{:02x}".format(r,v,b)
    return hex

Expression:
rgb2hex(!Champ_R!,!Champ_V!,!Champ_B!)
   
Construire la chaîne des composantes Rouge, Vert et Bleu à partir du code hexadécimal (ex: #FF33AA) d'une couleur:
Bloc de code:
def hex2rgb(hexcode):
rvb = tuple(map(ord,hexcode[1:].decode('hex')))

return rvb

Expression:

hex2rgb(!Champ_Hexa!)

Les fonds de cartes vectoriels ArcGIS sont disponibles en WGS84

$
0
0
Dans les toutes premières années de la plateforme ArcGIS Online, les fonds de cartes mondiaux (proposés par Esri sous la forme de tuiles d'images) étaient disponibles dans le système de coordonnées non-projetées WGS84. Très rapidement, le standard qui s'est imposé pour les applications cartographiques grand-public (notamment Esri, Google, Microsoft et Apple) a été le système de coordonnées projetées WGS84 Web Mercator (Auxiliary Sphere). Aujourd'hui c'est le système de coordonnées utilisé pour les fonds de cartes raster ou vecteur diffusés sur ArcGIS Online.


Il existe cependant différents cas d'usage qui nécessitent d'utiliser des fonds de cartes en coordonnées non-projetées, notamment dans les domaines de la défense, du renseignement ou de la sécurité civile. Pour cette raison, Esri vient d'introduire (en beta pour le moment) une déclinaison en WGS84 de ses fonds de cartes vectoriels. Mis à jour mensuellement, ils contiennent exactement les mêmes données que la déclinaison en projection Web Mercator et sont accessibles (via ce groupe) dans les 9 styles de rendu proposés par Esri. Comme pour la déclinaison en coordonnées Web Mercator, la version en coordonnées non-projetées permet de créer ses propres styles de rendu et ainsi obtenir un fond de carte totalement personnalisé en termes de contenus et de look-and-feel.


Dans le même temps, Esri a également publié une version en coordonnées non-projetées (WGS84) du fond de carte raster "World Imagery (WGS84)" dont le contenu est strictement le même que le fond de carte raster "World Imagery" en coordonnées Web Mercator  que vous utilisez quotidiennement dans vos applications.
  
Vous noterez enfin que, comme pour la version en coordonnées Web Mercator, Esri propose un fond de carte "World Imagery Hybrid (WGS84)" mixant des couches vectorielles (toponymie, réseaux routiers, ...) et la nouvelle couche d'imagerie WGS84 évoquée précédemment. Vous pouvez la découvrir interactivement à travers la carte web ci-dessous.
   

Il convient de noter quelques limitations durant cette période beta:

  • Les fonds de cartes vectoriels en WGS84 sont publiés à des fins de tests et d'évaluation. Il est probable que les URLs des couches de tuiles vectoriels soient modifiées à la fin du programme beta.
  • Les fonds de cartes vectoriels en WGS84 sont normalement synchronisés avec les fonds de cartes vectoriels en Web Mercator mais, durant la période beta, il se peut qu'il y ai un décalage dans cette synchronisation.
  • Les couches vectorielles (WGS84 ou Web Mercator) sont supportées dans les applications construites avec les API JavaScript ArcGIS 3.x ou 4.x (Web App Builder, Visionneuse de carte du portail ArcGIS, les applications web configurables du portail, les Story Maps, ...). Elles sont également supportées dans ArcGIS Pro. Pour les fonds de cartes vectoriels en WGS84, des limitations connues ont été constatées dans la visionneuse de scène du portail, elles seront corrigées dans les mises à jour d'ArcGIS Online et d'ArcGIS Enterprise dans les prochaines semaines.

Utiliser vos propres MNT dans les scènes web 3D ArcGIS

$
0
0

 
Par défaut, les scènes web 3D que vous configurez sur votre portail ArcGIS (Online ou Enterprise) utilisent le MNT mondial par défaut publié par Esri. Sur la France, ce MNT est issu des données SRTM et il a une précision planimétrique d'environ 30 m. Cette précision peut s'avérer insuffisante pour certains usages ou pour certaines échelles à laquelle vous souhaitez travailler. Ainsi, si vous disposez dans votre SIG d'un modèle numérique de terrain plus précis, vous pouvez facilement le publier pour l'utiliser en tant que couche d'altitudes pour votre scènes web 3D. L'objectif de cet article est de vous montrer les différentes étapes permettant, avec ArcGIS Pro, de publier un MNT en tant que couche d'altitude hébergée sur votre portail et exploitable dans vos scènes web 3D.

Pour pouvoir publier une couche d'altitudes hébergée sur votre portail ArcGIS, vous devez disposer d'ArcGIS Pro 1.3 (ou supérieur). Une fois dans ArcGIS Pro, créer une nouvelle carte (en 2D c'est suffisant) puis ajouter la couche raster correspondant à votre MNT.


Dans ArcGIS Pro, un schéma de tuilage pour les couches d'altitudes (niveau d'échelles, format des images, ...) est déjà prêt à l'emploi. Vous n'aurez donc pas besoin d'en générer un, si vous créez des scènes web globales ou locales (dans le système de coordonnées Web Mercator). En revanche, vous devrez générer votre propre schéma de tuilage si vous souhaitez utiliser votre MNT dans des scènes web locales avec un système de coordonnées et/ou un schéma de tuilage différent de celui des fonds de cartes par défaut d'ArcGIS Online (Web Mercator). Par exemple, si vous souhaitez réaliser des scènes web locales en Lambert 93, vous devrez préparer un schéma de tuilage cohérent avec vos fonds de cartes en Lambert 93. Vous utiliserez pour cela l'outil Générer la structure de tuilage du cache de tuiles.
 
La première étape consiste donc à générer un cache de tuiles à partir de la couche raster de votre MNT. Pour cela, vous ouvrirez l'outil Gérer le cache de tuiles. Vous saisirez les paramètres suivants:

  • Emplacement du cache: Nom du répertoire dans lequel va être créé le cache de tuiles
  • Nom du cache: Nom du répertoire contenant les tuiles et les métadonnées du cache
  • Mode de gestion: Sélectionner "Recréer toutes les tuiles"
  • Source de données en entrée: Sélectionner "Structure de tuile d'altitude" ou "Structure de tuiles d'altitude avec deux niveaux..."
  • Echelle en cache minimale: Laisser la valeur par défaut
  • Echelle en cache maximale: Laisser la valeur par défaut
  • Echelles: Cocher les échelles du cache que vous souhaitez calculer (à priori toutes)
  • Zone d'intérêt: Laisser la valeur par défaut (ne pas supprimer cette valeur par défaut)



Cliquer sur le bouton "Exécuter" pour lancer la génération du cache de tuiles.

L'étape suivante consiste à packager ce cache pour pouvoir l'envoyer sur votre portail en tant que fichier *.tpk (Tile Package). Pour cela, vous ouvrirez l'outil Exporter le cache de tuiles. Vous saisirez les paramètres suivants:

  • Cache de tuiles en entrée: Sélectionner la source de données raster correspondant au cache généré à l'étape précédente
  • Emplacement du cache de tuiles en sortie: Sélectionner le répertoire dans lequel sera créé le fichier *.tpk
  • Nom du cache de tuiles en sortie: Saisir le nom du fichier *.tpk à générer
  • Exporter en tant que: Sélectionner "Paquetage de tuiles"
  • Echelles: Sélectionner les niveaux d'échelles à exporter (à priori tous les niveaux)
  • Zone d'intérêt: Laisser la valeur par défaut (ne pas supprimer cette valeur par défaut)

 
  
Cliquer sur le bouton "Exécuter" pour lancer l'export vers le fichier *.tpk.

Maintenant que le paquetage de tuiles est généré, nous allons le charger sur portail ArcGIS pour le publier en tant que service web. Si la taille de ce dernier est < 1 Go, vous pouvez utiliser la méthode ci-dessous. Dans le cas contraire, vous devrez utiliser l'outil Partager un paquetage adapté aux fichiers de plus gros volumes.

Pour charger le paquetage de tuiles sur votre portail, vous devrez tout d'abord vous authentifier avec votre compte d'organisation puis vous rendre dans l'onglet "Contenus". A l'aide de la commande "Ajouter un élément", sélectionnez votre fichier *.tpk puis renseignez le titre et les balises associés à ce nouveau contenu.

 
Une fois le paquetage de tuile chargé, une nouvelle couche de type "Elevation Layer" a été publiée.
  

Vous pouvez désormais utiliser cette couche dans vos scènes web en l'ajoutant comme n'importe quelle autre couche. Elle sera automatiquement reconnue en tant que décrivant la surface de la scène web. Cette couche remplacera le MNT par défaut d'ArcGIS Online sur toute son étendue.
 
  
Pour terminer, on notera qu'une couche d'altitudes hébergée sur un portail ArcGIS est un service web qui peut également être utilisé comme source d'altitudes dans les scènes 3D d'ArcGIS Pro, dans ArcGIS Earth ou dans des applications 3D ArcGIS Runtime.

Explorer et analyser en 3D les espaces de vos bâtiments

$
0
0
En permettant la publication de services web de données 3D sur un portail ArcGIS, la notion de couche de scène et de scène web est probablement une des plus intéressantes innovations apportées à la plateforme ArcGIS sur les aspects 3D. L'accès à ces couches et scènes web peut se faire dans la visionneuse de scènes de votre portail ou dans ArcGIS Desktop (avec l'application ArcGIS Pro) mais également dans des applications personnalisées développées avec les SDKs ArcGIS Runtime (pour des applications natives) ou l'API ArcGIS for JavaScript 4.x (pour des applications web).
  
  
C'est en utilisant API ArcGIS for JavaScript 4.3 que mes collègues du centre de R&D de Zurich ont développé un prototype d'application nommé C-Through. Ce dernier permet d'afficher, de filtrer et d'analyser les usages et les superficies des espaces de vos bâtiments en 3D. A partir des espaces modélisés en 3D dans votre Géodatabase puis publiés en tant que couches de scène sur votre portail ArcGIS (Online ou Enterprise), l'application exploite les informations relatives à l'usage et aux superficies de chaque espace pour vous proposer des statistiques (par étage, par usage, par superficie, par bâtiment, ...) calculées interactivement et selon vos sélections et vos filtres.

Très simple à configurer (5 paramètres à indiquer dans un fichier de configuration), l'application nécessite simplement la préparation des données et la création d'une scène web sur votre portail. Elle est gratuite (non supportée par Esri) et accessible en Open Source depuis l'espace GitHub d'Esri.

La vidéo ci-dessous présente un exemple que j'ai réalisé sur la zone d'emploi de Vélizy-Villacoublay (avec des informations d'usage en partie fictives). 


   
Vous pouvez aussi la découvrir et l'utiliser par vous même à partir de ce lien.

Avant de vous lancer...

Pour mieux comprendre le fonctionnement de prototype d'application, je vous recommande tout d'abord la lecture de cet article sur le blog ArcGIS (en anglais).

Ensuite, pour déployer ce type d'application (sur une agglomération, une ville, un quartier, un campus, un bâtiment...), vous serez amené à générer les volumes 3D correspondant à vos espaces. Dans ce cas, la boîte à outils "FacilityTools" devrait vous être très utile, je l'avais présentée en détails dans cet article d'arcOrama.

N'hésitez pas à me faire part de vos réalisations...
  

ArcGIS Maps for Adobe Creative Cloud est disponible !

$
0
0
Après presque qu'un an de développement et de programme beta public (voir cet article), Esri annonce la sortie en version finale 1.0 de l'application ArcGIS Maps for Adobe Creative Cloud. Le principe de cette nouvelle app (gratuite) de la plateforme ArcGIS est d'ouvrir l'accès aux couches et cartes de votre SIG aux équipes de Design et de Communication de votre organisation en leur faisant bénéficier du meilleur des deux mondes: Esri et Adobe®.

  
Plus concrètement, ArcGIS Map for Adobe CC est une extension directement intégrée dans  les applications Illustrator et Photoshop qui permet aux professionnels de la PAO d'accéder à des données cartographiques de l'organisation qui fiables, mises à jour et validées par le SIG. Qu'il s'agisse de fond de carte, de couches raster ou de couches vectorielles métiers, il peut ainsi télécharger en haute-résolution les contenus qui sont partagés avec lui pour ensuite prendre la main de dessus et les manipuler de manière autonome avec ses outils habituels de PAO.
ArcGIS Maps for Adobe CC offre les principales capacités suivantes:
  • Définir l'étendue de votre zone de travail géographiquement ou via les préférences des applications Adobe®.
  • Prévisualiser et télécharger des contenus géographiques depuis votre portail d'organisation ArcGIS Online directement dans Illustrator ou Photoshop.
  • Accéder à toutes les données et fonds de cartes de l'Atlas dynamique mondial (Living Atlas of the World) d'ArcGIS Online.
  • Récupérer et modifier des couches vectorielles avec des textes descriptifs directement dans Illustrator.
  • Produire des cartes avec le design et le branding que vous souhaitez en utilisant vous outils Adobe® habituels. 
  • Ajouter des Shapefiles locaux directement dans Illustrator ou Photoshop.
  • Exploiter les différents systèmes de coordonnées et extraire les données souhaitées dans la projection de votre carte Adobe®.
  • Accéder aux services d'imagerie en leur appliquant les fonctions raster souhaitées.
  • Récupérer les étiquettes de votre carte web en tant que textes Adobe Illustrator.
  • Paramétrer la résolution en DPI des contenus raster à extraire.
  • Intégrer une barre d'échelle au moment de l'extraction des données.
  • ...
 
  
Pour pouvoir télécharger l'Add-on, il vous suffira de vous rendre sur le Marketplace Adobe sur la page suivante. Pour utiliser l'Add-on, l'utilisateur PAO devra se connecter au portail ArcGIS de l'organisation avec un utilisateur nommé de niveau 1 ou 2.
  

La version 2.1 de Survey123 for ArcGIS est disponible

$
0
0
Après la sortie de la version 2.0 il y a un mois, Esri annonce aujourd'hui une version 2.1 pour Survey123 for ArcGIS, l'application de collecte et de mise à jour de données SIG par formulaires. Bien qu'il s'agisse d'une mise à jour mineure on note tout de même quelques évolutions intéressantes aussi bien concernant le site web Survey123 que l'application Survey123 Connect. Je vous propose un résumé de ces évolutions.



Améliorations du site web Survey123:

Partager les rapports relatifs à vos formulaires

L'interface web de Survey123 permet d'analyser les données collectées via vos formulaires grâce à la génération automatique de rapports. Désormais, ces rapports peuvent être partagés avec d'autres utilisateurs de votre organisation via une URL.
  

Ces rapports peuvent tout à fait être partagés avec des utilisateurs anonymes. Il vous faudra alors partager votre analyse de manière publique ("Tout le monde").
  
Téléchargement de données

Vous pouvez maintenant spécifier un filtre sur une plage de dates afin de ne télécharger qu'une partie des données collectées via le formulaire. 


A noter que les données issues de votre formulaire sont stockées dans un service d'entités hébergé sur le portail de votre organisation. Ceci signifie que vous pouvez également télécharger les données depuis l'interface habituelle de votre portail.

Taille des photos à l'impression

L'interface web vous permet de passer en revue les réponses de chaque enquête de votre formulaire, y comprise les pièces jointes de type "image". Désormais, vous pourrez spécifier la taille de l'image associée à l'enquête en sélectionnant une des options de taille: Petite, Moyenne ou Grande.
  
   
Connexion à votre portail ArcGIS Enterprise

A partir de la version 2.1, vous pouvez connecter le site web Survey123 à un portail ArcGIS Enterprise. Vous pouvez ainsi configurer et déployer des formulaires web connectés à des services d'entités hébergés sur un portail ArcGIS Enterprise déployé dans votre propre infrastructure, y compris si ce dernier fonctionne derrière un pare-feu. Pour plus d'infos, vous pouvez vous reporter à cet article. Pour info, au delà de cette solution hybride, Esri envisage dans les prochaines versions d'ArcGIS Enterprise, d'implémenter la totalité du site web Survey123 dans Portal for ArcGIS pour que vous puissiez déployer l'ensemble des composants de Survey123 dans votre infrastructure.

Optimisation du site web Survey123

Un travail important a été réalisé pour améliorer les performances du site web Survey123, notamment en réduisant la taille des fichiers JavaScript et CSS chargés par l'application. Bien que cela ne soit pas sensible si vous disposez d'une connexion internet rapide, le site sera nettement plus rapide pour les utilisateurs disposant d'une connexion internet plus lente.
  
   
Amélioration des applications Survey123 et Survey123 Connect
  
Support des services fédérés ArcGIS Server

Depuis la version 1.10, vous pouvez utiliser des services d'entités hébergés existants sur votre portail ArcGIS pour construire vos formulaires. A partir de la version 2.1, vous pouvez dorénavant baser vos formulaires Survey123 sur des services d'entités servis par des ArcGIS Server fédérés à votre portail. Il suffit pour cela, lors de la création du formulaire dans Survey123 Connect, de vous connecter à votre portail ArcGIS et de sélectionner le service d'entités souhaité. Pour plus d'infos, vous pouvez vous référer à cette rubrique de l'aide en ligne.
  
   
Boîte de réception

Depuis la version 2.0, une notion de "boîte de reception" permet à l'utilisateur de recevoir une liste d'enquêtes (collectées par lui ou d'autres utilisateurs) pour les mettre à jour. L'utilisateur peut alors reprendre une ou plusieurs enquêtes et ainsi modifier les valeurs des réponses. Le concepteur du formulaire gère la liste des enquêtes envoyées à l'utilisateur via une expression de filtrage basées sur un ou plusieurs attributs du service d'entités associé au formulaire. A partir de la version 2.1, l'expression peut contenir des variables propres au contexte de l'utilisateur:
  • ${username} pour faire référence au nom du compte utilisateur sur le portail ArcGIS.
  • ${email} pour faire référence à l'adresse e-mail de l'utilisateur (telle qu'elle figure dans son profil sur le portail ArcGIS).
  • ${firstName} pour faire référence au prénom de l'utilisateur (telle qu'il figure dans son profil sur le portail ArcGIS).
  • ${lastName} pour faire référence au nom de famille de l'utilisateur (telle qu'il figure dans son profil sur le portail ArcGIS).
Très attendues des concepteurs de formulaires, ces nouvelles variables permettent notamment de mettre en place des workflows dans lesquelles un attribut de la couche permet de stocker le statut de d'une enquête ainsi que le nom du compte utilisateur devant revoir cette enquête. Pour cela, il utilisera une expression similaire à celle-ci:
  

Pour plus d'infos, vous pouvez consulter cette petite vidéo de tutorial (en anglais).
  
Fonction d'agrégation pour les questions répétées

Dans un formulaire conçu avec Survey123 Connect, vous pouvez décider qu'une question est répétable plusieurs fois. Ceci permet à l'utilisateur de saisir plusieurs réponses/valeurs à une même question. Depuis la version 2.1, il est désormais possible d'appliquer une fonction qui calculera une seule valeur (effectif, somme, moyenne, minimum, maximum, ...) à partir des multiples valeurs saisies par l'utilisateur. Très pratiques, ces fonctions peuvent par exemple être utilisées pour des mesures multiple effectuées sur un même site (pollution, température, inventaire, comptage, ...).
  
    

Installation silencieuse
  
Vous pouvez maintenant installer les applications Survey123 et Survey123 Connect en mode silencieux à partir de scripts. Ceci permet des déploiements ou des mises à jour à grande échelle dans votre organisation. Sur ce sujet, vous pouvez consulter cet article de blog (en anglais).
  
Modèles de formulaires

Esri poursuit sa stratégie de vous proposer des modèles et des exemples de formulaires sur lesquelles vous pouvez vous appuyer pour démarrer la création de votre propre enquête. La version 2.1 introduit 6 nouveaux exemples que vous pourrez découvrir la rubrique "Communautés".
  
   
Autres améliorations

Comme dans chaque nouvelle version, plusieurs corrections et améliorations ont été réalisées, vous les retrouverez listées dans cette rubrique de l'aide en ligne (vous forcerez l'affichage en langue anglaise pour visualiser la version la plus récente).


Les médias de cette nouvelle version sont téléchargeables depuis cette page.

Le Samedi, c'est Map Story !

$
0
0
En ce week-end de premier tour des élections législatives 2017 en France, une des principales questions de ce scrutin concerne le résultat du parti "La République En Marche" et notamment de voir si la dynamique de l'élection présidentielle permettra à ce nouveau parti d'obtenir une majorité relative ou absolue de députés à l'assemblée nationale. Le caractère particulier de cette élection réside dans le fait qu'il pourrait s'agir du taux de renouvellement le plus important de l'assemblée nationale depuis plus d'une siècle. Ceci s'explique d'une part par le fait que 40% des députés sortants ne se représentent pas mais aussi et surtout parce que de nombreux candidats de "La République En Marche" n'ont pas encore été élus à une élection. C'est un focus sur ce sujet que je vous propose cette semaine avec cette narration cartographique (réalisée par un de mes collègue d'Esri France) qui vous permettra de savoir, pour chaque circonscription, si le candidat du parti "La République En Marche" est un homme ou une femme et si elle/il a déjà exercé des mandats d'élus. 


D'un point de vue technique, il s'agit d'une application configurée à partir de modèle de Story Map Swipe and Spyglass d'ArcGIS Online. L'application est hébergée sur ArcGIS Online et les données utilisées dans l'application (publiées par Le Monde) ont été cartographiées via un service d'entités, lui aussi hébergé sur ArcGIS Online.

Nouvelle mise à jour disponible pour Collector for ArcGIS

$
0
0
L'été arrive, il fait beau et chaud, c'est le moment de sortir sur le terrain et d'exploiter les dernières évolutions des apps mobiles de la plateforme ArcGIS !

Depuis quelques jours, une nouvelle version de l'application Collector for ArcGIS est disponible pour vos tablettes et smartphones depuis les stores Apple, Google (et Amazon) et Windows. Cette version 17.0.1 (pour iOS et Windows) et 17.0.2 (pour Android) est une version mineure qui introduit tout de même plusieurs améliorations intéressantes.



Enregistrement de la position GPS moyenne

Désormais, l'utilisateur dispose d'une option pour activer l'enregistrement de la position GPS moyenne afin de déterminer une position plus précise lors de localisation de l'utilisateur ou lors de la collecte d'entités. L'utilisateur peut indiquer le nombre de positions GPS successives à prendre avant de déterminer la position moyenne.

 

Renommer les pièces jointes

Lors de la collecte de données avec des pièces jointes (photos par exemple), l'utilisateur peut dorénavant renommer les fichiers joints. Il s'agit d'une des demandes les plus récurrentes remontées par les utilisateurs de Collector.

  

Support des cartes SD (sur Android)

Vous pouvez maintenant utiliser la carte SD de votre tablette ou de votre smartphone Android pour stocker et gérer les fonds de cartes qui seront utilisés en mode déconnecté.
  
Collecte en mode continu

Désormais, vous pourrez collecter des données en mode continu y compris si la couche d'entités contient est associés à des classes de relation.

Rafraîchissement automatique des couches

Dorénavant, si un interval d'actualisation a été défini sur votre couche d'entités, Collector va l'honorer. Ceci est particulièrement intéressant si vous êtes connecté et que votre couche contient des entités qui sont régulièrement mises à jour (par exemple par d'autres opérateurs utilisant Collector, Survey123 ou tout autre app faisant de la mise à jour sur le service d'entités). 

D'autres améliorations et corrections ont également apportées dans cette version, vous retrouverez les détails dans la documentation en ligne.

Pas à Pas - Explorer vos données avec Insights for ArcGIS

$
0
0
Depuis les premiers numéros du magazine SIGMAG, arcOrama collabore chaque trimestre à la rédaction d'un article didactique focalisé sur une fonctionnalité ou une application clé de la plateforme ArcGIS. Je reprends ci-dessous l'article publié dans le numéro 12 paru en mars dernier, il est consacré à l'analyse exploratoire de données avec la nouvelle application Insights for ArcGIS, une application premium disponible avec ArcGIS Enterprise 10.5.
  

  
 
      
Insights for ArcGIS est une nouvelle application web d’ArcGIS Enterprise 10.5 qui vous permet d’explorer et d’analyser vos données (géographiques ou non) à travers une nouvelle expérience itérative et très interactive. Avec Insights for ArcGIS, vous pouvez exploiter les données de votre SIG mais également vos fichiers locaux et vos bases de données d’entreprise. Dans ce pas à pas, je vous propose de voir les premières étapes permettant la création d’un classeur, l’ajout de sources de données puis leur exploration. Pour cela, nous allons travailler sur le fichier Sirene® (la base nationale des entreprises) désormais disponible en Open Data et dont nous avons choisi d'extraire le département Loire-Atlantique.

1. L’application Insights se lance depuis votre Portail ArcGIS. Une fois démarrée, un écran d’accueil vous permet de gérer les classeurs Insights existants ou d’en créer de nouveaux. Pour commencer à travailler sur vos données, cliquez sur le bouton "Nouveau Classeur".
 

2. A l'ouverture d'un nouveau classeur, Insights vous propose d'ajouter des sources de données. Vous pouvez alors ajouter des services d'entités de votre portail ArcGIS, des fichiers Excel situés sur votre poste ou encore sélectionner des tables (spatiales ou non) depuis les bases de données référencées par l'administrateur de votre portail ArcGIS. Sélectionnez le service d'entités "GeoSirene_44", ce dernier contient la localisation des établissements référencés dans la base Sirene® dans le département 44. Cliquez ensuite sur le bouton "Ajouter".

   
3. Automatiquement, une première page est créée dans votre classeur. Une première fiche de type "carte" est ajoutée dans la page. Cette carte contient la couche "GeoSirene_44" que vous venez d'ajouter aux sources de données de la page. Ces sources de données sont listées dans la partie gauche de l'interface, vous permettant ainsi de sélectionner les différents attributs que vous souhaitez représenter dans les fiches de la page.
 
   
4. Le nombre de points de ce jeu de données est important (190000), vous allez donc utiliser un rendu plus adapter pour mieux comprendre la répartition des entreprises sur le territoire du département. Dans la fiche de carte, afficher le menu contextuel de la couche puis sélectionner dans la liste "Type de symbole" l'option de rendu par "Carte de densité". Vous pouvez naviguer dans la carte, la carte de densité est recalculée à la volée.
 
 
5. Vous pouvez également utiliser un des attributs de la couche pour modifier le rendu de la couche. Pour cela, sélectionner par exemple le champ "NATURE_ETAB" qui décrit la nature de chaque établissement (artisan, commerçant, …). Automatiquement les symboles et la légende est générée. Vous pouvez cliquer sur une des valeurs pour mettre en évidence toutes les entités possédant cette valeur, une fonctionnalité très pratique pour explorer les données dans une carte.
 
 
6. Au-delà de la carte, vous pouvez également ajouter d'autres types de fiche pour créer des rendus par diagrammes (courbes, histogramme, secteurs, …) ou via des tableaux. Par exemple, vous pouvez faire glisser votre couche vers une zone vide et sélectionner l'option permettant de créer un diagramme.
  
 
7. Par défaut, c'est un diagramme à barres s'affiche mais vous pouvez sélectionner d'autres options de rendu comme par exemple un diagramme à bulles. Vous constaterez que les fiches qui contiennent le même jeu de données sont automatiquement liées entre elles. Ainsi, en sélectionnant la bulle correspondant aux professions libérales, les entités correspondantes sont mises en évidence sur la carte.
   
   
8. Que ce soit dans les sources de données de la page ou dans chaque fiche, vous pouvez filtrer vos jeux de données pour travailler sur un sous-ensemble. A l'aide du bouton "Filtre des fiches", vous allez filtrer votre diagramme à bulles pour n'afficher que les entreprises individuelles. Après avoir sélectionné le champ "NATURE_ETAB", décocher la valeur "Entreprise non-individuelle".
 
   
9. Il également possible de créer une fiche directement depuis les sources de données de la page. Par exemple, vous pouvez faire glisser l'attribut "DDEBACT" (début d'activité de l'entreprise) vers une nouvelle fiche de diagramme. Vous pourrez aussi filtrer les dates en ne conservant que les dates ultérieures au 1er janvier 1990. 

   
10. Dans les diagrammes, vous avez de nombreuses options de représentation. Par exemple, pour les diagrammes en courbes, vous pouvez décomposer la série à l'aide d'un deuxième attribut et mieux comprendre la répartition des valeurs selon différentes catégories. Par exemple ici, en sélectionnant dans la zone "Regrouper par" le champ "NATURE_ETAB" vous pouvez observer les créations d'entreprises au cours du temps et en fonction de leur nature. Le bouton "Agrandir" vous permet d'afficher le diagramme en plus grand dans la page.
 
  
  
Conclusion:

Dans ce pas à pas, nous avons vu quelques étapes de base permettant de créer des classeurs Insights for ArcGIS. Vous pouvez aller beaucoup plus loin dans la combinaison et l'exploration de données spatiales et non-spatiales issues de votre SI. Pour en apprendre plus sur Insights for ArcGIS, je vous recommande de visualiser cette série de vidéos (en anglais).


Viewing all 2021 articles
Browse latest View live