J'ai des fichiers au format ESRI Shapefile. Puis-je savoir comment puis-je utiliser la bibliothèque QGIS ou python gdal pour extraire la latitude et la longitude? J'ai installé QGIS et j'y ajoute une couche de shapefile, je peux voir le (lat, long) sur la carte mais je ne sais pas comment extraire le (lat, long) out .. Me conseil pour extraire le (lat, long) sur. TQComment convertir le format de fichier de formes ESRI à l'aide de QGIS ou de la bibliothèque python gdal pour extraire des fichiers latéraux
Répondre
Faites un clic droit sur votre calque, sélectionnez "Enregistrer sous". La boîte de dialogue "Enregistrer le calque vectoriel sous ..." s'ouvrira. Sélectionnez les options suivantes:
Format: Comma Separated Value [CSV]
Nom du fichier: Sélectionnez un nom de fichier
CRS: EPSG: 4326, WGS84
Dans la partie inférieure, développez « Sélectionner les champs à exporter "et cliquez sur" Désélectionner tout "si vous voulez juste les coordonnées, ou vérifiez les éléments disponibles (colonnes de la table attributaire) si vous avez besoin de noms de lieux, etc. En choisissant WGS84 comme sortie CRS vous recevrez vos coordonnées en degrés décimaux (latitude Longitude).
Exemple de sortie:
X,Y
12.4533865449718,41.9032821799601
12.4417701578001,43.936095834768
9.51666947290727,47.1337237742936
Si vous voulez faire avec python, vous n'avez pas besoin GDAL pour cela. Je trouve que les geopandas (avec Shapely) sont une bibliothèque beaucoup plus simple pour travailler avec des shapefiles. Bien que cela puisse prendre quelques minutes de plus que de cliquer sur l'interface QGIS, apprendre à manipuler des fichiers de formes en Python est une connaissance très puissante à long terme. Voici un échantillon de votre tâche, réalisée avec python:
import geopandas as gpd
# read shapefile (attributes and geometry) into geodataframe
shp = gpd.read_file("sample_shapefile.shp")
# convert "geometry" field into separate X and Y fields
shp["X"]=shp["geometry"].apply(lambda geom: geom.x)
shp["Y"]=shp["geometry"].apply(lambda geom: geom.y)
#save X,Y into csv file
shp[["X","Y"]].to_csv("coords.csv",header=True,index=False,sep=",")
Whick produira la sortie désirée en coords.csv:
X,Y
425070.0,80330.0
408390.0,81150.0
405370.0,85860.0
410880.0,82850.0
415310.0,80630.0
418610.0,80350.0
Que voulez-vous dire par extraction, convertir en fichier CSV/texte? Avez-vous un Shapefile avec des coordonnées de point ou d'autres géométries? – chrki
Oui pour convertir en fichier texte. Le fichier de formes est avec des coordonnées. – Sam
Est-ce que l'une des solutions proposées a résolu vos problèmes? Alors s'il vous plaît marquer cette réponse comme sélectionnée pour les futurs visiteurs et afin de fermer le fil. –