Toplu lat longs UTM dönüştürmek?


11

Enlem ve boylam noktalarının uzun bir listesini içeren bir .csv dosyam var. Listeyi toplu olarak öngörülen bir UTM koordinat sistemine dönüştürmenin etkili bir yolu var mı?

Yanıtlar:


8

Belki de en basit yol, verileri içe ve dışa aktarmak için QGIS ve sınırlandırılmış metin eklentisi gibi bir şey kullanmaktır . Komut satırı ve ölçeklenebilir bir şey arıyorsanız, Sasa'nın bahsettiği VRT yaklaşımı iyi bir yaklaşımdır.

Ayrıca aşağıdakileri kullanarak dosya girişleri ve çıktıları ile de yapabilirsiniz gdaltransform:

gdaltransform -s_srs epsg:4326 -t_srs epsg:25832 < space-delimited-coordinates.txt

Sonuçlara daha fazla programlı erişime ihtiyacınız varsa, ilgili soru için pyroj kullanarak geographika'nın cevabına göz atın .


QGIS'deki verileri nasıl dışa aktarmam gerektiği konusunda daha spesifik olabilir misiniz? Noktalarla içe aktarılan katmanı sağ tıklatmayı, Farklı Kaydet ... 'i tıklamayı denedim ve öngörülen koordinat sistemim olarak UTM 16N'yi belirledim. Ancak ortaya çıkan dosya değiştirilmedi!
HPY

CSV yükledikten sonra katman cetveli üzerine gelin ve sonra> seçilen crs olarak kaydedin> dönüştürülecek sistemi seçin ve kaydedin. o zaman CSV dfsfsd'ye geri dönmek istiyorsanız
yair suari

bazı düzenleme sorunları. Talep nes konum csv olarak tekrar kaydet CRS almak için geometri functionsd üzerinde $ x $ ve y değerlerini hesap makinesi özelliklerini kullanmasına ve hesaplamak CSV dönmek eğer
yair suari

9

Arcmap ile csv'yi
ekleyin ve bir olay tablosu oluşturmak için lat longs kullanın. (sağ tıklama katmanı> "XY Verilerini Görüntüle")

Bu, tablo ve bir nokta katmanıyla bir olay katmanı oluşturur (gerçek bir nokta katmanı değil, daha sonra dışa aktarılması gerekir)

ekran xy

belge projeksiyonunu (veri çerçevesi özellikleri) dosyanın istenen çıktısına ayarlayın. (TOC "> özellikler> koordinat sistemi sekmesinde katmanları sağ tıklayın).

Doc pervane

istenen projeksiyon

İçindekiler> Verileri Dışa Aktar'da katmanı sağ tıklayın

ihracat

"Veri çerçevesi ile aynı koordinat sistemini kullanma" seçeneğini kullanın

ihracat


7

ogr2ogr bu (eğer indirebilirsiniz işlemek gerekir FWTools hızlı yüklemek için).

Bu iş parçacığı , CSV verilerinin nasıl yeniden kopyalanacağını gösterir. Özetlemek gerekirse, CSV sütunlarına referanslar içeren bir VRT dosyası oluşturmanız gerekir:

<OGRVRTDataSource>
    <OGRVRTLayer name="test">
        <SrcDataSource>test.csv</SrcDataSource>
        <GeometryType>wkbPoint</GeometryType>
        <GeometryField encoding="PointFromColumns" x="RW" y="HW"/>
    </OGRVRTLayer>
</OGRVRTDataSource>

Ve sonra yeniden projeksiyon için ogr2ogr komutunu çalıştırın:

ogr2ogr -s_srs "epsg:31466" -t_srs "epsg:25832" -f "CSV" -lco GEOMETRY=AS_XY -sql "SELECT PNR FROM test" temp_dir test.vrt

Epsg: 31466'yı UTM koordinat sisteminiz için uygun EPSG koduyla değiştirmeniz gerekir.





3

Anladığım kadarıyla, sadece bir dosyayı yeniden yansıtmak istemiyorsunuz, koordinatları kendileri dönüştürmek ve yeni koordinatlarla yeni bir dosyaya sahip olmak istiyorsunuz. Google "lat / lon 'u utm olarak dönüştürüyorsanız" bu dönüşümü yapacak excel e-tabloları bulmalısınız (örneğin , University of Wisconsin Green Bay'de veya yukarıdaki cevapta ). Veya, toplu olarak birçok farklı koordinat sistemine dönüşen AllTrans veya Franson Coordtrans gibi yazılımlar satın alabilirsiniz.

Veya daha az basit ama daha eğitici, gdal veya FWTools için sözdizimini öğrenmek.


3

Bir komut dosyası çözümü için pyproj kullanabilirsiniz :

import sys
import csv
import pyproj

# example invocation
# ./reproj.py ./file.csv 32619 4326

if (len(sys.argv) != 4):
    print '%s <csvfile> <epsg_code_in> <epsg_code_out>' % sys.argv[0]
    sys.exit(1)
else:
    p1 = pyproj.Proj(init='epsg:%s' % sys.argv[2])
    p2 = pyproj.Proj(init='epsg:%s' % sys.argv[3])

    f = open(sys.argv[1], 'r')
    table = csv.reader(f)
    for row in table:
        print '%s %s' % (row[1], row[2])
        newxy = pyproj.transform(p1, p2, row[1], row[2])
        print '%s %s' % (row[0], newxy[0], newxy[1])
    f.close()

Teşekkür ederim, programcı dostum! Not: CSV dosyanızda 3+ sütun varsa, xy verileriniz ikinci ve üçüncü sütunlar ise bu çalışır. Benim giriş x / y ilk iki sütun olduğundan beri sadece dizinleri biraz ayarlamak zorunda kaldı. Çok net, genişletilebilir ve tekrar kullanılabilir!
Ahmed Fasih

2

Aşağıdaki yeni site, dosyaları çevrimiçi olarak dönüştürür. (Pyproj kullanır)

Ayrıca KML oluşturur ve girdi dosyası genellikle 'olduğu gibi' bırakılabilir ve dönüştürme programı için yeniden biçimlendirilemez.

Sorry i cant post a numeric domain so have to wrap it in a code block!
http://54.251.49.75/XYZ_tools

Lütfen takip etmek için bağlantıyı kesip yapıştırın.


Kaldırıldı. Bana yılda 120 $ + çok az kullanıcı ile yönetici zaman maliyeti. Afedersiniz.
Ninga

1

ARC çözümüne gitmezdim; Bu yaygın dönüşümler için http://www.hamstermap.com gibi birçok çevrimiçi araç vardır - sadece bir koordinat listesini kopyalayıp yapıştırın ve bunları anında dönüştüreceksiniz.


Lon / Lat - UTM için daha iyi bir çevrimiçi toplu iş dönüştürücüsü < zonums.com/online/coords/cotrans.php?module=13 > adresindedir . Hamstermap aracı giriş koordinatlarını değiştiriyor gibi görünürken, zonums aracı giriş verileri ve ayrıca dünya çapında veriler için çalışan zonumlar - sadece WGS84'te, ancak bölgeyi ayarlamanıza izin verir. Lat / lon veya lon / lat arasından doğru seçeneği seçtiğinize dikkat edin. Zonums aracı doğru sonuçlar verir ve kullanımı komut dosyaları veya herhangi bir şeyle uğraşmaktan kesinlikle daha kolaydır.
IanS
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.