Suite

Comment convertir un raster flottant en vecteur avec python GDAL


J'ai un raster flottant et maintenant je veux le convertir en vecteur. Comment est-ce possible avec la bibliothèque Python GDAL ?

j'ai essayé avecgdal_polygonize.pydes utilitaires GDAL sur la ligne de commande et cela a parfaitement fonctionné. Mais cet utilitaire est basé surGDALPolygoniser()de la bibliothèque C++ et je veux la méthode C++GDALFPolygoniser()à utiliser à la place, qui manipule les données raster flottantes pour autant que je sache.


Essayez d'utiliser rasterio, qui utilise GDALFPolygonize sur des tableaux flottants.

import numpy as np import rasterio.features depuis affine import Affine depuis shapely.geometry import shape # tableau triangulaire ar = np.tri(5, dtype="f") print(ar) pour shp, val dans rasterio.features.shapes( ar, transform=Affine(1, 0, 0, 0, -1, 5)): print('%s: %s' % (val, shape(shp)))

spectacles:

[[ 1. 0. 0. 0. 0.] [ 1. 1. 0. 0. 0.] [ 1. 1. 1. 0. 0.] [ 1. 1. 1. 1. 0.] [ 1. 1. 1. 1. 1.]] 1.0 : POLYGONE ((0 0, 0 5, 5 5, 5 4, 4 4, 4 3, 3 3, 3 2, 2 2, 2 1, 1 1, 1 0, 0 0)) 0,0 : POLYGONE ((1 0, 1 1, 2 1, 2 2, 3 2, 3 3, 4 3, 4 4, 5 4, 5 0, 1 0))

Ou visualisé en bleu pour1.0et rouge pour0.0:


Vous ne pouvez pas utiliserGDALFPolygoniseravec les liaisons python GDAL sans modifier le code source et recompiler car il n'est pas exposé dans l'interface GDAL swig.

Remarque : en février 2016,GDALFPolygoniserIS exposé dans la source de jonction GDAL SVN, mais n'est dans aucune des dernières versions (1.11.4/2.0.2).

Pour polygoniser votre raster, vous devrez convertir de float en entier. Si vous souhaitez conserver quelques décimales, multipliez votre raster par 10^N où N est le nombre de décimales que vous souhaitez conserver. Par exemple, pour conserver 3 décimales, multipliez par 10^3 = 1000.

# Multiplier les valeurs raster par 1000 gdal_calc.py -A raster.tif --outfile=raster1000.tif --calc="A*1000" # Convertir en vecteur gdal_polygonize.py raster1000.tif vector1000.shp

Si vous souhaitez reconvertir vos attributs de polygone en flottants, divisez simplement par la même valeur.

# Diviser les valeurs vectorielles par 1000 ogr2ogr vector.shp vector1000.shp -sql "select (cast(DN as float) * 0.001) as DN FROM vector1000"

Notez qu'il est inutile de convertir des rasters à virgule flottante qui représentent des surfaces continues en polygones, car vous obtiendrez à peu près 1 polygone par pixel, ce qui est très inefficace. Presque toutes les analyses auxquelles vous pouvez penser avec de telles données sont beaucoup plus efficaces si vous laissez les données au format raster.


Un peu tard, mais commenter si quelqu'un trouve cela utile. Disons que vous avez un raster flottant (raster_path) et que vous souhaitez le convertir en shapefile. Vous pouvez utiliser gdal FPolygonize dans python comme :

source_raster = gdal.Open(raster_path) band = gdal.Open(raster_path).GetRasterBand(1) driver = ogr.GetDriverByName('ESRI Shapefile') out_data = driver.CreateDataSource(shapefile_path) # obtenir la projection à partir du raster source srs = osr. SpatialReference() srs.ImportFromWkt(source_raster.GetProjectionRef()) # crée un calque avec projection out_layer = out_data.CreateLayer(raster_path.split('.')[0], srs) new_field = ogr.FieldDefn('field_name', ogr. OFTReal) out_layer.CreateField(new_field) gdal.FPolygonize(band, band, out_layer, 0, [], callback=None) out_data.Destroy() source_raster = None

Il existe une fonction gdal.RasterizeLayer qui vous permet de pixelliser un calque vectoriel. Cela présente certains inconvénients, vous devez disposer d'un jeu de données de sortie vers lequel vous pixellisez. De plus, si vous avez des géométries qui se chevauchent, vous souhaitez d'abord isoler chaque géométrie sur une couche vectorielle distincte, ce qui signifie que vous devez boucler sur toutes les géométries.

Avec gdal, vous pouvez créer des fichiers en mémoire à l'aide du pilote MEM, cela facilite un peu les choses, mais il y a encore beaucoup de surcharge de création de jeu de données.

Pour chaque géométrie, les étapes seraient plus ou moins comme :

Maintenant, les outds contiennent un masque de la géométrie, en l'utilisant avec par exemple np.masked_where vous pouvez isoler les pixels dans la géométrie.

Ce n'est pas aussi pratique que ça l'est, mais une fois que vous avez un tableau masqué du polygone, il est très facile d'obtenir des statistiques en utilisant numpy/scipy.


Gdal_rasterize¶

Ce programme grave des géométries vectorielles (points, lignes et polygones) dans la ou les bandes raster d'une image raster. Les vecteurs sont lus à partir des formats vectoriels pris en charge par OGR.

