Chuyển KMZ sang SHP online - điểm, đường, vùng | MiConvert

Chuyển KMZ sang SHP online

Tải lên tệp KMZ của Google Earth và nhận lại một tệp ZIP chứa bộ shapefile đầy đủ (.shp, .shx, .dbf, .prj) được tách theo loại hình học. Có một điều bạn nên biết trước: bộ ghi shapefile của chúng tôi cắt tên trường DBF xuống còn 8 ký tự, nên thuộc tính có tên description sẽ trở thành descript.

📁

Thả file của bạn vào đây

hoặc nhấn để chọn file

Chọn tệp

Tối đa 10 file, mỗi file 50MB

SSL được mã hóa Tự động xóa Không đăng ký Miễn phí 100%
KMZ → SHP

Từ một tệp nén của Google Earth thành lớp dữ liệu GIS

KMZ là một tệp nén ZIP chứa một tài liệu KML và thường kèm theo các biểu tượng cùng ảnh phủ đi với nó. Cách đóng gói đó phù hợp với Google Earth, nhưng đó không phải là một lớp dữ liệu GIS: không có bảng thuộc tính được định kiểu, không có tệp phép chiếu, và các placemark được tổ chức thành thư mục hiển thị thay vì các lớp điểm, đường và vùng. Phần mềm GIS trên máy tính thường xem trước được một KMZ, nhưng để có một lớp có thể chỉnh sửa thì trước tiên bạn phải chạy một bước chuyển đổi, mà trong ArcGIS Pro bước này tạo ra một geodatabase chứ không phải shapefile, định dạng mà nhiều quy trình làm việc và nhiều khách hàng vẫn yêu cầu.

Công cụ của chúng tôi làm việc trực tiếp với chính tệp nén đó. Nó nhận ra KMZ qua chữ ký ZIP bên trong tệp chứ không qua phần mở rộng, chỉ rút ra các mục .kml bằng 7-Zip, rồi chọn tài liệu chính: doc.kml ở gốc nếu có, nếu không thì tệp KML đầu tiên ở cấp gốc, nếu vẫn không thì tệp nằm ở cấp nông nhất. Các NetworkLink trỏ tới những tệp KML khác được đóng gói trong cùng tệp nén sẽ được đi theo, tối đa 2.000 tệp. XML được phân tích và chuyển thành hình học GeoJSON, sau đó bộ ghi shapefile tạo ra các tệp lớp. Mọi thứ chạy trên máy chủ của chúng tôi, và thư mục giải nén bị xóa khi tác vụ kết thúc.

Tệp tải về là một tệp duy nhất đặt tên theo tệp bạn tải lên, kết thúc bằng .shp.zip. Bên trong là thư mục myshapes với một bộ shapefile cho mỗi loại hình học: mypoints, POLYLINE (lớp đường, dù tên gọi khá chung chung) và mypolygons, mỗi bộ có .shp, .shx, .dbf và .prj riêng. Tệp .prj khai báo WGS84, hệ tọa độ mà KML luôn dùng, nên bạn sẽ không bị yêu cầu định nghĩa phép chiếu sau khi thêm lớp vào. Các thuộc tính của placemark, gồm name, description và giá trị ExtendedData, được ghi vào DBF.

Những gì không đi cùng sang định dạng mới: biểu tượng, ảnh phủ và mô hình 3D trong tệp nén không phải là thành phần của shapefile nên không được đưa vào, còn cây thư mục của Google Earth bị làm phẳng vì các đối tượng được nhóm theo loại hình học. Những placemark không có hình học, chẳng hạn các mục chỉ có mô tả, sẽ bị loại bỏ. Tên trường dài hơn tám ký tự bị bộ ghi shapefile của chúng tôi cắt ngắn. MultiGeometry lồng sâu và giá trị độ cao là những thứ chúng tôi không thể cam kết với định dạng đích này, vì vậy hãy kiểm tra bảng thuộc tính và số lượng đối tượng trong phần mềm GIS của bạn trước khi dựng phân tích dựa trên dữ liệu đó.

Cách chuyển tệp KMZ sang shapefile

  1. Chuẩn bị tệp KMZ trong Google Earth nếu bạn có bản gốc: nhấp chuột phải vào thư mục hoặc nhóm placemark, chọn Save Place As và lưu dưới dạng .kmz. Nếu bản đồ dựa vào NetworkLink tới dữ liệu đặt trên mạng, hãy lưu một bản cục bộ trước, vì chúng tôi không bao giờ tải các liên kết từ xa.
  2. Tải tệp .kmz lên tại đây. Khách chưa đăng nhập gửi được tệp tối đa 50 MB; tài khoản miễn phí nâng giới hạn đó lên 100 MB. Các tệp .shp, .shx và .dbf rời không được nhận làm đầu vào, vì shapefile chỉ là định dạng đầu ra.
  3. Chọn SHP làm định dạng đích và bắt đầu chuyển đổi. Tệp nén được giải nén, tệp KML chính được xác định và các placemark trong đó được đọc.
  4. Tải về gói .shp.zip rồi giải nén để thấy thư mục myshapes với các bộ điểm, đường và vùng.
  5. Thêm mypoints.shp, POLYLINE.shp hoặc mypolygons.shp vào QGIS, ArcGIS Pro, ArcMap hoặc bất kỳ công cụ nào đọc được shapefile ESRI, và đổi tên các cột DBF bị cắt ngắn nếu tên ngắn gây khó hiểu.
  6. Nếu lớp dữ liệu trông có vẻ thiếu, hãy so sánh số lượng đối tượng với Google Earth. Hình học mà KML lưu dưới dạng ảnh phủ hoặc chỉ là một đoạn mô tả thì không thể trở thành đối tượng trong shapefile.

