Suite

Changer la précision sur une colonne de la table attributaire sans perdre de données ?


J'ai des données dans un fichier Excel que je souhaite joindre à un fichier de formes dans mon projet. Le fichier Excel contient des valeurs telles que des volumes. Le fichier Excel et le fichier de formes avec lequel je veux le joindre contiennent tous les deux les mêmes noms de propriété.

Le problème est que lorsque je joins les deux, j'obtiens trop de décimales dans la table attributaire. J'en ai six, mais je veux seulement que ce soit un.

J'ai testé pour changer le format des cellules en une décimale, puis j'ai enregistré le fichier en tant que *csv. Mais, d'une manière ou d'une autre, j'ai l'impression de perdre des données dans le processus ? Il devrait y avoir 42 lignes qui contiennent des données dans la colonne avec laquelle je travaille, mais je me retrouve avec seulement 10 ?

Une autre chose est que mes noms de propriété contiennent les lettres Å. et Ö, peut-être que cela complique les choses ?

J'ai lu la question Comment puis-je modifier la précision dans la table attributaire ?, mais elle ne mentionne pas le problème de la perte de données.

Ma question était taguée avec qgis, mais je n'ai pas écrit la version que j'utilise. J'utilise QGIS 2.2.0. Cela vous aiderait-il de passer à la dernière version ?


Notez que dans ce cas, vous pouvez créer une nouvelle colonne avec la taille et la précision souhaitées, et remplir ses valeurs avec les "anciennes" valeurs de colonne. Après enregistrement, votre nouvelle colonne aura la précision voulue.

Prenez cet exemple. J'ai un tableau avec une colonne ("test") avec une taille de précision 20 et une précision 15.

Je vais ouvrir la calculatrice de champ (le symbole de l'abaque), pour créer une nouvelle colonne avec la bonne précision, et lui donner les mêmes valeurs que l'ancienne colonne.

En vérifiant ma table attributaire, j'ai maintenant les deux colonnes avec des précisions différentes :

À partir de ce point, vous pouvez simplement supprimer l'ancienne colonne. Mais vous voulez probablement que votre nouvelle colonne ait le nom d'origine (et peut-être la position de la colonne) ? Pour cela, vous pouvez utiliser le plugin table manager. S'il n'est pas installé, vous pouvez l'obtenir dans Plugins > Gérer et installer des plugins. Et il sera disponible dans Vector > Table manager.

Vous devriez, sélectionner et supprimer l'ancienne colonne, puis sélectionner et renommer la nouvelle colonne. (Et le déplacer jusqu'à l'ancienne position relative de la colonne ?)

Notez que vous pouvez également vous occuper de vos personnages Å, Ä et Ö avec le gestionnaire de table.


Après avoir écrit ceci, je viens de réaliser que vous parliez de QGIS et non d'ArcMap, mais je le garderai quand même ici.

Après avoir effectué votre jointure avec la table csv non modifiée, cliquez avec le bouton droit sur le titre du champ dans la table attributaire et sélectionnez "Propriétés". Dans la boîte de dialogue Propriétés du champ, vous sélectionnez le bouton intitulé "Format de nombre : numérique" comme indiqué ci-dessous.

Après avoir sélectionné ce bouton, la boîte de dialogue Format de nombre s'affichera et ressemblera à l'image ci-dessous.

Cette boîte de dialogue fonctionne comme dans le masque de saisie et préserve vos données, mais vous ne verrez que le format que vous souhaitez. dans votre cas, je définirais l'option d'arrondi de la valeur par défaut 6 à 1. J'espère que c'est la réponse que vous vouliez. Aussi, j'éviterais d'utiliser des caractères non ASCII.


Si vous le faites via une instruction T-SQL telle que ci-dessous, aucune suppression de table ne se produira et vous pouvez le faire en toute sécurité dans un environnement de production :

Si vous le faites via l'interface graphique de la table de conception SSMS, cela dépendra du script qu'il décide d'utiliser pour implémenter le changement. Parfois, il insère des données dans une table temporaire, supprime la table d'origine, crée une nouvelle version de cette table et la réinsère dans la nouvelle. Un moyen simple de savoir ce qu'il va faire est de cliquer sur le bouton "Générer le script" et de regarder le T-SQL qu'il prévoit d'exécuter.

L'augmentation de la largeur de colonne d'une colonne nvarchar ne nécessitera pas de suppression de table. Aucune opération ALTER TABLE non plus. Pour plus de détails sur les restrictions lors de la modification des propriétés de table ou de colonne, vous pouvez lire l'instruction ALTER TABLE.

J'ai copié les parties les plus pertinentes de la documentation ci-dessous :

Modification de la taille d'une colonne

Vous pouvez modifier la longueur, la précision ou l'échelle d'une colonne en spécifiant une nouvelle taille pour le type de données de la colonne dans la clause ALTER COLUMN. Si des données existent dans la colonne, la nouvelle taille ne peut pas être inférieure à la taille maximale des données. De plus, la colonne ne peut pas être définie dans un index, sauf si la colonne est un type de données varchar, nvarchar ou varbinary et que l'index ne résulte pas d'une contrainte PRIMARY KEY. Voir exemple P.

Serrures et ALTER TABLE

Les modifications spécifiées dans ALTER TABLE sont mises en œuvre immédiatement. Si les changements nécessitent des modifications des lignes de la table, ALTER TABLE met à jour les lignes. ALTER TABLE acquiert un verrou de modification de schéma sur la table pour s'assurer qu'aucune autre connexion ne référence même les métadonnées de la table pendant la modification, à l'exception des opérations d'indexation en ligne qui nécessitent un verrou SCH-M très court à la fin. Dans une opération ALTER TABLE…SWITCH, le verrou est acquis à la fois sur les tables source et cible. Les modifications apportées à la table sont enregistrées et entièrement récupérables. Les modifications qui affectent toutes les lignes de très grandes tables, telles que la suppression d'une colonne ou l'ajout d'une colonne NOT NULL avec une valeur par défaut, peuvent prendre beaucoup de temps et générer de nombreux enregistrements de journal. Ces instructions ALTER TABLE doivent être exécutées avec le même soin que toute instruction INSERT, UPDATE ou DELETE qui affecte de nombreuses lignes.


1 réponse 1

Si vous l'augmentez à varchar(100 - 8000) (c'est-à-dire autre chose que varchar(max) ) et que vous le faites via TSQL plutôt que l'interface graphique SSMS

