Python et son accent français

7 May 2013

Combien de fois votre script Python à refusé de s’exécuter, s’est emballé ou tout simplement planté à cause d’une ou plusieurs lettres contenants des accents. Que ce soit dans votre script ou même dans vos données.

La frustration est proportionnelle au temps de traitement du script. Évidemment si votre script fonctionne depuis plusieurs minutes et qu’il plante… La frustration est à son maximum. D’ailleurs, un proverbe (de je ne sais où) dit «  L’erreur est humaine, mais pour un véritable désastre cela vous prend un ordinateur ».

Bref… pour les utilisateurs de script Python, assoyez-vous, essuyez vos larmes, faites disparaitre votre veine en relief qui part de votre cou jusqu’à votre front et pour certains l’écume sur le bord de votre bouche… Voici un petit truc pour vous aider.

Pour changer les caractères non désirés par un logiciel X avec Python, vous n’avez qu’à importer la fonction « maketrans » en collaboration avec la fonction « translate ». Les 2 éléments précédents se trouvent dans le module « string ».

Script Python

À la ligne 1, on importe tout simplement l’élément «maketrans » via le module string. Par la suite, j’ai inséré dans une variable les caractères que je veux substituer( « êèéàç »). Par la suite, en suivant l’ordre des caractères précédents, j’indique dans une nouvelle variable les caractères de remplacement. Dans ce cas-ci les mêmes lettres sans accents.

À la ligne 6, j’insère dans une variable une table de conversion. Pour terminer, je veux convertir les accents de la variable « str » via la fonction « translate » avec la table de conversion comme argument.  Ce qui donne « elevationaQuebec ».

Rien de plus simple

Martin

 

Québec 2013: Conférence et donnée ouverte

25 April 2013
Conférence de Québec

Conférence d’Esri Canada au Château Frontenac

Bonjour à tous,

Ce fut encore une fois un plaisir de vous voir en si grand nombre pour cette conférence des Utilisateurs d’Esri Canada. Ces événements nécessitent beaucoup d’organisation, mais votre présence, vos interactions et vos commentaires font en sorte de nos motiver à faire tout ce qui en notre possible afin de maintenir et même élever le niveau de ces journées.

J’aimerais donc profiter de cette tribune afin de vous partager les scripts que je me suis servi pendant la session technique. Ceux-ci tirent avantage de la donnée ouverte de la Ville de Québec. Je crois qu’ils sont potentiellement un bon point de départ pour quiconque désire débuter avec ArcPy, le module Python d’ArcGIS. J’ai donc créé et mis à votre disposition un fichier compressé comprenant les scripts ansi qu’un MXD vous suggérant une symbologie pour les 23 couches d’informations offertes en ‘shapefile’ sur le site de données ouvertes de la Ville de Québec. Pour que tout cela fonctionne adéquatement, vous avez besoin:

  •  ArcGIS Desktop 10.1
  • Les scripts proposés dans le cadre de cet article
  • Des “shapefiles” (logo SHP bleu) compressés (zip) téléchargés du portail de la Ville de Québec (téléchargez ceux qui vous intéresse, le script fera le reste pour vous)

Les étapes suivantes vous permettront de traiter les fichiers ‘bruts’ du portail pour en faire des couches prêtes à l’emploi dans ArcMap. Comme vous le verrez, je vous ai même fourni un ‘MXD’.

  • Ouvrez un explorateur Windows;
  • Dirigez-vous à la racine de votre disque C ;
  • Créez un dossier nommé Quebec (pas d’accents) directement à la racine de votre C ;
  • Extraire le contenu du fichier compressé dans le dossier Quebec (vous verrez 3 scripts et 1 MXD);
  • Effectuez un clic de droite sur le script nommé “1.CreationDossiersEtGdb.py”, choisissez ‘Ouvrir avec…’, puis python.exe ;
  • Placez les “shapefiles” compresés dans le dossier ‘zip’ nouvellement créé (ne pas extraire la donnée);
  • Effectuez un clic de droite sur le script nommé “2.UnZip.py”, choisissez ‘Ouvrir avec…’, puis python.exe;
  • Effectuez un clic de droite sur le script nommé “3.Shp2gdb.py”, choisissez ‘Ouvrir avec…’, puis python.exe (étape plus longue);
  • Double-cliques sur ‘DonneesQuebec.mxd’