Công cụ này làm được những gì

  • Các bộ shapefile riêng cho điểm, đường và vùng, nên mỗi lớp có một loại hình học thống nhất và bảng thuộc tính riêng
  • Mỗi lớp đều có tệp .prj khai báo WGS84, kèm chỉ mục .shx và bảng .dbf, được nén chung trong một tệp tải về
  • KMZ được nhận diện theo nội dung ZIP thực tế, nên một tệp nén có phần mở rộng lạ, hoặc một tệp văn bản KML thuần được lưu thành .kmz, vẫn được xử lý
  • NetworkLink trỏ tới các tệp KML nằm trong cùng tệp nén được đi theo và gộp vào kết quả, tối đa 2.000 tệp
  • Đọc XML linh hoạt: UTF-16 và byte-order mark, các ký tự điều khiển lạc vào, cùng những tiền tố namespace không được khai báo mà bản xuất từ MAPS.ME tạo ra
  • Các trường name, description và ExtendedData của placemark được đưa vào bảng thuộc tính DBF

Câu hỏi về chuyển KMZ sang SHP

Làm sao chuyển KMZ sang shapefile mà không cần ArcGIS hay QGIS?

Tải tệp .kmz lên trang này, chọn SHP và tải về tệp .shp.zip kết quả. Bản thân việc chuyển đổi không cần phần mềm GIS trên máy tính; bạn chỉ cần QGIS hoặc ArcGIS Pro sau đó để xem hoặc chỉnh sửa lớp dữ liệu.

Trong tệp ZIP tải về có những gì, và biểu tượng cùng thư mục có được giữ lại không?

Một thư mục tên myshapes với tối đa ba bộ shapefile: mypoints, POLYLINE cho đường và mypolygons, mỗi bộ gồm .shp, .shx, .dbf và .prj. Hãy giữ cả bốn tệp của một bộ cùng nhau và thêm tệp .shp vào phần mềm GIS. Biểu tượng, ảnh phủ, mô hình 3D và các định nghĩa kiểu hiển thị không được đưa vào, còn cây thư mục của Google Earth bị thay bằng một lớp cho mỗi loại hình học, vậy nên hãy chuyển KMZ sang KML nếu bạn cần giữ cấu trúc và kiểu hiển thị ban đầu.

Vì sao cột description của tôi lại có tên là descript?

Định dạng DBF của shapefile chỉ cho phép tên trường dài tối đa 10 ký tự, còn bộ ghi của chúng tôi cắt xuống 8, nên description thành descript. Các giá trị vẫn đầy đủ; chỉ tên cột bị cắt ngắn. Bạn có thể đổi tên trường sau khi nhập vào nếu cần tên đầy đủ.

Tôi nhận được thông báo "No mappable geometry (points/lines/polygons) found". Vấn đề là gì?

Tệp KMZ không chứa thứ gì mà shapefile lưu được: thường nó chỉ gồm ảnh phủ mặt đất hoặc các ô ảnh, mọi placemark chỉ là phần mô tả không có tọa độ, hoặc dữ liệu nằm sau một NetworkLink từ xa mà chúng tôi không tải về. Hãy chuyển sang KML hoặc GeoJSON thay thế, hoặc lưu lại bản đồ ở dạng cục bộ trong Google Earth để hình học được nhúng vào tệp.

Chuyển đổi thất bại với lỗi về tệp hoặc tệp nén. Tôi phải làm gì?

"No KML file found inside the KMZ archive" nghĩa là tệp ZIP không có mục .kml nào, điều này thường gặp với shapefile đã nén hoặc các tệp bị đổi tên. "The file may be corrupt or unsupported" nghĩa là tệp nén hoàn toàn không mở được; hãy xuất lại KMZ từ Google Earth và tải bản đó lên.

Tôi có thể chuyển nhiều tệp KMZ cùng lúc và gộp chúng thành một lớp không?

Bạn có thể gửi tối đa 10 tệp trong một lần với tư cách khách hoặc người dùng miễn phí, 25 tệp với Plus và 50 tệp với Pro, nhưng mỗi KMZ sẽ tạo ra một tệp .shp.zip riêng. Không có gì được gộp lại. Để ghép chúng thành một lớp duy nhất, hãy nhập toàn bộ kết quả rồi dùng công cụ merge trong QGIS hoặc ArcGIS Pro.

Tệp của tôi sẽ thế nào sau khi chuyển đổi?

Mọi thứ chạy trên máy chủ của chúng tôi, không phải trong trình duyệt của bạn. Tệp KMZ đã tải lên và thư mục mà chúng tôi giải nén nó vào sẽ bị xóa khi tác vụ hoàn tất, còn liên kết tải tệp .shp.zip hoạt động khoảng bốn giờ trước khi kết quả bị xóa tự động. Liên kết là một chuỗi token ngẫu nhiên dài, nhưng bất kỳ ai có nó đều tải được tệp cho đến khi liên kết hết hạn. Tên tệp, kích thước và kết quả xử lý được ghi lại trong log của chúng tôi.