et ne pas modifier la nullabilité de la colonne de NULL à NOT NULL (ce qui verrouillerait la table pendant que toutes les lignes sont validées et potentiellement écrites) ou de NOT NULL à NULL dans certaines circonstances, il s'agit alors d'un changement rapide des métadonnées uniquement. Il faudra peut-être attendre un verrou SCH-M sur la table, mais une fois qu'il l'aura acquis, le changement sera à peu près instantané.

Une mise en garde à prendre en compte est que pendant l'attente d'un SCH-M verrouille d'autres requêtes sera être bloqué plutôt que de sauter la file d'attente avant celle-ci, vous pouvez donc envisager d'ajouter un SET LOCK_TIMEOUT en premier.

Assurez-vous également que dans l'instruction ALTER TABLE, vous spécifiez explicitement NOT NULL s'il s'agit de l'état de la colonne d'origine, sinon la colonne sera modifiée pour autoriser NULL .


Paramètres

La table contenant les coordonnées x et y qui définissent les emplacements des entités ponctuelles à créer.

Classe d'entités contenant les entités ponctuelles en sortie.

Le champ dans la table d'entrée qui contient les coordonnées x (ou longitude).

Le champ de la table d'entrée qui contient les coordonnées y (ou latitude).

Le champ de la table d'entrée qui contient les coordonnées z.

Le système de coordonnées des coordonnées x et y. Ce sera le système de coordonnées de la classe d'entités en sortie.

La table contenant les coordonnées x et y qui définissent les emplacements des entités ponctuelles à créer.

Classe d'entités contenant les entités ponctuelles en sortie.

Le champ dans la table d'entrée qui contient les coordonnées x (ou longitude).

Le champ de la table d'entrée qui contient les coordonnées y (ou latitude).

Le champ de la table d'entrée qui contient les coordonnées z.

Le système de coordonnées des coordonnées x et y. Ce sera le système de coordonnées de la classe d'entités en sortie.

Exemple de code

Le script de fenêtre Python suivant montre comment utiliser la fonction XYTableToPoint.

Le script Python autonome suivant montre comment utiliser la fonction XYTableToPoint.


Paramètres

La table d'entrée ou le fichier texte. Les entités ponctuelles sont également valides.

La classe d'entités points en sortie. La table attributaire contiendra tous les champs de la table d'entrée ainsi que les champs contenant les valeurs converties dans le format de sortie.