Notez que la reprojection à la volée des données vectorielles dans le système de coordonnées des données raster n'est prise en charge que depuis GDAL 2.1.0.

La ou les bandes dans lesquelles graver les valeurs. Plusieurs arguments -b peuvent être utilisés pour graver dans une liste de bandes. La valeur par défaut est de graver dans la bande 1. Non utilisé lors de la création d'un nouveau raster.

Inverser la rastérisation. Graver la valeur de gravure fixe ou la valeur de gravure associée à la première caractéristique dans toutes les parties de l'image ne pas à l'intérieur du polygone fourni.

Active l'option de rastérisation ALL_TOUCHED afin que tous les pixels touchés par des lignes ou des polygones soient mis à jour, pas seulement ceux sur le chemin de rendu de la ligne, ou dont le point central se trouve à l'intérieur du polygone. La valeur par défaut est désactivée pour les règles de rendu normales.

Une valeur fixe à graver dans une bande pour tous les objets. Une liste d'options de gravure peut être fournie, une par bande en cours d'écriture.

Identifie un champ attributaire sur les entités à utiliser pour une valeur de déverminage. La valeur sera gravée dans toutes les bandes de sortie.

Indique qu'une valeur de combustion doit être extraite des valeurs « Z » de l'entité. Fonctionne avec des points et des lignes (interpolation linéaire le long de chaque segment). Pour les polygones, ne fonctionne correctement que s'ils sont plats (même valeur Z pour tous les sommets).

Au lieu de graver une nouvelle valeur, cela ajoute la nouvelle valeur au raster existant. Convient pour les cartes thermiques par exemple.

Indique la ou les couches de la source de données qui seront utilisées pour les entités en entrée. Peut être spécifié plusieurs fois, mais au moins un nom de couche ou une option -sql doit être spécifié.

Une expression de requête de style SQL WHERE facultative à appliquer pour sélectionner les entités à graver à partir de la ou des couches en entrée.

Une instruction SQL à évaluer par rapport à la source de données pour produire une couche virtuelle de fonctionnalités à graver.

Dialecte SQL. Dans certains cas, peut être utilisé pour utiliser OGR SQL (non optimisé) au lieu du SQL natif d'un SGBDR en passant OGRSQL. Le dialecte « SQLITE » peut également être utilisé avec n'importe quelle source de données.

Sélectionnez le format de sortie. À partir de GDAL 2.3, s'il n'est pas spécifié, le format est deviné à partir de l'extension (auparavant GTiff). Utilisez le nom de format court.

Attribuez une valeur nodata spécifiée aux bandes de sortie.

Pré-initialiser les bandes d'image de sortie avec ces valeurs. Cependant, il n'est pas marqué comme valeur nodata dans le fichier de sortie. Si une seule valeur est donnée, la même valeur est utilisée dans toutes les bandes.

Remplacez la projection pour le fichier de sortie. Si elle n'est pas spécifiée, la projection du fichier vectoriel d'entrée sera utilisée si disponible. Lorsque vous utilisez cette option, aucune reprojection des entités du SRS du vecteur en entrée vers le SRS spécifié du raster en sortie, utilisez donc uniquement cette option pour corriger un SRS source non valide. Le <srs_def> peut être n'importe lequel des formulaires GDAL/OGR habituels, WKT complet, PROJ.4, EPSG:n ou un fichier contenant le WKT.

définissez une option de transformateur appropriée à transmettre à GDALCreateGenImgProjTransformer2() . Ceci est utilisé lors de la conversion des coordonnées géométriques en espace de pixels raster cible. Par exemple, cela peut être utilisé pour spécifier les options de transformateur liées au RPC.

De nombreux formats ont une ou plusieurs options de création facultatives qui peuvent être utilisées pour contrôler les détails du fichier créé. Par exemple, le pilote GeoTIFF prend en charge les options de création pour contrôler la compression et si le fichier doit être en mosaïque.

Les options de création disponibles varient selon le pilote de format, et certains formats simples n'ont aucune option de création. Une liste d'options prises en charge pour un format peut être répertoriée avec l'option de ligne de commande –formats mais la documentation du format est la source définitive d'informations sur les options de création de pilote. Voir la documentation spécifique au format des pilotes raster pour les options de création légales pour chaque format.

Définissez des étendues géoréférencées. Les valeurs doivent être exprimées en unités géoréférencées. Si non spécifié, l'étendue du fichier de sortie sera l'étendue des couches vectorielles.

Définir la résolution cible. Les valeurs doivent être exprimées en unités géoréférencées. Les deux doivent être des valeurs positives.

(pixels alignés cibles) Alignez les coordonnées de l'étendue du fichier de sortie sur les valeurs de -tr , de sorte que l'étendue alignée inclue l'étendue minimale.

Définissez la taille du fichier de sortie en pixels et en lignes. Notez que -ts ne peut pas être utilisé avec -tr

Forcer les bandes de sortie à être du type de données indiqué. La valeur par défaut est Float64

Forcer l'algorithme utilisé (les résultats sont identiques). Le mode raster est utilisé dans la plupart des cas et optimise les opérations de lecture/écriture. Le mode vectoriel est utile avec une quantité décente de fonctionnalités d'entrée et optimise l'utilisation du processeur. Ce mode doit être utilisé avec des images en mosaïque pour être efficace. Le mode automatique (par défaut) choisira l'algorithme en fonction des propriétés d'entrée et de sortie.

