Kullanıcılarım bana Google Earth kullanılarak dijitalleştirilmiş nokta verileri gönderiyor.
KML’lerini bir şekil dosyasına nasıl dönüştürebilirim?
Kullanıcılarım bana Google Earth kullanılarak dijitalleştirilmiş nokta verileri gönderiyor.
KML’lerini bir şekil dosyasına nasıl dönüştürebilirim?
Yanıtlar:
Açık kaynak kullanma ogr2ogr
gelen GDAL / Öğr :
ogr2ogr -f 'ESRI Shapefile' output.shp input.kml
ArcGIS 10, KML'yi bir özellik sınıfına dönüştüren KML To Layer adlı bir GP aracına sahiptir . Yeni aramayı kullanarak KML'yi arayın. Bunu, Google’dan yayılan petrol sızıntılarını almak ve bunları SHP’ye dönüştürmek için kullandım.
KML To Layer, yalnızca bir coğrafi veritabanı özellik sınıfı oluşturabilir; bu nedenle, bunu bir özellik dosyasına dönüştürmek için bir Özellik Sınıfından Özellik Sınıfına kadar bir adım izlenmesi gerekir.
Ogr2ogr komutunu kullanın, ancak bir komut satırıyla ilgilenmiyorsanız, ogr2ogr için gerçekten basit bir ön uç olan ogr2gui'yi deneyin.
ArcGIS'te KML veya KMZ dosyası olarak yayınlanan uzamsal verileri kullanmak için önce KML'yi bir özellik sınıfına (shapefile) dönüştürmelisiniz. Connecticut Üniversitesi, KML'den KML_to_Shp.tbx adlı şekil dosyaları oluşturmak için bir komut dosyası yayımladı. Oldukça iyi çalışıyor ve ArcToolbox'tan kullanabilirsiniz. KML her zaman coğrafi koordinatlarda (WGS84) olacağından, sonunda UTM Zone 15N NAD83'e dönüştürmek isteyeceksiniz ...
Tüm yeni araçlarda olduğu gibi, kullanmadan önce belgelere göz atın. Bu, UCONN'in Arazi Kullanımı Eğitim ve Araştırma Merkezi web sitesinde bulunabilir. Araç kutunuza ekledikten ve sınırlamalarını anladığınızda, araç kullanımı oldukça basittir.
Komut satırı araçlarıyla ilgileniyorsanız, OSGEO'dan GDAL / OGR kullanabilirsiniz.
Bahsedilen bir ticari ürün daha Global Mapper . Bu, düşünülebilecek neredeyse tüm coğrafi verileri görüntüleme, dönüştürme, yeniden projelendirme kategorisinde yer almaktadır. Ücretsiz sürümü yoğun olarak öğrettiğim bir sınıfta kullanıyorum ve neredeyse herkes bunun GIS araçlarının İsviçre çakısı olduğu konusunda yorum yapmaktan kaçınıyor (ücretsiz sürüm çeviri yapmasa da, tüm menü ve seçenekleri ortaya koyuyor). Benim deneyimim de maliyet değerinde.
Diğer cevaplara ek olarak birkaç seçenek daha ...
Açık kaynaklı FDO kütüphanelerini kullanan SL-King's fdo2fdo uygulaması , KML'yi SHP'ye ve tam tersine çevirileri yapmanıza olanak tanır. Komut satırı aracının yanı sıra, hem bir GUI (format-format çevirileri ve daha özelleştirilmiş şema haritalama çevirileri ifade eder) içerir.
Özel uygulamalar için, Güvenli Yazılımın FME'si , kaynak bilgiyi hedefe nasıl haritalandırdığınız konusunda size inanılmaz bir kontrol sağlar. ArcGIS'iniz varsa , buna ek ücret karşılığında Veri Birlikte Çalışabilirlik Uzantısı ( biçimler listesi ) üzerinden erişebilirsiniz .
Nitelikleri olmayan sadece özelliklere işaret ediyorlarsa, XML'i kolayca bir CSV gibi içe aktarabileceğiniz bir öğeye ayırmayı düşünürdüm; sadece koordinat etiketleri arasındaki verileri arıyorsunuz.
Diğer bir seçenek de ArcGIS'te çalışan üçüncü taraf bir uzantı olan XToolsPro kullanmaktır. Pek çok kullanışlı dönüştürme aracı arasında "KML'den Veri Aktarma" işlevi bulunur.
FME, bunun da dahil olmak üzere birçok farklı dönüşüm türünü işleyen çevrimiçi bir araç için beta gönderdi. http://fmeserver.com/userweb/sharper/Portal/EasyTranslator/index.html Bu çevirici size gerçekten yardımcı olmalı.
Başka ticari ürünler de var. Arc2Earth akla geliyor. ArcGIS Desktop ile oldukça iyi bir entegrasyon var. http://www.arc2earth.com
FME'ye Güvenli Yazılımdan da bakabilirsiniz http://www.safe.com
14 günlük deneme sürümü mevcut. FME, veri aktarma / taşıma işlemi sırasında KML dosyanızdaki özellikleri ESRI SHP formatına eşleştirmenizi ve KML nokta dosyalarını belirli özniteliklere veya uzamsal uzantılara göre filtreleyebilmenizi sağlar.
Ayrıca, kullanıcılarınızdan büyük bir KML dosya kümeniz olduğunda toplu dönüştürme yapma seçeneği de vardır.
~ SRG
komut satırı kontrolü için OGR'yi kullanın, Google Earth Pro, diğer çeşitli uygulamalarda olduğu gibi dönüştürmek için grafiksel bir yol sunar
ET GeoWizards ayrıca, KML veya KMZ dosyalarını özellik sınıfına dönüştürecek Google Earth seçeneğinden bir içe aktarma seçeneğine sahiptir. > http://www.ian-ko.com/ET_GeoWizards/gw_MainFeatures.htm
Açık kaynak kodlu bir seçenek arıyorsanız, MapWindow’un daha yeni güncellendiğini ve KML’ye ve shapefile’ye dönüştürmek için kullanabileceğiniz birkaç eklenti olduğunu görüyorum .
Açık Kaynaklı MapWindow GIS , KML / KMZ dosyalarını şekil dosyalarına dönüştürmek için ücretsiz bir uzantıya ( KML2Shapefile ) sahiptir.
Birlikte çalışma uzantısına sahipseniz, bu KML'yi doğrudan ArcMap'e yükleyin ve shp'ye aktarın.
Q'unuzun karşıt cevabı olmasına rağmen, birinin tam tersi yapmak için buraya gelmesi durumunda, bu betiği SHP'den almak için mükemmel buluyorum -> KML http://arcscripts.esri.com/details.asp?dbid=14273
Dosyalarınızı çevrimiçi dönüştürmek istiyorsanız, MyGeodata GIS formatlarını deneyin ve sistem dönüştürücüyü koordine edin . Ogr2ogr (gdal / ogr kütüphanesi) dayanmaktadır - bu nedenle neredeyse tüm bilinen GIS formatları ve koordinat sistemleri desteklenir ...
Zonum Solutions'ın Çevrimiçi KML'sini Shapefile çevirici de iyi çalışıyor:
KML'yi SHP'ye dönüştürmek için ek kaynak eklemek amacıyla verilen yanıtlardan hiçbirinde görmediğim birkaç seçenek şöyle olacaktır:
Keyhole Markup Dil formatının ESRI Shapefile formatına (KML - SHP) çevrimiçi dönüştürücüsü, hem bireysel hem de toplu dönüşümler için kullanımı hızlı ve kolaydır. Dönüştürücü ayrıca 90'dan fazla diğer vektör ve rasterleri GIS / CAD formatlarını ve 3.000'den fazla koordinat referans sistemini destekler.
Ücretsiz Coğrafya Araçları Zonums Yazılım aracını kapsar ve öğretir
Daha temiz sonuçlar verebilecek iyi ve kolay bir yardım, önce KML'yi GPX'e dönüştürmek (bunu yapabilen birkaç açık kaynaklı yazılım vardır) ve ilgili verileri açmaktır (GPX'in 5 farklı bilgi sınıfı vardır: Yol Noktaları, İz Noktaları, Rota Noktaları, Parçalar ve Rotalar) QGIS içindeki GDAL / OGR'dan ogr2ogr kullanarak ve doğrudan .SHP dosya biçiminde kaydedin.
Arzu edilirse tek bir şekil dosyası üretmek için toplu işlemi kullanmak (örneğin, SAGA'dan Birleştirme Vektör Katmanlarını kullanarak) kullanmak oldukça kolaydır ve ayrıca "SHP olarak Kaydet" sonundaki boş özellikleri de temizleyebilirsiniz.
Nihai sonucunuzda garip karakterler görünüyorsa, kodlama sistemine özellikle dikkat edin ... haritanıza yeni vektör verileri eklediğiniz anda uygun olanı seçebilirsiniz.
Partiye geç kaldım ama işte birkaç ekstra yol:
Google Fusion Tables , KML puan bilgilerini WGS84 X ve Y'ye .csv biçiminde dönüştürebilir, bu sayede tercih ettiğiniz GIS analiz yazılımında kullanabilirsiniz.
Rgdal paketini R .:
install.packages("rgdal")
library(rgdal) #load package
kmlfile=readOGR("yourkmlfilehere.kml") #load KML
writeOGR(kmlfile,"yourshapepath",layer="shapename", driver="ESRI Shapefile") #save shape
Başka bir ipucu: Komut satırını kullanarak bir dosya / klasördeki birden fazla KML'yi bir kerede dönüştürmek istiyorsanız, komut satırını kullanarak şekil dosyasını açın, klasörde cmd'yi açın ve şunu yazın:
/ R% f (* .kml) için ogr2ogr -f "ESRI Shapefile" "% ~ dpnf.shp" "% f" yapın
Not: KML'nin adını shapefile adı olarak kullanacaktır, bu nedenle KML'lerin shapefiles için uygun adlandırma formatlarına sahip olduğundan emin olun. Shapefile, karşılık gelen kml ile aynı dizinde oluşturulacaktır. Alt dizinlerdeki KML'ler de şekil dosyalarına dönüştürülecek.
KML'yi Shp dosya formatına dönüştürmek için ogr2ogr yardımcı programını kullanabilirsiniz. Öncelikle sisteme yüklemeniz gerekir, Eğer önceden kurduysanız terminalde ogr2ogr tipini kullanın.
Şimdi dönüşüm için verilen komutun yerine getirilmesi gerekiyor.
--- ogr2ogr -f 'ESRI Shapefile' Output_sahpefile.shp Input_KML.kml
Bu, dönüşümleri ogr2ogr ile yapabilir ve sonuç alamıyorsanız, kodlama yöntemiyle Kml'yi shp'ye dönüştürebilirsiniz.
Bu PHP kullanarak da yapılabilir. Bu komutu dize olarak tanımlayan bir işlev oluşturabilir ve bu dize çalıştırılması için shell_exec () yönteminde verebilirsiniz. Shell_exec () aslında komutu çalıştırır ve çıktıyı string olarak döndürür.
public function KML_to_shp($KMLfilepath,$output){
$query="ogr2ogr -f 'ESRI Shapefile' $output.gml $KMLfilepath";
shell_exec($query);
}
Komut satırı aracını ogr2ogr kullanarak veya php kodunu kullanarak kml'yi shp'ye dönüştürmek için kullanılan bir yazı . QGIS aracını kullanıyorsanız, QGIS kullanarak shp convert veya bu yazıyı kullanmaya devam etmek için burada kml adresindeki blog yazımdan birine bakabilirsiniz .
ArcGIS’te sadece "KEYER TO LAYER" veya "KML Katmanı" nı arayın. bu araç, shapefile ve KML'ye dönüştürmenize yardımcı olur