Hiểu các thuộc tính tạo Bản đồ


10

Tôi đang cố gắng tạo ra một bản đồ cơ sở gạch. Tôi có một hình ảnh mà tôi muốn tạo gạch từ đó và tôi đang sử dụng GDAL.

Tôi đã quản lý để tạo các ô nhưng khi tôi xem kết quả thì có vẻ như bản đồ được lát gạch là:

  1. Nó được lật
  2. Tỷ lệ không đúng

Đây là hình ảnh lớp phủ bản đồ: bản đồ hình ảnh

Đây là kết quả của ốp lát:

kết quả gạch

Tôi đã kiểm tra nhiều lần rằng tọa độ có tốt không bằng cách so sánh các góc hình ảnh trên orthophoto.

Một điều khác là trong google earth có cùng tọa độ, hình ảnh bản đồ khớp chính xác với google map.

lớp phủ trái đất google

EDITED

gdalinfo map_overlay.png

với đầu ra này:

Trình điều khiển: PNG / Tệp đồ họa mạng di động: map_overlay.png Kích thước là 3527, Hệ thống tọa độ 2494 là `'Siêu dữ liệu cấu trúc hình ảnh:
INTERLEAVE = PIXEL Góc tọa độ: Phía trên bên trái (0,0, 0,0) Phía dưới bên trái (0,0, 2494.0) Phía trên bên phải (3527.0) Trung tâm Band 3 Block = 3527x1 Loại = Byte, ColorInterp = Blue
Mask Cờ: PER_DATASET ALPHA Band 4 Block = 3527x1 Loại = Byte, ColorInterp = Alpha

Sau đó dịch:

gdal_trans -B-VRC

với đầu ra này:

Kích thước tệp đầu vào là 3527, 2494

và cuối cùng:

gdal2tiles.py -z 14-21 map_overlay.vrt

Lớp phủ là một hình ảnh .png đơn giản mà không có bất kỳ dữ liệu đặc biệt nào.

Tôi sẽ đánh giá cao bất kỳ sự giúp đỡ.

Shani


2
Dường như có sự không nhất quán trong các gdal_translatetham số bạn đã đăng ở đây: bạn đang liên kết (lat, lon) = (31.7431761644, 35.1680410195) với hai điểm khác biệt tại (0,0) và (0,2494). Đây thực sự là lệnh bạn đã ban hành, hay nó là một lỗi sao chép và dán?
whuber

Câu trả lời:


5

Cố gắng sử dụng hình ảnh phối hợp số liệu trước khi xếp nó thành:

   gdalwarp -of GTiff -t_srs EPSG:3857 input.tif output.tif 

CẬP NHẬT

Lưu ý: ngay cả khi chúng tôi chỉ định gcp's, gdal_translatesẽ không chỉ định tọa độ góc của tiff.

Bên cạnh đó, bạn không cần tạo bộ dữ liệu ảo (.vrt) vì chỉ có một tệp ...

sử dụng mã sau đây:

  gdal_translate -of  GTiff  -gcp 0 0 31.7431761644 35.1680410195 -gcp 3527 0 
       31.7493769674 35.1784535489 -gcp 3527 2492 31.7431011291 35.1784951643
      -gcp 0 2494 31.7431761644 35.1680410195 map_overlay.png map_overlay.tif

sau đó

  gdalwarp -s_srs epsg:4326 -t_srs epsg:4326  map_overlay.tif warped_map_overlay.tif

và bây giờ hãy thử sử dụng gdalinfo ... nếu bạn không thấy vấn đề gì, hãy chạy lệnh này:

  gdal2tiles.py -z 14-21 warped_map_overlay.tif

Nếu gạch của bạn không phù hợp, hãy chạy mã trên trước khi cập nhật, tôi đã đưa ra.

Bạn có thể biết thêm thông tin ở đây

Tôi hy vọng nó sẽ giúp bạn....


Cảm ơn. Khi nào tôi nên làm điều đó? như bây giờ tôi đang làm 1.gdalinfo map.png 2.gdal_translate -of VRT -a_srs EPSG: 4326 -gcp .... 3. gdal2tiles.py -z 10-16 map.vrt. Tôi có cần phải làm điều đó sau khi dịch không? Tôi có nên thay đổi EPSG trong phương thức dịch không?
shannoga

nếu bản đồ của bạn không được phối hợp, cố gắng lấy thông tin với gdalinfo là vô ích.
Aragon

Vì vậy, tôi cần phải sử dụng gdalwarp thay thế?
shannoga

Bản đồ của bạn có được phối hợp với bất kỳ phép chiếu nào hay không? nếu có, hãy thử sử dụng gdalwarp để từ chối nó, nếu không hãy làm cho nó phối hợp với gdal_transform ...
Aragon

Này cảm ơn vì bệnh nhân của bạn. Nếu hiểu bạn đúng thì không. đây là một hình ảnh vuông đơn giản được vẽ dựa trên bản đồ không có dữ liệu đặc biệt nào trên đó. Tôi đã cập nhật câu hỏi với các lệnh đã sử dụng của tôi. Cảm ơn một lần nữa cho sự cố gắng của bạn để giúp đỡ.
shannoga
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.