Supprimez le moniteur de progression et les autres sorties sans erreur.

Toute source de données lisible prise en charge par OGR.

Le fichier de sortie pris en charge par GDAL. Doit prendre en charge l'accès au mode de mise à jour. Ce fichier sera créé (ou écrasé s'il existe déjà) : option : -of , -a_nodata , -init , -a_srs , -co , -te , -tr , -tap , -ts , ou -ot options sont utilisées.

Le programme crée une nouvelle image raster cible lorsque l'une des options -of , -a_nodata , -init , -a_srs , -co , -te , -tr , -tap , -ts ou -ot est utilisée. La résolution ou la taille doit être spécifiée à l'aide de l'option -tr ou -ts pour tous les nouveaux rasters. Le raster cible sera écrasé s'il existe déjà et que l'une de ces options liées à la création est utilisée.


Modes¶

Ombrage¶

Cette commande génère un raster 8 bits avec un bel effet de relief ombré. C'est très utile pour visualiser le terrain. Vous pouvez éventuellement spécifier l'azimut et l'altitude de la source lumineuse, un facteur d'exagération vertical et un facteur d'échelle pour tenir compte des différences entre les unités verticales et horizontales.

La valeur 0 est utilisée comme valeur nodata de sortie.

Les options spécifiques suivantes sont disponibles :

La littérature suggère que Zevenbergen & Thorne est plus adapté aux paysages lisses, tandis que la formule de Horn est plus performante sur un terrain plus accidenté.

Exagération verticale utilisée pour pré-multiplier les élévations

Rapport des unités verticales à l'horizontale. Si l'unité horizontale du DEM source est le degré (par exemple la projection Lat/Long WGS84), vous pouvez utiliser scale=111120 si les unités verticales sont des mètres (ou scale=370400 si elles sont en pieds)

Azimut de la lumière, en degrés. 0 si elle vient du haut du raster, 90 de l'est, … La valeur par défaut, 315, doit rarement être modifiée car c'est la valeur généralement utilisée pour générer des cartes ombrées.

Altitude de la lumière, en degrés. 90 si la lumière vient du dessus du DEM, 0 si c'est de la lumière rasante.

ombrage combiné, une combinaison de pente et d'ombrage oblique.

ombrage multidirectionnel, une combinaison d'ombrage illuminé à partir d'un azimut de 225 degrés, 270 degrés, 315 degrés et 360 degrés.

ombrage qui essaie de minimiser les effets sur les autres caractéristiques de la carte en dessous. Ne peut pas être utilisé avec l'option -alt.

Pente¶

Cette commande prendra un raster DEM et produira un raster flottant de 32 bits avec des valeurs de pente. Vous avez la possibilité de spécifier le type de valeur de pente que vous souhaitez : degrés ou pourcentage de pente. Dans les cas où les unités horizontales diffèrent des unités verticales, vous pouvez également fournir un facteur d'échelle.

La valeur -9999 est utilisée comme valeur de sortie nodata.

Les options spécifiques suivantes sont disponibles :

La littérature suggère que Zevenbergen & Thorne est plus adapté aux paysages lisses, tandis que la formule de Horn est plus performante sur un terrain plus accidenté.

Si spécifié, la pente sera exprimée en pourcentage de pente. Sinon, il est exprimé en degrés

Rapport des unités verticales à l'horizontale. Si l'unité horizontale du DEM source est le degré (par exemple la projection Lat/Long WGS84), vous pouvez utiliser scale=111120 si les unités verticales sont des mètres (ou scale=370400 si elles sont en pieds).

Aspect¶

Cette commande génère un raster flottant de 32 bits avec des valeurs comprises entre 0° et 360° représentant l'azimut auquel les pentes font face. La définition de l'azimut est telle que : 0° signifie que la pente est face au Nord, 90° elle est face à l'Est, 180° elle est face au Sud et 270° elle est face à l'Ouest (à condition que le haut de votre raster en entrée soit orienté nord). La valeur d'aspect -9999 est utilisée comme valeur nodata pour indiquer un aspect non défini dans les zones plates avec une pente=0.

Les options spécifiques suivantes sont disponibles :

La littérature suggère que Zevenbergen & Thorne est plus adapté aux paysages lisses, tandis que la formule de Horn est plus performante sur un terrain plus accidenté.

Renvoie l'angle trigonométrique au lieu de l'azimut. Ainsi 0° signifie Est, 90° Nord, 180° Ouest, 270° Sud.

Renvoie 0 pour les zones plates avec pente=0, au lieu de -9999.

En utilisant ces 2 options, l'aspect renvoyé par gdaldem aspect devrait être identique à celui de GRASS r.slope.aspect. Sinon, il est identique à celui de l'utilitaire aspect.cpp de Matthew Perry.

Couleur-relief¶

