GPX dosyalarını QGIS'e toplu olarak nasıl içe aktarabilir ve tek bir şekil dosyasına nasıl birleştirebilirim?


11

Ben QGIS app Strava kullanarak kaydettiğim tüm bisiklet sürmek kendi 'ısı haritası' oluşturmak için arıyorum.

450'den fazla bireysel gpx dosyaları var ve ben çokgen bir katmana onları birleştirmek ve bu örnekte görüldüğü gibi join_count tarafından sembolize böylece parça puan katmanları tek bir şekil dosyası içine birleştirmek istiyorum :

resim açıklamasını buraya girin

Bazı gpx dosyaları dosya adı 'binmek' ve diğerleri 'çalıştırmak' içerir, ben sadece 'binmek' olanları bırakarak dosyaları filtrelemek istiyorum.

QGIS kullanarak bunu nasıl verimli bir şekilde yapabilirim?

Yanıtlar:


13

QGIS ile dağıtılan ogr2ogr komut satırı aracını kullanın. Windows'da QGIS program grubundan OSGeo4W Kabuğu'nu açın ve Enter tuşuna basın.

for %p in (path_to_gpx_files\*ride*.gpx) do ogr2ogr path_for_output\gpx.shp -append %p track_points -fieldTypeToString DateTime

Unix bash kabuğundaki eşdeğer komut

for file in path_to_gpx_files/*ride*.gpx; do ogr2ogr path_for_output/gpx.shp -append "${file}" track_points -fieldTypeToString DateTime; done

Çıktı dosyasının (gpx.shp) daha önce var olmadığından emin olun, ogr2ogr içinde "binmek" olan tüm gpx dosyalarından tek bir şekil dosyası oluşturur. Http://www.gdal.org/drv_gpx.html adresinde ogr gpx sürücüsü hakkında bazı notlar vardır .


3

Bunun geç olduğunu biliyorum ama bir gün başkalarına yardımcı olabilir. Bu cevapta daha fazla açıkladığım Batch GPS Importer adlı bir QGIS eklentisi var .

En son sürüm, önek ve sonek metni kullanarak dosyaları filtreleyebilir. Toplu GPS İthalatçısı

Umut ediyorum bu yardım eder.


2

İstediğiniz veri katmanı için her bir dosya istenirse de, aynı anda birden fazla GPX dosyasını içe aktarabilirsiniz. 400'den fazla iz ile eğlenceli olmayacak.

Sen ogr2ogr bakmak isteyebilirsiniz . Bu İsviçre-Ordu-Bıçak coğrafi dosya dönüşümleri, hemen hemen her coğrafi biçimi diğer uyumlu (vektör / raster) coğrafi biçime dönüştürecektir.

bir ogr2ogr araması şuna benzer

ogr2ogr -f "ESRI Shapefile" example.shp example.gpx

Her sürüşte * .gpx yinelemek ve örneğin bir şekil dosyasına dönüştürmek için programlı olarak (örneğin, bir python betiği, .bat dosyası veya bash betiğinden) çağırabilirsiniz.

Bunu söyledikten sonra, OpenStreetMap'ten indirdiğim birkaç rastgele gpx izi üzerinde çalışmak için bunu alamadım (QGIS onları yüklemesine rağmen ogrinfo da onları beğenmedi). Ancak GPX dosyalarını başka bir kaynaktan açabildim.

Koşmayı dene

ogrinfo example.gpx tracks

ve yararlı çıktı alıp almadığınızı görün. Bir sürücü listesi alırsanız başarısız olur.

Kilometreniz değişebilir, gitmeye değer.

Her şekil dosyasının kendi diziniyle sonuçlanacağını unutmayın, bu nedenle kod yazma zahmetini istemiyorsanız bunun yerine CSV'yi deneyebilirsiniz .. bu blog yayınına bakın .

Birleştirme yapmak için (kod kullanarak) tüm şekil dosyalarını tek bir dizine kopyalayabilir, ardından Vektör> Veri Yönetimi araçları> Şekil dosyalarını bir dosyada birleştirebilirsiniz

Gösterdiğiniz altıgen stilinden hoşlanıyorsanız, MMQgis eklentisine bakmak isteyebilirsiniz . Bu, daha sonra 'poligondaki noktalar' analizini yapmak için kullanabileceğiniz altıgen ızgaraların oluşturulmasına izin verir.


4
Windows'da QGIS Program Grubundan OSGeo4W Kabuğunu açtım ve denedim for %p in (C:\Data\*.gpx) do ogr2ogr gpx.shp -append %p track_points -fieldTypeToString DateTime. gpx.shp daha önce olmamalıdır, ogr2ogr tek bir şekil dosyası oluşturur.
Redoute

1
Bunu cevap olarak @Redoute yazmalısınız!
Alex Leith

@Redoute Evet lütfen tam cevap olarak yazabilir misiniz? Teşekkürler
MFBawls

1
Linux kullanıcıları için @Redoute tarafından mükemmel öneri çevirisi, bir cazibe gibi çalışır ...#!/bin/bash for i in $( ls ./*.gpx ); do ogr2ogr gpx.shp -append $i track_points -fieldTypeToString DateTime done
Steven Kay
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.