2016-12-22 1 views
1

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

+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

+0

Oui pour convertir en fichier texte. Le fichier de formes est avec des coordonnées. – Sam

+0

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. –

Répondre

1

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).

Screenshot for 'Save vector layer as'

Exemple de sortie:

X,Y 
12.4533865449718,41.9032821799601 
12.4417701578001,43.936095834768 
9.51666947290727,47.1337237742936 
1

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