Cette commande génère un raster à 3 bandes (RVB) ou à 4 bandes (RVBA) dont les valeurs sont calculées à partir de l'altitude et un fichier de configuration de couleur basé sur du texte, contenant l'association entre différentes valeurs d'altitude et la couleur souhaitée correspondante. Par défaut, les couleurs entre les valeurs d'altitude données sont mélangées en douceur et le résultat est un joli DEM colorisé. Les options -exact_color_entry ou -nearest_color_entry peuvent être utilisées pour éviter cette interpolation linéaire pour les valeurs qui ne correspondent pas à un index du fichier de configuration des couleurs.

Les options spécifiques suivantes sont disponibles :

Fichier de configuration de couleur basé sur du texte

Ajouter un canal alpha au raster en sortie

Utilisez une correspondance stricte lors de la recherche dans le fichier de configuration des couleurs. Si aucune entrée de couleur correspondante n'est trouvée, le quadruplet "0,0,0,0" RGBA sera utilisé

Utilisez le quadruplet RGBA correspondant à l'entrée la plus proche dans le fichier de configuration des couleurs.

Le mode couleur-relief est le seul mode qui prend en charge VRT comme format de sortie. Dans ce cas, il traduira le fichier de configuration des couleurs en éléments LUT appropriés. Notez que les altitudes spécifiées en pourcentage seront traduites en valeurs absolues, qui doivent être prises en compte lorsque les statistiques du raster source diffèrent de celles qui ont été utilisées lors de la construction de la VRT.

Le fichier de configuration des couleurs à base de texte contient généralement 4 colonnes par ligne : la valeur d'élévation et la composante correspondante Rouge, Vert, Bleu (entre 0 et 255). La valeur d'altitude peut être n'importe quelle valeur à virgule flottante ou le mot-clé nv pour la valeur nodata. L'altitude peut également être exprimée en pourcentage : 0% étant la valeur minimale trouvée dans le raster, 100% la valeur maximale.

Une colonne supplémentaire peut être ajoutée en option pour le composant alpha. S'il n'est pas spécifié, une opacité totale (255) est supposée.

Différents séparateurs de champs sont acceptés : virgule, tabulation, espaces, ':'.

Les couleurs communes utilisées par GRASS peuvent également être spécifiées en utilisant leur nom, au lieu du triplet RVB. La liste prise en charge est : blanc, noir, rouge, vert, bleu, jaune, magenta, cyan, aqua, gris/gris, orange, marron, violet/violet et indigo.

Les fichiers de palette GMT .cpt sont également pris en charge (COLOR_MODEL = RGB uniquement).

Remarque : la syntaxe du fichier de configuration des couleurs est dérivée de celle prise en charge par l'utilitaire GRASS r.colors. Les fichiers de table de couleurs ESRI HDR (.clr) correspondent également à cette syntaxe. Le composant alpha et le support des tabulations et des virgules comme séparateurs sont des extensions spécifiques à GDAL.

Pour implémenter un mode « arrondir à la valeur plancher », la valeur d'élévation peut être dupliquée avec une nouvelle valeur légèrement supérieure au seuil. Par exemple pour avoir du rouge en [0,10], du vert en ]10,20] et du bleu en ]20,30] :

Cette commande génère un raster monocanal avec des valeurs calculées à partir de l'altitude. TRI signifie Terrain Ruggedness Index, qui mesure la différence entre un pixel central et ses cellules environnantes.

La valeur -9999 est utilisée comme valeur de sortie nodata.

L'option suivante est disponible :

À partir de GDAL 3.3, l'algorithme de Riley (voir Riley, SJ, De Gloria, SD, Elliot, R. (1999): A Terrain Ruggedness that Quantifies Topographic Heterogeneity. Intermountain Journal of Science, Vol.5, No.1-4, pp.23-27) est disponible et la nouvelle valeur par défaut. Cet algorithme utilise la racine carrée de la somme du carré de la différence entre un pixel central et ses cellules environnantes. Ceci est recommandé pour les cas d'utilisation terrestre.

L'algorithme de Wilson (voir Wilson et al 2007, Marine Geodesy 30:3-35) utilise la différence moyenne entre un pixel central et ses cellules environnantes. Ceci est recommandé pour les cas d'utilisation bathymétrique.

Cette commande génère un raster monocanal avec des valeurs calculées à partir de l'altitude. TPI signifie Topographic Position Index, qui est défini comme la différence entre un pixel central et la moyenne de ses cellules environnantes (voir Wilson et al 2007, Marine Geodesy 30:3-35).

La valeur -9999 est utilisée comme valeur de sortie nodata.

Il n'y a pas d'options spécifiques.

Rugosité¶

Cette commande génère un raster monocanal avec des valeurs calculées à partir de l'altitude. La rugosité est la plus grande différence entre les cellules d'un pixel central et de sa cellule environnante, telle que définie dans Wilson et al (2007, Marine Geodesy 30:3-35).


Le jeu de données raster en entrée peut être n'importe quel jeu de données raster valide.

Deux sorties sont créées : un fichier binaire signé 32 bits au format à virgule flottante IEEE avec une extension .flt et un fichier d'en-tête ASCII avec une extension .hdr. Les deux utiliseront le même nom de fichier raster en sortie à virgule flottante.

Le fichier ASCII se compose d'informations d'en-tête contenant un ensemble de mots-clés.

Le format du fichier en général est :

Les définitions des mots-clés sont les suivantes :

NCOLS et NROWS sont le nombre de colonnes et de lignes dans le raster défini par le fichier binaire.

