ผู้ใช้ของฉันกำลังส่งข้อมูลจุดให้ฉันซึ่งเป็นข้อมูลดิจิทัลโดยใช้ Google Earth
ฉันจะแปลง KML ให้เป็น Shapefile ได้อย่างไร
ผู้ใช้ของฉันกำลังส่งข้อมูลจุดให้ฉันซึ่งเป็นข้อมูลดิจิทัลโดยใช้ Google Earth
ฉันจะแปลง KML ให้เป็น Shapefile ได้อย่างไร
คำตอบ:
การใช้โอเพ่นซอร์สogr2ogr
จากGDAL / OGR :
ogr2ogr -f 'ESRI Shapefile' output.shp input.kml
ArcGIS 10 มีเครื่องมือ GP ที่เรียกว่าKML เป็นเลเยอร์ที่แปลง KML เป็นคลาสคุณลักษณะ ค้นหา KML โดยใช้การค้นหาใหม่ ฉันใช้สิ่งนี้เพื่อดึงน้ำมัน kml ที่ป้อนจาก Google และแปลงเป็น SHP
KML ไปยังเลเยอร์สามารถสร้างคลาสคุณลักษณะทางภูมิศาสตร์ฐานข้อมูลเพื่อให้ต้องดำเนินการตามขั้นตอนคุณลักษณะคลาสเป็นคุณลักษณะคลาสเพื่อแปลงเป็นรูปร่างไฟล์
ใช้ ogr2ogr แต่ถ้าคุณไม่สนใจในบรรทัดคำสั่งให้ลองogr2gui - ส่วนหน้าที่เรียบง่ายจริงๆสำหรับ ogr2ogr
ในการใช้ข้อมูลเชิงพื้นที่ที่เผยแพร่เป็นไฟล์ KML หรือ KMZ ใน ArcGIS คุณต้องแปลง KML เป็นคลาสคุณลักษณะ (รูปร่างไฟล์) มหาวิทยาลัยคอนเนตทิคัตได้เผยแพร่สคริปต์สำหรับการสร้าง shapefiles จาก KML ชื่อ KML_to_Shp.tbx มันใช้งานได้ค่อนข้างดีและคุณสามารถใช้งานได้จาก ArcToolbox เนื่องจาก KML จะ (ควร) อยู่ในพิกัดทางภูมิศาสตร์ (WGS84) เสมอในที่สุดคุณจะต้องการแปลงเป็น UTM Zone 15N NAD83 ...
เช่นเดียวกับเครื่องมือใหม่ทั้งหมดตรวจสอบเอกสารประกอบก่อนใช้งาน สามารถดูได้ที่เว็บไซต์ศูนย์การศึกษาและวิจัยการใช้ประโยชน์ที่ดินของ UCONN เมื่อคุณเพิ่มลงในกล่องเครื่องมือของคุณและเข้าใจถึงข้อ จำกัด ของเครื่องมือนี้แล้วจะใช้งานได้ทันที
หากคุณสนใจเครื่องมือบรรทัดคำสั่งคุณสามารถใช้ GDAL / OGR จาก OSGEO
หนึ่งผลิตภัณฑ์เชิงพาณิชย์มากขึ้นที่หมีกล่าวขวัญMapper ทั่วโลก สิ่งนี้อยู่ในหมวดหมู่ของมุมมอง, แปลง, ฉายภาพอีกครั้งเกือบทุกข้อมูลทางภูมิศาสตร์ที่คุณสามารถจินตนาการได้ ฉันใช้รุ่นฟรีอย่างหนักในชั้นเรียนที่ฉันสอนและเกือบทุกคนเดินออกไปแสดงความคิดเห็นว่านี่คือมีดสวิสกองทัพของเครื่องมือ GIS (แม้ว่ารุ่นฟรีไม่ได้ทำการแปลมันทำให้เมนูและตัวเลือกต่าง ๆ ) คุ้มค่ากับประสบการณ์ของฉัน
เพิ่มตัวเลือกเพิ่มเติมนอกเหนือจากคำตอบอื่น ๆ ...
แอปพลิเคชัน fdo2fdoของ SL-King ซึ่งใช้ไลบรารี FDO แบบโอเพ่นซอร์สช่วยให้คุณสามารถดำเนินการ KML ไปยัง SHP และการแปลวีซ่าในทางกลับกัน มันมีทั้ง GUI (ซึ่งแสดงการแปลฟอร์แมตเป็นฟอร์แมตและการแปลการแม็พสกีมาที่กำหนดเอง) รวมถึงเครื่องมือบรรทัดคำสั่ง
สำหรับการใช้งาน properietary ซอฟท์แวปลอดภัยของFMEช่วยให้คุณควบคุมที่น่าตื่นตาตื่นใจมากกว่าวิธีการที่คุณแมแหล่งข้อมูลเข้าสู่ปลายทาง หากคุณมี ArcGIS คุณสามารถเข้าถึงสิ่งนี้ได้ผ่านทาง Data Interoperability Extension ( รายการรูปแบบ ) โดยมีค่าใช้จ่ายเพิ่มเติม
หากพวกเขาเป็นเพียงจุดคุณสมบัติที่ไม่มีคุณลักษณะฉันจะพิจารณาแยก XML เป็นสิ่งที่คุณสามารถนำเข้าได้อย่างง่ายดายเช่น CSV; คุณแค่มองหาข้อมูลระหว่างแท็กพิกัด
อีกตัวเลือกหนึ่งคือการใช้ XToolsPro ซึ่งเป็นส่วนขยายของบุคคลที่สามที่ใช้งานได้ใน ArcGIS เครื่องมือการแปลงที่มีประโยชน์มากมายของพวกเขาคือฟังก์ชั่น "นำเข้าข้อมูลจาก KML"
FME โพสต์เบต้าสำหรับเครื่องมือออนไลน์ที่จัดการการแปลงหลายประเภทรวมถึงสิ่งนี้ http://fmeserver.com/userweb/sharper/Portal/EasyTranslator/index.html เครื่องมือ แปลงนี้น่าจะช่วยคุณได้จริงๆ
นอกจากนี้ยังมีผลิตภัณฑ์เชิงพาณิชย์อื่น ๆ Arc2Earth อยู่ในใจ มันเป็นการรวมที่ดีกับ ArcGIS Desktop http://www.arc2earth.com
QGIS แข็งแกร่งขึ้นมากสำหรับการแปลงระหว่าง kml และ shp เพียงแค่ใช้บันทึกเป็นจากเมนูคลิกขวาบนเลเยอร์ หรือเปิดแต่ละประเภทไฟล์จากเมนู Add New Layer ตรวจสอบให้แน่ใจว่าได้เปลี่ยนประเภทไฟล์ในกล่องโต้ตอบ
นอกจากนี้คุณยังสามารถดู FME จาก Safe Software http://www.safe.com
มีการทดลองใช้ 14 วัน FME ช่วยให้คุณสามารถแมปแอตทริบิวต์จากไฟล์ KML ของคุณกับรูปแบบ ESRI SHP ในระหว่างกระบวนการแปลง / ย้ายข้อมูลนอกเหนือจากความสามารถในการกรองไฟล์จุด KML ตามคุณลักษณะบางอย่างหรือขอบเขตเชิงพื้นที่
นอกจากนี้ยังมีตัวเลือกในการแปลงเป็นชุดเมื่อคุณมีไฟล์ KML ชุดใหญ่จากผู้ใช้ของคุณ
~ SRG
ใช้ OGR สำหรับการควบคุมบรรทัดคำสั่ง Google Earth Pro จะให้วิธีการแปลงเป็นกราฟิกเช่นเดียวกับแอปอื่น ๆ ที่หลากหลาย
ET GeoWizards ยังมีการนำเข้าจากตัวเลือก Google Earth ซึ่งจะแปลงไฟล์ KML หรือ KMZ ไปเป็นระดับคุณลักษณะ > http://www.ian-ko.com/ET_GeoWizards/gw_MainFeatures.htm
หากคุณกำลังมองหาตัวเลือกโอเพนซอร์ซฉันเห็นว่าMapWindowเพิ่งได้รับการอัปเดตและมีปลั๊กอินอีกสองตัวสำหรับการแปลงเป็นและจาก KML และ shapefile
Open Source MapWindow GISมีนามสกุลฟรี ( KML2Shapefile ) สำหรับการแปลงไฟล์ KML / KMZ เป็นรูปร่างไฟล์
หากคุณมีส่วนขยายการทำงานร่วมกันเพียงโหลด KML นั้นลงใน ArcMap และส่งออกไปยัง shp
แม้ว่าคำตอบที่ตรงข้ามกับคำถามของคุณในกรณีที่มีคนมาที่นี่เพื่อทำในทางกลับกันฉันพบว่าสคริปต์นี้สมบูรณ์แบบที่จะไปจาก SHP -> KML http://arcscripts.esri.com/details.asp?dbid=14273
หากคุณต้องการแปลงไฟล์ของคุณออนไลน์ลองMyGeodata รูปแบบ GIS และประสานงานการแปลงระบบ มันขึ้นอยู่กับ ogr2ogr (ไลบรารี gdal / ogr) - ดังนั้นเกือบทุกรูปแบบ GIS ที่รู้จักกันและระบบพิกัดได้รับการสนับสนุน ...
KML Zonum Solutions 'ออนไลน์เพื่อตัวแปลง Shapefile ยังทำงานได้ดี:
ตัวเลือกบางอย่างที่ฉันไม่เห็นในคำตอบใด ๆ เพื่อเพิ่มทรัพยากรเพิ่มเติมสำหรับการแปลง KML เป็น SHP จะเป็นดังนี้:
เครื่องมือแปลงรูปแบบภาษาของ Keyhole Markup เป็นรูปแบบไฟล์ ESRI Shapefile (KML เป็น SHP) เป็นเครื่องมือที่รวดเร็วและใช้งานง่ายสำหรับการแปลงทั้งแบบเดี่ยวและเดี่ยว ตัวแปลงยังรองรับเวกเตอร์และแรสเตอร์อื่น ๆ มากกว่า 90 รูปแบบ GIS / CAD และระบบอ้างอิงพิกัดมากกว่า 3,000 รายการ
เครื่องมือภูมิศาสตร์ฟรีครอบคลุมและให้การสอนเกี่ยวกับเครื่องมือซอฟต์แวร์ Zonums
ความช่วยเหลือที่ดีและง่ายที่อาจให้ผลลัพธ์ที่สะอาดยิ่งขึ้นคือการแปลง KML เป็น GPX ก่อน (มีซอฟต์แวร์โอเพนซอร์ซหลายตัวที่สามารถทำได้) และเปิดข้อมูลที่เกี่ยวข้อง (GPX มีข้อมูลที่แตกต่างกัน 5 ระดับ: Waypoint, Trackpoints Routepoints, Track และ Routes) โดยใช้ ogr2ogr จาก GDAL / OGR ใน QGIS และบันทึกโดยตรงในรูปแบบไฟล์. HP
มันค่อนข้างง่ายที่จะใช้กระบวนการแบทช์สำหรับข้อมูลจำนวนมาก (โดยใช้ Merge Vector Layers จาก SAGA เป็นต้น) เพื่อสร้างไฟล์รูปร่างเดียวหากต้องการและคุณยังสามารถล้างแอททริบิวที่ว่างเปล่าไว้ก่อนหน้า "Save as SHP"
ให้ความสนใจเป็นพิเศษกับระบบการประมวลผลหากอักขระแปลก ๆ ปรากฏขึ้นในผลลัพธ์สุดท้ายของคุณ ... คุณสามารถเลือกหนึ่งตัวอักษรที่เหมาะสมในขณะที่คุณเพิ่มข้อมูลเวกเตอร์ใหม่ลงในแผนที่ของคุณ
ฉันไปงานปาร์ตี้สาย แต่ต่อไปนี้เป็นวิธีพิเศษบางประการ:
Google Fusion Tablesสามารถแปลงข้อมูลคะแนน KML เป็น WGS84 X และ Y ในรูปแบบ. csv ซึ่งคุณสามารถใช้ในซอฟต์แวร์วิเคราะห์ GIS ที่คุณต้องการ
ใช้แพ็คเกจ rgdal ใน R .:
install.packages("rgdal")
library(rgdal) #load package
kmlfile=readOGR("yourkmlfilehere.kml") #load KML
writeOGR(kmlfile,"yourshapepath",layer="shapename", driver="ESRI Shapefile") #save shape
เคล็ดลับอื่น: หากคุณต้องการแปลง KML หลายรายการในโฟลเดอร์ / ไดเรกทอรีพร้อมกันเป็น shapefile โดยใช้บรรทัดคำสั่งให้เปิด cmd ในโฟลเดอร์และพิมพ์ใน:
สำหรับ / R% f ใน (* .kml) ทำ ogr2ogr -f "ESRI Shapefile" "% ~ dpnf.shp" "% f"
หมายเหตุ: จะใช้ชื่อของ KML เป็นชื่อของ shapefile ดังนั้นตรวจสอบให้แน่ใจว่า KML ของคุณมีรูปแบบการตั้งชื่อที่เหมาะสมสำหรับ shapefiles Shapefile จะถูกสร้างขึ้นในไดเรกทอรีเดียวกันกับ kml ที่เกี่ยวข้อง KML ในไดเรกทอรีย่อยจะถูกแปลงเป็นรูปร่างไฟล์ด้วย
สำหรับการแปลงรูปแบบไฟล์ KML เป็น Shp คุณสามารถใช้ยูทิลิตี้ ogr2ogr ประการแรกคุณต้องติดตั้งในระบบหากคุณติดตั้งไว้แล้วให้พิมพ์ ogr2ogr ในเทอร์มินัล
ตอนนี้สำหรับการแปลงคำสั่งที่กำหนดจะต้องมีการดำเนินการคือ
--- ogr2ogr -f 'ESRI Shapefile' Output_sahpefile.shp Input_KML.kml
นี่คือวิธีที่การแปลงสามารถทำได้โดย ogr2ogr และหากคุณไม่ได้รับผลลัพธ์คุณสามารถแปลง Kml เป็น shp ด้วยวิธีการเข้ารหัส
สิ่งนี้สามารถทำได้โดยใช้ PHP คุณสามารถสร้างฟังก์ชั่นที่กำหนดคำสั่งนี้เป็นสตริงและสามารถให้สตริงนี้ใน shell_exec () วิธีการดำเนินการ Shell_exec () เรียกใช้งานคำสั่งจริงและส่งคืนเอาต์พุตเป็นสตริง
public function KML_to_shp($KMLfilepath,$output){
$query="ogr2ogr -f 'ESRI Shapefile' $output.gml $KMLfilepath";
shell_exec($query);
}
นี่คือโพสต์เพื่อแปลง kml เป็น shpโดยใช้เครื่องมือบรรทัดคำสั่งogr2ogrหรือใช้รหัส php ในขณะที่ถ้าคุณใช้เครื่องมือ QGIS คุณสามารถดูโพสต์บล็อกของฉันที่นี่kml เพื่อแปลง shp โดยใช้ QGISหรือใช้โพสต์นี้ต่อไป
ใน ArcGIS เพียงค้นหา "kml TO LAYER" หรือ "Layer to KML" เครื่องมือนี้จะช่วยคุณแปลงเป็นรูปร่างไฟล์และ KML