Un champ de la table d'entrée contenant la valeur de longitude.

Pour les options DD 2 , DD numeric , DDM 2 et DMS 2 du paramètre Input Coordinate Format, il s'agit du champ de longitude.

Pour les options DD 1 , DDM 1 et DMS 1, ce champ contient les valeurs de latitude et de longitude dans une seule chaîne.

Pour les options Gars , Georef , Georef 16 , zones UTM , bandes UTM , USNG , USNG 16 , MGRS et MGRS 16 , ce champ contient une notation alphanumérique dans un seul champ de texte.

Un champ de la table d'entrée contenant la valeur de latitude.

Pour les options DD 2 , DD numeric , DDM 2 et DMS 2 du paramètre Input Coordinate Format, il s'agit du champ de latitude.

Ce paramètre est inactif lorsque l'un des formats à chaîne unique est choisi.

Spécifie le format de coordonnées des champs de saisie.

  • DD 1 : les valeurs de longitude et de latitude se trouvent dans un seul champ. Deux valeurs sont séparées par un espace, une virgule ou une barre oblique.
  • DD 2 : les valeurs de longitude et de latitude se trouvent dans deux champs distincts. Il s'agit de la valeur par défaut.
  • DDM 1 : les valeurs de longitude et de latitude se trouvent dans un seul champ. Deux valeurs sont séparées par un espace, une virgule ou une barre oblique.
  • DDM 2 — Les valeurs de longitude et de latitude se trouvent dans deux champs distincts.
  • DMS 1 : les valeurs de longitude et de latitude se trouvent dans un seul champ. Deux valeurs sont séparées par un espace, une virgule ou une barre oblique.
  • DMS 2 —Les valeurs de longitude et de latitude se trouvent dans deux champs distincts.
  • Gars —Système mondial de référence de zone. Basé sur la latitude et la longitude, il divise et subdivise le monde en cellules.
  • Georef —Système de référence géographique mondial. Un système basé sur une grille qui divise le monde en quadrangles de 15 degrés, puis se subdivise en quadrangles plus petits.
  • Georef 16 —Système de référence géographique mondial avec une précision de 16 chiffres.
  • Zones UTM : la lettre N ou S après le numéro de zone UTM désigne uniquement l'hémisphère nord ou sud.
  • Bandes UTM : la lettre après le numéro de zone UTM désigne l'une des 20 bandes de latitude. N ou S ne désignent pas un hémisphère.
  • USNG —Réseau national des États-Unis. Presque exactement le même que MGRS mais utilise le système de référence nord-américain 1983 (NAD83) comme système de référence.
  • USNG 16 : réseau national des États-Unis avec une précision supérieure à 16 chiffres.
  • MGRS —Système de référence de grille militaire. Suit les coordonnées UTM et divise le monde en 6 degrés de longitude et 20 bandes de latitude, mais MGRS subdivise ensuite les zones de grille en plus petites grilles de 100 000 mètres. Ces grilles de 100 000 mètres sont ensuite divisées en grilles de 10 000 mètres, 1 000 mètres, 100 mètres, 10 mètres et 1 mètre.
  • MGRS 16 —Système de référence de grille militaire avec une précision de 16 chiffres.
  • Forme : uniquement disponible lorsqu'une couche d'entités ponctuelles est sélectionnée en entrée. Les coordonnées de chaque point sont utilisées pour définir le format de sortie.