XLLCORNER et YLLCORNER sont les coordonnées du coin inférieur gauche de la cellule inférieure gauche.

L'utilisation de XLLCENTER et YLLCENTER n'est pas prise en charge par Raster to Float .

CELLSIZE est la taille de cellule du raster.

NODATA_VALUE est la valeur qui doit représenter les cellules NoData.

BYTEORDER représente la manière dont les nombres binaires multi-octets sont stockés sur le système sur lequel le fichier binaire a été généré. Sur les systèmes à processeur Intel, l'ordre des octets est LSBFIRST (également connu sous le nom de Little Endian). Sur la plupart des autres architectures (la plupart des systèmes UNIX à l'exception d'Alpha et les anciens Macintosh avec des processeurs Motorola), l'ordre des octets est MSBFIRST (également connu sous le nom de Big Endian).

NODATA_VALUE est la valeur du fichier de sortie affectée aux cellules du raster en entrée qui contiennent NoData. Cette valeur est normalement réservée aux cellules dont la vraie valeur est inconnue.

  1. Exécutez l'outil IsNull de l'extension ArcGIS Spatial Analyst sur le raster d'origine. La sortie sera un raster de valeurs binaires, où 1 correspond à NoData sur le raster d'origine et 0 est toute autre valeur.
  2. Exécutez l'outil Con de l'extension ArcGIS Spatial Analyst en spécifiant le résultat IsNull en tant que Raster conditionnel en entrée , la nouvelle valeur à laquelle affecter des valeurs NoData en tant que valeur Vraie en entrée, le raster d'origine en tant que raster en entrée False et une expression de condition de "valeur = 1".
  3. Convertissez le raster de sortie Con en un fichier binaire à virgule flottante avec Raster to Float .
  4. Remplacez la valeur de NODATA_VALUE dans le fichier d'en-tête ASCII par la valeur vers laquelle NoData a été converti.

Cet outil n'écrit l'origine que dans le coin inférieur gauche de la cellule inférieure gauche. L'outil Float to Raster prend également en charge l'origine comme centre de la cellule inférieure gauche.


Hfrhyu

Dois-je écrire des nombres sous forme de mots ou de symboles dans ce cas ?

A quoi sert l'option -o dans la commande useradd ?

Combien de temps ai-je pour envoyer le paiement ?

De la folie des rois comme argument contre la monarchie

Faisabilité des réacteurs nucléaires miniatures pour les cyborgs humanoïdes

Pourquoi les systèmes Unix/Linux ne parcourent-ils pas les répertoires jusqu'à ce qu'ils trouvent la version requise d'une bibliothèque liée ?

Note gonflée sur le curriculum vitae de l'emploi précédent, l'ancien employeur pourrait-il dire au nouvel employeur ?

Comment répondre aux questions pointues « êtes-vous en train d'arrêter » quand je ne veux pas qu'ils soupçonnent

Dois-je utiliser mon e-mail personnel ou professionnel lors de l'inscription à des sites Web externes à des fins professionnelles ?

La différence entre les marques de dialogue

Qu'est-ce que les enfants Banks ont contre l'eau d'orge ?

Pourquoi les politiciens britanniques ignorent-ils apparemment les sondages d'opinion sur le Brexit ?

La version en ligne d'une fonction renvoie une valeur différente de la version non en ligne

Que signifie « sndry explns » dans l'un des guides de l'auto-stoppeur ?

J'ai recherché un futur collègue sur linkedin avant de commencer un travail. J'en ai parlé à mon collègue et il a semblé surpris. Dois-je m'excuser ?

Comment puis-je créer un personnage qui peut assumer la plus large gamme possible de tailles de créatures ?

Graphique et Interprétation des impasses, solution à éviter

JWST pourrait-il rester en L2 « pour toujours » ?

Installer SciPy pour le plugin de classification semi-automatique de QGIS ?

Les résultats de l'enquête 2019 sur les développeurs Stack Overflow sont manquants. lors de l'utilisation du plug-in de classification semi-automatiqueLe plug-in Heatmap se bloque / n'est plus disponible pour QGIS 2.16 ? QGIS se bloque lors de la mise à jour / suppression / démarrage du plug-in de classification semi-automatiquePourquoi le plug-in de classification semi-automatique affirme-t-il à plusieurs reprises que je dois redémarrer qgis ? Erreur de dépendance du plug-in de classification Enregistrement du retour sur investissement de l'entrée de formation à l'aide du dock SCP dans QGISQGIS Erreur d'exécution du plug-in SCP de classification semi-automatiqueQGIS 3 sur Mac, impossible d'exécuter le plug-in de système de classification semi-automatique

Lorsque j'ouvre QGIS, ce message s'affiche :


Plugin de classification semi-automatique : veuillez redémarrer QGIS pour
l'exécution du plugin de classification semi-automatique. Manque possible
dépendances : SciPy


Lorsque j'essaie de réinstaller ou de désinstaller le plug-in, ou même de cliquer dessus, il plante toujours.
J'ai déjà réinstallé QGIS mais cela n'a pas aidé.
J'ai OS X 10.8.5 et QGIS 2.14.8

Je dois faire une analyse des changements d'occupation du sol pour un projet et je voulais utiliser NDVI, j'avais tous mes espoirs sur ce plug in.