Lorsque vous allez lancer les scripts, vous verrez une fenêtre noire (DOS) apparaître, c’est normal, il suffit d’attendre quelques instants pour qu’elle disparaisse et que le travail soit effectué. Les deux premiers scripts devraient être très rapides et le troisième prendra approximativement 1 minute, mais vous verrez du texte vous informant qu’il est en action.Script pythonSi vous voulez profiter de cet exercice pour aller plus loin et explorer le code, je vous suggère de télécharger le petit programme gratuit PyScripter. Il vous permettra d’exécuter les scripts tout au long de vos éditions, en plus de vous offrir l’assistance lors de l’écriture de votre code.

Au plaisir,

Eric

 

Pour en finir avec la page blanche…

15 April 2013

Vous ouvrez ArcMap à chaque matin?  Continuez à lire cet article. :)

Comment démarrez-vous votre session utilisez vous…

Votre réponse est probablement un hybride de deux ou trois des choix ci-dessus. Pour toute les fois ou vous répondez ‘La page blanche’, je vous propose une petite extension gratuite qui permet d’ajouter automatiquement une ou plusieurs couches de données à l’aide d’un ‘Layer file’ à tout nouveau projet. Étant donné que je me sers personnellement de l’extension et que je suis parfois sur la route, j’ai ajouté la fonctionnalité de déterminer si mon ordinateur est branché ou non ‘aux internet’. Vous verrez donc qu’il existe deux ‘Layer files’. ‘Online’ pointe sur le fond de carte routier d’ArcGIS Online et ‘Offline’ pointe localement sur mon ordinateur. Je vous invite grandement à modifier ‘Offline’ afin de pointer sur vos données. Présentent, il pointe sur des données fournies via l’extension 3D Analyst que vous n’avez peut-être pas d’installé. Ce choix fut effectué dans le but d’éviter d’avoir une source de donnée ‘brisée’ lors de l’ouverture du fichier. Si vous n’avez pas besoin de cette fonctionnalité, vous pouvez simplement modifier les deux fichiers afin de pointer vers les mêmes données locales.

Tout ceci fonctionne sous forme d’extension à ArcMap 10.1. Si vous voulez l’installer, voici la marche à suivre:

  • Ouvrir le fichier compressé
  • Installer l’extension: Double-cliquer sur le fichier ‘.addin’
  • Créer un dossier nommé SigQuebec à la racine de votre disque ‘C’
  • Créer un dossier nommé Layers à l’intérieur de celui-ci
  • Déplacer les deux fichiers LYR dans le dossier Layer
  • Ouvrir ArcMap
  • Activer l’extension: aller au menu ‘Customzie’ (Personnaliser), option Extension
  • Cocher ‘Fond de carte automatique’
  • Démarrer un  nouveau projet

Recommandé:

  • Modifier les deux fichiers LYR afin de pointer vers vos données
Add-in

Installation du ‘Add-in’

Vous voudrez peut-être changer l’étendue par défaut? Il est actuellement impossible de le faire avec le fichier fourni dans le présent article. Sachez cependant que je me prépare mentalement à expliquer ceci dans un prochain article. Si vous ne pouvez attendre, simplement m’envoyer un courriel, je vous ferai parvenir le code source avec plaisir!

Petit rappel:  la version 10.1 d’ArcMap est nécessaire pour que tout ceci fonctionne…

Pour télécharger l’extension, cliquez ici.

Eric