Spécifie le format de coordonnées vers lequel les notations d'entrée seront converties.

  • DD 1 : les valeurs de longitude et de latitude se trouvent dans un seul champ. Deux valeurs sont séparées par un espace, une virgule ou une barre oblique.
  • DD 2 —Les valeurs de longitude et de latitude se trouvent dans deux champs distincts.
  • DD numérique : les valeurs de longitude et de latitude se trouvent dans deux champs distincts de type Double. Les valeurs à l'ouest et au sud sont indiquées par un signe moins.
  • DDM 1 : les valeurs de longitude et de latitude se trouvent dans un seul champ. Deux valeurs sont séparées par un espace, une virgule ou une barre oblique.
  • DDM 2 — Les valeurs de longitude et de latitude se trouvent dans deux champs distincts.
  • DMS 1 : les valeurs de longitude et de latitude se trouvent dans un seul champ. Deux valeurs sont séparées par un espace, une virgule ou une barre oblique.
  • DMS 2 —Les valeurs de longitude et de latitude se trouvent dans deux champs distincts.
  • Gars —Système mondial de référence de zone. Basé sur la latitude et la longitude, il divise et subdivise le monde en cellules.
  • Georef —Système de référence géographique mondial. Un système basé sur une grille qui divise le monde en quadrangles de 15 degrés, puis se subdivise en quadrangles plus petits.
  • Georef 16 —Système de référence géographique mondial avec une précision de 16 chiffres.
  • Zones UTM : la lettre N ou S après le numéro de zone UTM désigne uniquement l'hémisphère nord ou sud.
  • Bandes UTM : la lettre après le numéro de zone UTM désigne l'une des 20 bandes de latitude. N ou S ne désignent pas un hémisphère.
  • USNG —Réseau national des États-Unis. Presque exactement le même que MGRS mais utilise le système de référence nord-américain 1983 (NAD83) comme système de référence.
  • USNG 16 : réseau national des États-Unis avec une précision supérieure à 16 chiffres.
  • MGRS —Système de référence de grille militaire. Suit les coordonnées UTM et divise le monde en 6 degrés de longitude et 20 bandes de latitude, mais MGRS subdivise ensuite les zones de grille en plus petites grilles de 100 000 mètres. Ces grilles de 100 000 mètres sont ensuite divisées en grilles de 10 000 mètres, 1 000 mètres, 100 mètres, 10 mètres et 1 mètre.
  • MGRS 16 —Système de référence de grille militaire avec une précision de 16 chiffres.

Ce paramètre n'est plus utilisé car tous les champs sont transférés vers la table de sortie.

Référence spatiale de la classe d'entités en sortie. La valeur par défaut est GCS_WGS_1984.

L'outil projette la sortie sur la référence spatiale spécifiée. Si les systèmes de coordonnées d'entrée et de sortie sont dans une référence différente, une transformation par défaut sera utilisée en fonction des systèmes de coordonnées de l'entrée et de la sortie et de l'étendue des données.

La référence spatiale des données d'entrée. Si la référence spatiale d'entrée ne peut pas être obtenue à partir de la table d'entrée, la valeur par défaut GCS_WGS_1984 sera utilisée.

Spécifie si les enregistrements avec une notation non valide seront exclus.

  • Non coché : les enregistrements non valides seront exclus et seuls les enregistrements valides seront convertis en points dans la sortie. C'est la valeur par défaut.
  • Coché : les enregistrements valides seront convertis en points dans la sortie et les enregistrements non valides seront inclus en tant que géométrie nulle.

La table d'entrée ou le fichier texte. Les entités ponctuelles sont également valides.

La classe d'entités points en sortie. La table attributaire contiendra tous les champs de la table d'entrée ainsi que les champs contenant les valeurs converties dans le format de sortie.

Un champ de la table d'entrée contenant la valeur de longitude.

Pour les options DD_2 , DD_NUMERIC , DDM_2 et DMS_2 du paramètre input_coordinate_format , il s'agit du champ de longitude.

Pour les options DD_1 , DDM_1 et DMS_1 , ce champ contient à la fois les valeurs de latitude et de longitude dans une seule chaîne.

Pour les GARS , GEOREF , GEOREF16 , UTM_ZONES , UTM_BANDS , USNG , USNG16 , MGRS et MGRS16 , ce champ contient un système de notation alphanumérique dans un seul champ de texte.

Un champ de la table d'entrée contenant la valeur de latitude.

Pour le paramètre input_coordinate_format DD_2 , DD_NUMERIC , DDM_2 et DMS_2 , il s'agit du champ de longitude.

Ce paramètre est ignoré lorsque l'un des formats à chaîne unique est choisi.