Désolé, je suis nouveau dans ce domaine, merci pour votre aide ! Pourquoi ai-je besoin de scipy? J'ai pensé, lorsque j'ai téléchargé QGIS, que le package est terminé et que je peux ensuite ajouter des plugins au besoin ?

Devez-vous installer plus que GQIS et SCP pour utiliser SCP ?

Salut, j'ai le même problème en essayant d'installer le branchement semi-automatique. J'ai installé tous les plug-ins requis à partir de la source et j'ai également essayé via le terminal, mais il continue de planter et cela apparaît : Vérifiez l'installation de Python Numpy, Scipy et Matplotlib pour le plug-in de classification semi-automatique. Je suis désespéré. De l'aide?

– Yan Bensamoun
4 avril à 16:21

Cela ne répond pas vraiment à la question. Si vous avez une autre question, vous pouvez la poser en cliquant sur Poser une question. Vous pouvez également ajouter une prime pour attirer davantage l'attention sur cette question une fois que vous avez suffisamment de réputation. - De l'avis

Lorsque j'ouvre QGIS, ce message s'affiche :


Plugin de classification semi-automatique : veuillez redémarrer QGIS pour
l'exécution du plugin de classification semi-automatique. Manque possible
dépendances : SciPy


Lorsque j'essaie de réinstaller ou de désinstaller le plug-in, ou même de cliquer dessus, il plante toujours.
J'ai déjà réinstallé QGIS mais cela n'a pas aidé.
J'ai OS X 10.8.5 et QGIS 2.14.8

Je dois faire une analyse des changements d'occupation du sol pour un projet et je voulais utiliser NDVI, j'avais tous mes espoirs sur ce plug in.

Désolé, je suis nouveau dans ce domaine, merci pour votre aide ! Pourquoi ai-je besoin de scipy? J'ai pensé, lorsque j'ai téléchargé QGIS, que le package est terminé et que je peux ensuite ajouter des plugins au besoin ?

Devez-vous installer plus que GQIS et SCP pour utiliser SCP ?

Salut, j'ai le même problème en essayant d'installer le branchement semi-automatique. J'ai installé tous les plug-ins requis à partir de la source et j'ai également essayé via le terminal, mais il continue de planter et cela apparaît : Vérifiez l'installation de Python Numpy, Scipy et Matplotlib pour le plug-in de classification semi-automatique. Je suis désespéré. De l'aide?

– Yan Bensamoun
4 avril à 16:21

Cela ne répond pas vraiment à la question. Si vous avez une autre question, vous pouvez la poser en cliquant sur Poser une question. Vous pouvez également ajouter une prime pour attirer davantage l'attention sur cette question une fois que vous avez suffisamment de réputation. - De l'avis

Lorsque j'ouvre QGIS, ce message s'affiche :


Plugin de classification semi-automatique : veuillez redémarrer QGIS pour
l'exécution du plugin de classification semi-automatique. Manque possible
dépendances : SciPy


Lorsque j'essaie de réinstaller ou de désinstaller le plug-in, ou même de cliquer dessus, il plante toujours.
J'ai déjà réinstallé QGIS mais cela n'a pas aidé.
J'ai OS X 10.8.5 et QGIS 2.14.8

Je dois faire une analyse des changements d'occupation du sol pour un projet et je voulais utiliser NDVI, j'avais tous mes espoirs sur ce plug in.

Lorsque j'ouvre QGIS, ce message s'affiche :


Plugin de classification semi-automatique : veuillez redémarrer QGIS pour
l'exécution du plugin de classification semi-automatique. Manque possible
dépendances : SciPy


Lorsque j'essaie de réinstaller ou de désinstaller le plug-in, ou même de cliquer dessus, il plante toujours.
J'ai déjà réinstallé QGIS mais cela n'a pas aidé.
J'ai OS X 10.8.5 et QGIS 2.14.8

Je dois faire une analyse des changements d'occupation du sol pour un projet et je voulais utiliser NDVI, j'avais tous mes espoirs sur ce plug in.

Désolé, je suis nouveau dans ce domaine, merci pour votre aide ! Pourquoi ai-je besoin de scipy? J'ai pensé, lorsque j'ai téléchargé QGIS, que le package est terminé et que je peux ensuite ajouter des plugins au besoin ?

Devez-vous installer plus que GQIS et SCP pour utiliser SCP ?

Salut, j'ai le même problème en essayant d'installer le branchement semi-automatique. J'ai installé tous les plug-ins requis à partir de la source et j'ai également essayé via le terminal, mais il continue de planter et cela apparaît : Vérifiez l'installation de Python Numpy, Scipy et Matplotlib pour le plug-in de classification semi-automatique. Je suis désespéré. De l'aide?

– Yan Bensamoun
4 avril à 16:21

Cela ne répond pas vraiment à la question. Si vous avez une autre question, vous pouvez la poser en cliquant sur Poser une question. Vous pouvez également ajouter une prime pour attirer davantage l'attention sur cette question une fois que vous avez suffisamment de réputation. - De l'avis

Désolé, je suis nouveau dans ce domaine, merci pour votre aide ! Pourquoi ai-je besoin de scipy? J'ai pensé, lorsque j'ai téléchargé QGIS, que le package est terminé et que je peux ensuite ajouter des plugins au besoin ?

