Vidéo
Ce didacticiel est également disponible sous forme de vidéo.
Calculer un nouveau champ numérique
Vous disposez d'une couche avec des valeurs d'évaluation des taxes pour la ville de Neepawa dans le Manitoba, au Canada. Vous souhaitez l'utiliser pour afficher les valeurs évaluées par acre. Cette couche inclut les données dont vous avez besoin pour effectuer ce calcul, mais elles sont stockées sous forme de texte et non de nombres.
Vous allez au préalable remettre en forme les valeurs d'évaluation.
- Téléchargez le paquetage de projet Neepawa.
Un fichier nommé Neepawa.ppkx est téléchargé sur votre ordinateur. Un fichier .ppkx est un paquetage de projet ArcGIS Pro qui peut contenir des cartes, des données et d’autres fichiers pouvant être ouverts dans ArcGIS Pro.
- Recherchez le fichier téléchargé sur votre ordinateur. Double-cliquez sur Neepawa.ppkx pour l'ouvrir dans ArcGIS Pro. À l’invite, connectez-vous avec votre compte ArcGIS.
Remarque :
Si vous n’avez pas accès à ArcGIS Pro ou ne disposez pas d’un compte d’organisation ArcGIS, consultez les options disponibles pour accéder aux logiciels.
Une carte présentant les parcelles de propriété à Neepawa apparaît.
Remarque :
Les données de cette carte constituent un sous-ensemble de la couche Manitoba Property Assessment Information (Informations sur l'évaluation des propriétés du Manitoba) du Gouvernement du Manitoba.
- Dans la fenêtre Contents (Contenu), cliquez avec le bouton droit sur la couche NeepawaPropertyAssessment et choisissez Attribute Table (Table attributaire).
- Examinez la table attributaire.
Le champ Total Value (Valeur totale) contient les valeurs de l'évaluation. Toutefois, il semble mis en forme en texte et non en nombres car chaque celllule contient un caractère $.
- Dans la table attributaire, pointez sur l'en-tête du champ Total Value (Valeur totale).
Une fenêtre contextuelle indiquant Text (20) (Texte (20)) comme type du champ apparaît. Le nombre 20 fait référence au nombre de caractères autorisés.
Conseil :
La mise en forme d'un champ peut également permettre de déterminer son type. Les valeurs des champs de texte sont alignées à gauche. Les valeurs des champs numériques sont alignées à droite.
Les données de ce champ doivent être stockées sous forme de nombres et non de texte, mais vous ne pouvez pas modifier le type d'un champ. Au lieu de cela, vous allez créer un champ et le renseigner avec les nombres du champ Total Value (Valeur totale).
- Dans la barre d’outils de la table attributaire, cliquez sur Calculate (Calculer).
La fenêtre Calculate Field (Calculer un champ) apparaît. Cet outil calcule les valeurs d'un champ nouveau ou existant.
- Pour Field Name (Exiting or New) (Nom du champ (existant ou nouveau)), saisissez Assessed Value (Valeur évaluée), puis appuyez sur Tab.
Comme vous avez nommé un champ qui n'existe pas encore, vous devez également sélectionner un type de champ. Le type de champ détermine le type de données pouvant y être stockées.
- Pointez sur le paramètre Field Type (Type de champ), puis sur le bouton Info (Infos).
Une fenêtre décrivant les options de type de champ apparaît. Il existe cinq types de champs numériques : Short (Court), Long, Big integer (Entier très grand), Float (Flottant) et Double.
Pour sélectionner le plus approprié, prenez en compte les deux questions suivantes :
- Avez-vous besoin de stocker des valeurs décimales ? Non. Les nombres du champ Total Value (Valeur totale) ne possédant pas de décimale, vous pouvez utiliser l’un des types de données d’entier : Short (Court), Long ou Big integer (Entier très grand).
- Quelle est la plage de vos données ? La parcelle la plus chère est évaluée à 34 millions de dollars. Ce nombre étant trop grand pour être stocké dans le type de champ Short (Court), tout en étant trop petit pour nécessiter le type de champ Big integer (Entier très grand), sélectionnez Long.
Lorsque vous sélectionnez un type de champ, essayez d'en sélectionner un possédant la taille la plus petite suffisante pour satisfaire vos besoins.
Remarque :
Pour en savoir plus sur les types de données numériques, consultez la rubrique Types de données des champs ArcGIS.
- Pour Field Type (Type de champ), choisissez Long (32-bit integer) [Long (entier 32 bits)].
Dans le cas présent, vous pouvez sélectionner le Expression Type (Type d’expression) de votre choix.
- Faites défiler la liste Fields (Champs), puis double-cliquez sur Total Value (Valeur totale).
La zone Assessed Value (Valeur évaluée) est alimentée avec le texte !Total_Value!.
Remarque :
Si vous avez remplacé la valeur dans Expression Type (Type d’expression) par Arcade, la zone Assessed Value (Valeur évaluée) contient à la place $feature.Total_Value. Les deux options fonctionnent.
Si votre ordinateur utilise une autre langue que l’anglais américain, l’expression peut échouer du fait de l’utilisation d’une devise ou d’un séparateur de milliers différents. Pour éviter ce problème, définissez Expression Type (Type d’expression) sur Arcade et collez l’expression suivante :
var numberOnly=Replace($feature.Total_Value, '$', '') // Remove dollar signs. Replace(numberOnly, ',', '') // Remove commas.
Le nouveau champ Assessed Value (Valeur évaluée) est calculé de sorte à contenir les valeurs du champ Total Value (Valeur totale), mais ces valeurs sont mises en forme avec le type de champ Long (Long) et non texte.
- Cliquez sur OK.
Une fenêtre de message apparaît. Elle vous avertit que le nouveau champ a été renommé de Assessed Value (Valeur évaluée) en Assessed_Value (Valeur_évaluée). Le champ a été renommé car les noms de champ n'incluent pas d'espace. L'alias du champ contient toujours l'espace et apparaît dans la table attributaire.
- Fermez la fenêtre.
- Dans la table attributaire, vérifiez le nouveau champ Assessed Value (Valeur évaluée) pour vous assurer qu'il contient les valeurs attendues.
Les valeurs du champ Assessed Value (Valeur évaluée) doivent correspondre à celles du champ Total Value (Valeur totale), mais sans symbole $ ou virgule.
Calculer un nouveau champ avec une expression Arcade
Vous allez à présent remettre en forme les valeurs de surface. Vous allez créer un autre champ numérique et le renseigner avec les valeurs du champ Frontage/Area (Façade/Surface). Cette fois, vous devez écrire une expression Arcade pour copier les données correctement.
- Vérifiez la table attributaire d'un champ contenant des valeurs de surface.
Le champ Frontage/Area (Façade/Surface) contient les informations dont vous avez besoin. Toutefois, il contient un mélange de mots et de nombres, ce qui signifie que son type de champ doit être texte. Vous allez créer un champ numérique pour ne stocker que les nombres.
- Dans la barre d’outils de la table attributaire, cliquez sur Calculate (Calculer).
- Dans la fenêtre Calculate Field (Calculer un champ), pour Field Name (Existing or New) (Nom du champ (existant ou nouveau)), saisissez Surface en acres, puis appuyez sur Tab.
Vous devez ensuite sélectionner un type de champ.
- Avez-vous besoin de stocker des valeurs décimales ? Oui. Les valeurs du champ Frontage/Area (Façade/Surface) possédant deux décimales, vous devez sélectionner l'un des types de champs qui prend en charge les fractions : Float (Flottant) ou Double (Double).
- Quelle est la plage de vos données ? La parcelle la plus grande mesurant 185 acres, le type de données le plus petit, Float (Flottant) est assez grand.
- Pour Field Type (Type de champ), sélectionnez Float (32-bit floating point) (Flottant (virgule flottante 32 bits)).
- Pour Expression Type (Type d’expression), sélectionnez Arcade.
Vous pouvez calculer ce champ à l'aide de l'une ou l'autre des options du Expression Type (Type d’expression). Dans ce didacticiel, vous allez utiliser Arcade.
- Dans la zone Area Acres = (Surface en acres =), supprimez tout texte existant.
Vous souhaitez copier les informations numériques du champ Frontage/Area (Façade/Surface) et laissez les informations textuelles. Vous disposez pour cela de plusieurs méthodes, mais dans ce didacticiel, vous allez utiliser la fonction Split (Fractionner).
- Cliquez sur le bouton Helper Type (Type d’assistance). Dans le menu qui apparaît, cliquez sur Text (Texte).
La liste Helpers (Assistants) filtre les fonctions pertinentes pour les données texte.
- Dans la liste Helpers (Assistants), double-cliquez sur Split() (Split()).
- Dans la zone Area Acres = (Surface en acres =), placez le curseur à l'intérieur des parenthèses. Dans la liste Fields (Champs), double-cliquez sur Frontage/Area (Façade/Surface).
L’expression indique désormais Split($feature.Frontage_or_Area).
La fonction Split (Fractionner) fractionne une valeur de texte au niveau d'un caractère donné et renvoie une matrice de valeurs de texte. Les valeurs du champ Frontage/Area (Façade/Surface) contiennent toutes un nombre, suivi d'un espace, puis d'un mot (par exemple, 0.15 ACRES (0,15 ACRES)). Vous pouvez fractionner ces valeurs au niveau de l'espace pour séparer les nombres des mots.
- Dans la zone Area Acres = (Surface en acres =), placez le curseur avant la parenthèse de fin, puis saisissez ,' '.
Veillez à inclure un espace entre les deux apostrophes, car cette partie de l'expression indique l'emplacement du fractionnement.
- À la fin de l’expression, saisissez [0].
Cette partie de l'expression indique l'élément de la matrice à renvoyer. Par exemple, si vous souhaitez renvoyer le texte après le fractionnement, vous pouvez écrire [1] à la place.
L'expression finale est Split($feature.Frontage_or_Area,' ')[0]. Elle fractionne le champ Frontage/Area (Façade/Surface) à chaque espace. Renvoyez le texte avant le premier fractionnement.
Remarque :
La fonction Split (Fractionner) possède d'autres paramètres facultatifs. Vous pouvez les découvrir dans la page Références aux fonctions d’ArcGIS Arcade.
Pour écrire la même expression avec Python 3 (Python 3), saisissez !Frontage_or_Area!.split( )[0].
Si votre ordinateur utilise une langue dans laquelle la virgule sert de séparateur de milliers, utilisez l’expression suivante à la place :
var frontageArea=Replace($feature.Frontage_or_Area, '.', ',') Split(frontageArea,' ')[0]
- Cliquez sur OK.
Une fenêtre de message apparaît avec le même avertissement que précédemment.
- Fermez la fenêtre.
- Dans la table attributaire, vérifiez le nouveau champ Area Acres (Surface en acres) et assurez-vous qu'il contient les valeurs attendues.
Les valeurs du champ Area Acres (Surface en acres) doivent correspondre aux nombres du champ Frontage/Area (Façade/Surface).
Calculer la géométrie
Vous avez peut-être constaté que le champ Frontage/Area (Façade/Surface) stockait deux types de valeurs. Les lignes contenant le mot ACRES stockent la surface, tandis que les lignes contenant le mot FEET stockent la façade, qui correspond à la longueur de la parcelle le long d'une rue.
Remarque :
Vous pouvez vérifier les valeurs de façade et de surface sur la carte à l'aide des outils Measure (Mesurer) et Explore (Explorer).
Cela signifie qu'un grand nombre de valeurs du champ Area Acres (Surface en acres) sont incorrectes : elles ne représentent pas la surface et ne sont pas mesurées en acres. Vous ne pouvez pas convertir en acres les valeurs en pieds car une unité mesure la distance et l'autre, la surface. Toutefois, vous pouvez calculer la surface de ces valeurs manquantes à partir des formes des entités.
Vous allez commencer par sélectionner toutes les parcelles qui possèdent une mesure de façade.
- Dans la barre d'outils de la table attributaire, cliquez sur Select By Attributes (Sélectionner selon les attributs).
- Dans la fenêtre Select By Attributes (Sélectionner selon les attributs), utilisez les menus pour générer la clause Where Frontage/Area contains the text FEET (Où Façade/Surface contient le texte FEET).
Conseil :
Dans le troisième menu, saisissez le mot FEET.
- Cliquez sur OK.
- Vérifiez la table attributaire pour vous assurer que toutes les valeurs FEET sont sélectionnées et qu'aucune des valeurs ACRES ne l'est.
Vous allez à présent effectuer un calcul sur le champ Area Acres (Surface en acres). Une sélection étant active, le calcul n'est appliqué qu'aux lignes sélectionnées.
- Cliquez avec le bouton droit de la souris sur l’en-tête du champ Area Acres (Surface en acres) et sélectionnez Calculate Geometry (Calculer la géométrie).
La fenêtre Calculate Geometry (Calculer la géométrie) s’ouvre. Cet outil peut mesurer la longueur, la surface, le périmètre et d’autres attributs géométriques des entités à partir de leurs formes.
- Pour Property (Propriété), sélectionnez Area (geodesic) (Surface (géodésique)).
Les mesures géodésiques prennent en compte la courbure de la Terre.
- Pour Area Unit (Unité de surface), sélectionnez International Acres (Acres internationales).
Laissez le champ Coordinate System (Système de coordonnées) vide. Le système de coordonnées importe peu car les mesures sont géodésiques.
- Cliquez sur OK.
Dans la table attributaire, vérifiez le champ Area Acres (Surface en acres) pour vous assurer que les valeurs sélectionnées ont été mises à jour.
De nouvelles valeurs surfaciques ont été calculées pour les lignes sélectionnées. Elles ont été mesurées sur la carte et non calculées à partir d’un autre attribut. Toutes les lignes sélectionnées possèdent six décimales, tandis que les lignes non sélectionnées n'en contiennent que deux.
- Dans la barre d’outils de la table attributaire, cliquez sur le bouton Clear (Effacer) pour effacer la sélection.
- Fermez la table attributaire.
Symboliser une carte avec les nouveaux champs
Enfin, vous allez symboliser la carte avec les champs que vous avez créés.
- Dans la fenêtre Contents (Contenu), cliquez avec le bouton droit sur la couche NeepawaPropertyAssessment et choisissez Symbology (Symbologie).
La fenêtre Symbology (Symbologie) apparaît.
- Dans Primary symbology (Symbologie principale), sélectionnez Graduated Colors (Couleurs graduées).
Le paramètre Graduated Colors (Couleurs graduées) symbolisant les quantités, il ne fonctionne qu'avec les champs numériques.
- Pour Field (Champ), sélectionnez Assessed Value (Valeur évaluée). Pour Normalization (Normalisation), sélectionnez Area Acres (Surface en acres).
Ces options de champ symbolisent chaque parcelle avec sa valeur divisée par sa surface.
- Pour Color scheme (Combinaison de couleurs), sélectionnez Yellow to Red (Jaune à rouge).
Sur la carte, les parcelles rouges possèdent la valeur la plus élevée par acre.
- Sur Quick Access Toolbar (Barre d’outils Accès rapide), cliquez sur le bouton Save Project (Enregistrer le projet).
- Fermez la fenêtre Symbology (Symbologie), puis fermez ArcGIS Pro.
Les types de champs ne peuvent pas être convertis dans ArcGIS Pro, mais il est possible de créer des champs avec de nouveaux types et d'en calculer à partir de champs existants. Dans ce didacticiel, vous avez appris à identifier et à sélectionner les types de champs, à calculer les champs et les géométries, ainsi qu’à créer une expression Arcade pour isoler une partie de la valeur d’un champ. Vous avez créé deux champs numériques pour remplacer deux champs de texte.
Vous trouverez d’autres didacticiels dans la bibliothèque des didacticiels.