Spécifie le format de coordonnées des champs de saisie.

  • DD_1 — Les valeurs de longitude et de latitude se trouvent dans un seul champ. Deux valeurs sont séparées par un espace, une virgule ou une barre oblique.
  • DD_2 — Les valeurs de longitude et de latitude se trouvent dans deux champs distincts. Il s'agit de la valeur par défaut.
  • DDM_1 — Les valeurs de longitude et de latitude se trouvent dans un seul champ. Deux valeurs sont séparées par un espace, une virgule ou une barre oblique.
  • DDM_2 — Les valeurs de longitude et de latitude se trouvent dans deux champs distincts.
  • DMS_1 — Les valeurs de longitude et de latitude se trouvent dans un seul champ. Deux valeurs sont séparées par un espace, une virgule ou une barre oblique.
  • DMS_2 — Les valeurs de longitude et de latitude se trouvent dans deux champs distincts.
  • GARS — Système mondial de référence de zone. Basé sur la latitude et la longitude, il divise et subdivise le monde en cellules.
  • GEOREF — Système mondial de référence géographique. Un système basé sur une grille qui divise le monde en quadrangles de 15 degrés, puis se subdivise en quadrangles plus petits.
  • GEOREF16 — Système de référence géographique mondial avec une précision de 16 chiffres.
  • UTM_ZONES — La lettre N ou S après le numéro de zone UTM désigne uniquement l'hémisphère Nord ou Sud.
  • UTM_BANDS — La lettre après le numéro de zone UTM désigne l'une des 20 bandes de latitude. N ou S ne désignent pas un hémisphère.
  • USNG — Réseau national des États-Unis. Presque exactement le même que MGRS mais utilise le système de référence nord-américain 1983 (NAD83) comme système de référence.
  • USNG16 — United States National Grid avec une précision supérieure à 16 chiffres.
  • MGRS — Système de référence de grille militaire. Suit les coordonnées UTM et divise le monde en 6 degrés de longitude et 20 bandes de latitude, mais MGRS subdivise ensuite les zones de grille en plus petites grilles de 100 000 mètres. Ces grilles de 100 000 mètres sont ensuite divisées en grilles de 10 000 mètres, 1 000 mètres, 100 mètres, 10 mètres et 1 mètre.
  • MGRS16 — Système de référence de grille militaire avec une précision de 16 chiffres.
  • FORME — Uniquement disponible lorsqu'une couche d'entités ponctuelles est sélectionnée en entrée. Les coordonnées de chaque point sont utilisées pour définir le format de sortie.

DD, DDM, DMS et UTM sont également des mots-clés valides, ils peuvent être utilisés simplement en tapant (dans la boîte de dialogue) ou en transmettant la valeur dans le script. Cependant, les mots-clés avec un trait de soulignement et un qualificateur en disent plus sur les valeurs des champs.

Spécifie le format de coordonnées vers lequel les notations d'entrée seront converties.

  • DD_1 — Les valeurs de longitude et de latitude se trouvent dans un seul champ. Deux valeurs sont séparées par un espace, une virgule ou une barre oblique.
  • DD_2 — Les valeurs de longitude et de latitude se trouvent dans deux champs distincts.
  • DD_NUMERIC — Les valeurs de longitude et de latitude se trouvent dans deux champs distincts de type Double. Les valeurs à l'ouest et au sud sont indiquées par un signe moins.
  • DDM_1 — Les valeurs de longitude et de latitude se trouvent dans un seul champ. Deux valeurs sont séparées par un espace, une virgule ou une barre oblique.
  • DDM_2 — Les valeurs de longitude et de latitude se trouvent dans deux champs distincts.
  • DMS_1 — Les valeurs de longitude et de latitude se trouvent dans un seul champ. Deux valeurs sont séparées par un espace, une virgule ou une barre oblique.
  • DMS_2 — Les valeurs de longitude et de latitude se trouvent dans deux champs distincts.
  • GARS — Système mondial de référence de zone. Basé sur la latitude et la longitude, il divise et subdivise le monde en cellules.
  • GEOREF — Système mondial de référence géographique. Un système basé sur une grille qui divise le monde en quadrangles de 15 degrés, puis se subdivise en quadrangles plus petits.
  • GEOREF16 — Système de référence géographique mondial avec une précision de 16 chiffres.
  • UTM_ZONES — La lettre N ou S après le numéro de zone UTM désigne uniquement l'hémisphère Nord ou Sud.
  • UTM_BANDS — La lettre après le numéro de zone UTM désigne l'une des 20 bandes de latitude. N ou S ne désignent pas un hémisphère.
  • USNG — Réseau national des États-Unis. Presque exactement le même que MGRS mais utilise le système de référence nord-américain 1983 (NAD83) comme système de référence.
  • USNG16 — United States National Grid avec une précision supérieure à 16 chiffres.
  • MGRS — Système de référence de grille militaire. Suit les coordonnées UTM et divise le monde en 6 degrés de longitude et 20 bandes de latitude, mais MGRS subdivise ensuite les zones de grille en plus petites grilles de 100 000 mètres. Ces grilles de 100 000 mètres sont ensuite divisées en grilles de 10 000 mètres, 1 000 mètres, 100 mètres, 10 mètres et 1 mètre.
  • MGRS16 — Système de référence de grille militaire avec une précision de 16 chiffres.