Devez-vous installer plus que GQIS et SCP pour utiliser SCP ?

Salut, j'ai le même problème en essayant d'installer le branchement semi-automatique. J'ai installé tous les plug-ins requis à partir de la source et j'ai également essayé via le terminal, mais il continue de planter et cela apparaît : Vérifiez l'installation de Python Numpy, Scipy et Matplotlib pour le plug-in de classification semi-automatique. Je suis désespéré. De l'aide?

– Yan Bensamoun
4 avril à 16:21

Cela ne répond pas vraiment à la question. Si vous avez une autre question, vous pouvez la poser en cliquant sur Poser une question. Vous pouvez également ajouter une prime pour attirer davantage l'attention sur cette question une fois que vous avez suffisamment de réputation. - De l'avis

Désolé, je suis nouveau dans ce domaine, merci pour votre aide ! Pourquoi ai-je besoin de scipy? J'ai pensé, lorsque j'ai téléchargé QGIS, que le package est terminé et que je peux ensuite ajouter des plugins au besoin ?

Désolé, je suis nouveau dans ce domaine, merci pour votre aide ! Pourquoi ai-je besoin de scipy? J'ai pensé, lorsque j'ai téléchargé QGIS, que le package est terminé et que je peux ensuite ajouter des plugins au besoin ?

Devez-vous installer plus que GQIS et SCP pour utiliser SCP ?

Devez-vous installer plus que GQIS et SCP pour utiliser SCP ?

Salut, j'ai le même problème en essayant d'installer le branchement semi-automatique. J'ai installé tous les plug-ins requis à partir de la source et j'ai également essayé via le terminal, mais il continue de planter et cela apparaît : Vérifiez l'installation de Python Numpy, Scipy et Matplotlib pour le plug-in de classification semi-automatique. Je suis désespéré. De l'aide?

– Yan Bensamoun
4 avril à 16:21

Salut, j'ai le même problème en essayant d'installer le branchement semi-automatique. J'ai installé tous les plug-ins requis à partir de la source et j'ai également essayé via le terminal, mais il continue de planter et cela apparaît : Vérifiez l'installation de Python Numpy, Scipy et Matplotlib pour le plug-in de classification semi-automatique. Je suis désespéré. De l'aide?

– Yan Bensamoun
4 avril à 16:21

Cela ne répond pas vraiment à la question. Si vous avez une autre question, vous pouvez la poser en cliquant sur Poser une question. Vous pouvez également ajouter une prime pour attirer davantage l'attention sur cette question une fois que vous avez suffisamment de réputation. - De l'avis

Cela ne répond pas vraiment à la question. Si vous avez une autre question, vous pouvez la poser en cliquant sur Poser une question. Vous pouvez également ajouter une prime pour attirer davantage l'attention sur cette question une fois que vous avez suffisamment de réputation. - De l'avis


Paramètres

Le raster doit être de type entier.

Classe d'entités en sortie qui contiendra les polylignes converties.

Spécifie la valeur qui identifiera les cellules d'arrière-plan. Le jeu de données raster est considéré comme un ensemble de cellules de premier plan et de cellules d'arrière-plan. Les caractéristiques linéaires sont formées à partir des cellules de premier plan.

  • Zéro — L'arrière-plan est composé de cellules de zéro ou moins ou de NoData. Toutes les cellules avec une valeur supérieure à zéro sont considérées comme une valeur de premier plan.
  • NoData — L'arrière-plan est composé de cellules NoData. Toutes les cellules avec des valeurs valides appartiennent au premier plan.

Longueur minimale des polylignes pendantes qui seront conservées. La valeur par défaut est zéro.

Simplifie une ligne en supprimant de petites fluctuations ou des courbures superflues tout en préservant sa forme essentielle.

  • Coché : les polylignes seront simplifiées en des formes plus simples de sorte que chacune contienne un nombre minimum de segments. C'est la valeur par défaut.
  • Non coché : les polylignes ne seront pas simplifiées.

Champ utilisé pour affecter les valeurs des cellules du raster en entrée aux entités polylinéaires du jeu de données en sortie.

Il peut s'agir d'un nombre entier ou d'un champ chaîne.

Le raster doit être de type entier.

Classe d'entités en sortie qui contiendra les polylignes converties.

Spécifie la valeur qui identifiera les cellules d'arrière-plan. Le jeu de données raster est considéré comme un ensemble de cellules de premier plan et de cellules d'arrière-plan. Les caractéristiques linéaires sont formées à partir des cellules de premier plan.

  • ZERO — L'arrière-plan est composé de cellules de zéro ou moins ou de NoData. Toutes les cellules avec une valeur supérieure à zéro sont considérées comme une valeur de premier plan.
  • NODATA — L'arrière-plan est composé de cellules NoData. Toutes les cellules avec des valeurs valides appartiennent au premier plan.

Longueur minimale des polylignes pendantes qui seront conservées. La valeur par défaut est zéro.

Simplifie une ligne en supprimant de petites fluctuations ou des courbures superflues tout en préservant sa forme essentielle.

  • SIMPLIFIER — Les polylignes seront simplifiées en des formes plus simples telles que chacune contienne un nombre minimum de segments. C'est la valeur par défaut.
  • NO_SIMPLIFY — Les polylignes ne seront pas simplifiées.

Champ utilisé pour affecter les valeurs des cellules du raster en entrée aux entités polylinéaires du jeu de données en sortie.


Prenez le temps d'identifier une projection adaptée à votre projet. Vous n'êtes pas obligé de vous en tenir à ceux qui sont populaires.

Il existe plusieurs systèmes courants utilisés pour le stockage et la transmission d'informations CRS, ainsi que pour la traduction entre différents CRS. Ces systèmes sont généralement conformes à la norme ISO 19111. Les systèmes courants de description des SIR incluent les chaînes EPSG, OGC WKT et PROJ.

Le système EPSG est une base de données d'informations CRS maintenue par l'Association internationale des producteurs de pétrole et de gaz. The dataset contains both CRS definitions and information on how to safely convert data from one CRS to another. Using EPSG is easy as every CRS has an integer identifier, e.g. WGS84 is EPSG:4326. The downside is that you can only use the CRSs defined by EPSG and cannot customise them (some datasets do not have EPSG codes). epsg.io is an excellent website for finding suitable projections by location or for finding information about a particular EPSG code.


1. Reading Geographic data

In this tutorial we will use mainly 3 datasets:

Geographic (Vector) data comes in different formats (Shapefiles, Geopackage, Geojson …etc). Loading most of Geodata Formats with Geopandas is straightforward. We can use .read_file().

Let see an example of reading the data. In this case, we will read the countries dataset.

First, we created a variable to hold the file path and then we have used Geopandas, .read_file() method to read the countries dataset. Geopandas takes care of the geometry column which enables us to carry out geoprocessing tasks, for example, plotting maps.

A good way to start your data exploration is to look at the first few rows, the shape of the data, as well as general statistics of the data. This is possible through the following commands.

  • .head() method returns back the first 5 rows. You can adjust the number of rows to get back if you want for example, .head(8) for the first 8 rows in the dataset.
  • .shape() returns the number of rows and columns of the data
  • .describe() can be used to explore some basic statistical details, for example, mean, standard deviation, and percentiles.

This is how the first 5 rows of the data looks like.

One more example of reading data in Geopandas and this time we will read the cities dataset. It comes as Geojson file but the same techniques we have used to read the countries dataset apply here.

We can carry out also the same exploration using .head() , .shape() and .describe() to get a feeling of what this dataset is about. Once we do the explorations, we can go ahead and plot maps.

Plotting maps in Geopandas is easy and available through .plot() function. Since we have two datasets countries and cities data, we can overlay them and display it as a map. Here we set up the subplots using Matplotlib and pass the axis to Geopandas .plot() function.

This is the output map. With just two-three lines of code, we are able to produce this nice map.

It is time for small exercise from your part.

Exercise 1.1: Read the rivers data

Exercise 1.2: Read the first 5 rows of the rivers dataset

Exercise 1.3: Visualize rivers dataset.


Troubleshooting

Number of open files limitation

When working with time series or multispectral data, you may experience the following error message (r.series, r.patch etc.):

Many operating systems have the limitation of opening 1024 files at the same time. The limits are just to prevent a process from (accidentally or deliberately) consuming too much memory. The descriptor table is in kernel memory, and can't be swapped to disk. However, this can be enlarged. Note that, in GRASS GIS 7.0, each raster map requires two open files: one for the cell/fcell file, one for the nul bitmap.

Resource limits are per-process, and inherited. le ulimit command (which is a shell built-in) changes the limits for the current shell process the new limit will be inherited by any child processes.

Solution for Linux: System-wise change

On most Linux systems, resource limits are set on login by the pam_limits module according to the settings contained in /etc/security/limits.conf /etc/security/limits.d/*.conf. You should be able to edit those files if you have root privilege (also via sudo), but you will need to log in again as a user before any changes take effect. A reboot shouldn't be necessary since changes to limits.conf should take effect for any subsequent logins. A hard limit can't be increased for any existing non-root processes, or those descended from them.

Increasing a hard limit requires root privilege (or at least the CAP_SYS_RESOURCE capability), so the limits have to be set by the program which manages the login (login, xdm, sshd, etc) after the user has identified themself (so it knows which limits to set) but before the process changes its ownership from root to the logged-in user.

Add in /etc/security/limits.conf something like this:

On Ubuntu machines, it may be necessary to edit your /etc/pam.d/common-session file and add the following line:

Restart the user session (i.e., logout, login).

Solution for Windows: System-wise change

From the Microsoft documentation it is not very clear how many files can be opened simulaneously (FIX IF POSSIBLE), here some hints:

Solution for Linux: Session only change

To change the limits for an existing session, you may be able to use something like:

However, sudo will probably reset certain environment variables, particularly LD_LIBRARY_PATH, so you may need to reset those in the new shell.

ERROR: G_malloc: unable to allocate xxxx bytes of memory

Be sure to use GRASS GIS 7 which has way better support for large files.

If you happen to use the "memory" option requesting more than 2GB (e.g. memory=3000) check if you are using 64bit executables since 32bit applications can use only up to 2GB memory. In this case it does not matter if the operating system is 64bit or if there is more than 2GB of memory available. You need to use 64bit binaries of GRASS GIS 7.


Voir la vidéo: QGIS Rasterize Vector to Raster. how to convert shapefile to raster in QGIS 向量資料網格化 (Octobre 2021).