DD, DDM, DMS et UTM sont également des mots-clés valides, ils peuvent être utilisés simplement en tapant (dans la boîte de dialogue) ou en transmettant la valeur dans le script. Cependant, les mots-clés avec un trait de soulignement et un qualificateur en disent plus sur les valeurs des champs.

Ce paramètre est ignoré car tous les champs sont transférés vers la table de sortie.

Référence spatiale de la classe d'entités en sortie. La valeur par défaut est GCS_WGS_1984.

L'outil projette la sortie sur la référence spatiale spécifiée. Si les systèmes de coordonnées d'entrée et de sortie sont dans une référence différente, une transformation par défaut sera utilisée en fonction des systèmes de coordonnées de l'entrée et de la sortie et de l'étendue des données.

La référence spatiale des données d'entrée. Si la référence spatiale d'entrée ne peut pas être obtenue à partir de la table d'entrée, la valeur par défaut GCS_WGS_1984 sera utilisée.

Spécifie s'il faut exclure les enregistrements avec une notation non valide.

  • EXCLUDE_INVALID — Les enregistrements non valides seront exclus et seuls les enregistrements valides seront convertis en points dans la sortie. C'est la valeur par défaut.
  • INCLUDE_INVALID — Les enregistrements valides seront convertis en points dans la sortie et les enregistrements invalides seront inclus en tant que géométrie nulle.

Exemple de code

Le script autonome suivant montre comment utiliser la fonction ConvertCoordinateNotation avec un champ de format d'entrée.

Le script autonome suivant montre comment utiliser la fonction ConvertCoordinateNotation avec deux champs de format d'entrée.

Le script autonome suivant montre comment utiliser la fonction ConvertCoordinateNotation avec les formats UTM_ZONES et UTM_BANDS.

Le script autonome suivant montre comment utiliser la fonction ConvertCoordinateNotation pour convertir les valeurs de degré décimal du texte de sortie en valeurs à virgule flottante. Notez qu'au lieu de S et W, un signe moins est utilisé.


Stockage de classe d'entités

Chaque classe d'entités est gérée dans une seule table. Une colonne de forme dans chaque ligne est utilisée pour contenir la géométrie ou la forme de chaque entité.

Dans le tableau des classes d'entités, les éléments suivants sont vrais :

  • Chaque classe d'entités est une table.
  • Les caractéristiques individuelles sont conservées sous forme de lignes.
  • Les attributs d'entité sont enregistrés dans des colonnes.
  • La colonne de forme contient la géométrie de chaque entité (point, ligne, polygone, etc.).
  • La colonne ObjectID contient l'identifiant unique de chaque fonctionnalité.

Si vous créez une classe d'entités linéaires dans une géodatabase, un champ supplémentaire est automatiquement ajouté à la classe d'entités pour enregistrer la longueur de la ligne. Si vous créez une classe d'entités surfaciques, deux champs supplémentaires sont ajoutés automatiquement pour enregistrer la longueur (périmètre) et la superficie de chaque entité surfacique. Les unités de mesure de ces valeurs dépendent de la référence spatiale définie pour la classe d'entités. Les noms de ces champs varient en fonction de la base de données et du type spatial que vous utilisez. Ce sont des champs obligatoires et vous ne pouvez pas les modifier.


1 réponse 1

Utilisez la TABLE DE MODIFICATION. Instruction MODIFY pour modifier une définition de colonne existante. Vous pouvez modifier le type de données de colonne, la valeur par défaut, la contrainte de colonne, l'expression de colonne (pour les colonnes virtuelles) et le chiffrement de colonne.

Vous pouvez augmenter la longueur d'une colonne existante ou la diminuer si toutes les données existantes satisfont à la nouvelle longueur. Vous pouvez changer une colonne de sémantique d'octet en sémantique CHAR ou vice versa. Vous devez définir le paramètre d'initialisation BLANK_TRIMMING=TRUE pour diminuer la longueur d'une colonne CHAR non vide.

Si vous modifiez une table pour augmenter la longueur d'une colonne de type de données CHAR, sachez que cette opération peut prendre du temps et nécessiter un stockage supplémentaire important, en particulier si la table contient de nombreuses lignes. En effet, la valeur CHAR de chaque ligne doit être remplie de blancs pour satisfaire la nouvelle longueur de colonne.

La référence du langage Oracle SQL contient beaucoup plus de détails, notamment :

Vous pouvez modifier le type de données de n'importe quelle colonne si toutes les lignes de la colonne contiennent des valeurs NULL. Cependant, si vous modifiez le type de données d'une colonne dans une table de conteneur de vues matérialisées, Oracle Database invalide la vue matérialisée correspondante.

Vous pouvez toujours augmenter la taille d'un caractère ou d'une colonne brute ou la précision d'une colonne numérique, que toutes les lignes contiennent ou non des valeurs NULL. Vous pouvez réduire la taille d'un type de données d'une colonne tant que la modification ne nécessite pas de modification des données. La base de données analyse les données existantes et renvoie une erreur si des données dépassent la nouvelle limite de longueur.

Vous pouvez modifier une colonne DATE en TIMESTAMP ou TIMESTAMP WITH LOCAL TIME ZONE. Vous pouvez modifier n'importe quel TIMESTAMP AVEC FUSEAU HORAIRE LOCAL en une colonne DATE.

Si la table est vide, vous pouvez augmenter ou diminuer le champ de début ou la valeur fraction de seconde d'une colonne datetime ou d'intervalle. Si la table n'est pas vide, vous pouvez uniquement augmenter le champ de début ou la fraction de seconde d'une colonne datetime ou d'intervalle.

Pour les colonnes CHAR et VARCHAR2, vous pouvez modifier la sémantique de longueur en spécifiant CHAR (pour indiquer la sémantique des caractères pour une colonne initialement spécifiée en octets) ou BYTE (pour indiquer la sémantique des octets pour une colonne initialement spécifiée en caractères). Pour connaître la sémantique de longueur des colonnes existantes, interrogez la colonne CHAR_USED de la vue du dictionnaire de données ALL_, USER_ ou DBA_TAB_COLUMNS.

Il y a des informations supplémentaires et des restrictions dans la documentation ci-dessus. Voici une démonstration de tentative de réduction de la précision d'une colonne Number et de réduction de la longueur d'un Varchar2. Vous pouvez essayer d'autres changements afin de savoir ce qui se passera.


Calcul de l'aire, de la longueur et d'autres propriétés géométriques

L'outil Calculer la géométrie vous permet d'accéder à la géométrie des entités d'une couche. L'outil peut calculer des valeurs de coordonnées, des longueurs et des surfaces, en fonction de la géométrie de la couche en entrée. Vous ne pouvez calculer la surface, la longueur ou le périmètre des entités que si le système de coordonnées utilisé est projeté. Gardez à l'esprit que différentes projections ont des propriétés spatiales et des distorsions différentes. Si le système de coordonnées de la source de données et du bloc de données ne sont pas les mêmes, vous pouvez obtenir un résultat différent si vous calculez la géométrie à l'aide du système de coordonnées du bloc de données que lorsque vous calculez à l'aide du système de coordonnées de la source de données. Il est recommandé d'utiliser une projection à surface égale lors du calcul des surfaces.

Si vous souhaitez calculer Xmin, Xmax, Ymin ou Ymax, vous pouvez le faire en utilisant Python avec le calculateur de champ voir Exemples de calcul de champ.

Vous pouvez utiliser la boîte de dialogue Calculer la géométrie pour mettre à jour la zone, la longueur ou le périmètre des entités de fichiers de formes, car ces propriétés ne sont pas automatiquement mises à jour lorsque vous modifiez des entités dans des fichiers de formes.

Vous ne pouvez calculer des valeurs de coordonnées z ou des mesures 3D que si l'entité est consciente de z. Les valeurs de coordonnées Z et les mesures 3D peuvent être calculées quel que soit le système de coordonnées choisi. Les unités répertoriées pour les calculs z et 3D sont planes (miles, mètres, etc.) tant qu'un système de coordonnées verticales a été défini pour la couche. Si les données n'ont pas de système de coordonnées verticales défini, les unités sont répertoriées comme inconnues. Pour plus d'informations sur les valeurs z et les types de géométrie d'entité, consultez Notions de base sur les classes d'entités.

Vous pouvez effectuer des calculs sans être dans une session d'édition, mais dans ce cas, il n'y a aucun moyen d'annuler les résultats.

Vous ne pouvez effectuer des calculs géométriques que sur des tables attributaires.

Vous pouvez éventuellement appuyer sur CTRL+MAJ+G pour ouvrir la boîte de dialogue Calculer la géométrie.

Différentes propriétés sont disponibles selon le type de calque que vous utilisez.

Si vous effectuez un calcul dans un champ de texte, vous pouvez choisir d'ajouter une abréviation d'unités au calcul. Par exemple, 47,5673 m² est un exemple de sortie de surface calculée dans un champ de texte avec l'abréviation des unités.

Avertir:

Vous ne pouvez pas annuler un calcul de champ effectué en dehors d'une session de mise à jour.

Pour éviter de voir un message d'avertissement lorsque vous essayez de calculer des valeurs en dehors d'une session de modification, vous pouvez cocher la case Ne plus m'avertir sur le message. Vous pouvez réactiver le message d'avertissement à partir de l'onglet Tables de la boîte de dialogue Options ArcMap.

La boîte de dialogue Calculer la géométrie respecte le nombre de décimales (trois, par défaut) spécifié dans l'onglet Général de la boîte de dialogue Options d'édition. Pour modifier ce paramètre, cliquez sur le menu Editeur dans la barre d'outils Editeur et cliquez sur Options . Ce paramètre est enregistré dans le document ArcMap.


Afficher le calque dans la scène 3D

Vous pouvez afficher des calques 2D dans des scènes 3D. La surface d'élévation de la scène positionne correctement les entités 2D dans un paysage 3D.

  1. Dans le volet Contenu, cliquez avec le bouton droit sur la couche Logements et cliquez sur Copier .
  2. Cliquez sur l'onglet de vue de la scène locale Egmont 3D pour rendre la scène active.
  3. Dans le volet Contenu, cliquez avec le bouton droit sur le nom de la scène, Egmont 3D , puis cliquez sur Coller .
  4. Sous l'onglet Carte, dans le groupe Naviguer, cliquez sur Explorer .
  5. Utilisez les boutons de la souris et la molette pour effectuer un zoom, un panoramique, une inclinaison et une rotation de la scène. Vous pouvez également utiliser le navigateur à l'écrandans la scène.

Les caractéristiques s'affichent à leur emplacement correct sur la surface 3D, mais les symboles sont plats, comme des bouts de papier collés à la montagne.

Le calque utilise désormais les propriétés de dessin 3D et les symboles se dressent sur la surface. Cet effet est appelé billboarding. C'est une amélioration, mais un symbole conçu pour la visualisation 3D sera plus esthétique.

Vous pouvez accéder à plus de symboles en ajoutant des styles.

Le dimensionnement basé sur l'échelle n'est pas disponible dans les scènes. Pour cette scène, une taille de symbole à 5 ou 6 points fonctionne bien à la plupart des échelles, mais peut être trop petite ou trop grande à certaines échelles.

Vous pouvez convertir un jeu de données tabulaire, tel qu'un fichier Microsoft Excel ou un fichier .csv, en données spatiales dans ArcGIS Pro tant que la table inclut des adresses postales ou des coordonnées spatiales. Cela vous permet de visualiser et d'analyser spatialement une grande variété de données, des listes de clients aux tableaux extraits de sites Web, qui sont de nature spatiale mais pas encore spatialement activées.


Syntaxe

Les entités ponctuelles en entrée définissant les emplacements à partir desquels vous souhaitez extraire les valeurs des cellules raster.

Le jeu de données raster dont les valeurs seront extraites.

Il peut s'agir d'un raster de type entier ou à virgule flottante.

Le jeu de données d'entités ponctuelles en sortie contenant les valeurs raster extraites.

Spécifie si l'interpolation sera utilisée ou non.

  • AUCUN — Aucune interpolation ne sera appliquée, la valeur du centre de la cellule sera utilisée. C'est la valeur par défaut.
  • INTERPOLER — La valeur de la cellule sera calculée à partir des cellules adjacentes avec des valeurs valides à l'aide d'une interpolation bilinéaire. Les valeurs NoData seront ignorées dans l'interpolation, sauf si toutes les cellules adjacentes sont NoData.

Détermine si les attributs raster sont écrits dans le jeu de classes d'entités ponctuelles en sortie.

  • VALUE_ONLY — Seule la valeur du raster en entrée est ajoutée aux attributs de point. C'est la valeur par défaut.
  • TOUS — Tous les champs du raster en entrée (à l'exception du nombre) seront ajoutés aux attributs de point.


Voir la vidéo: 24- Ajouter une nouvelle colonne variable dans la table attributaire (Octobre 2021).