Phương pháp spline ogr2ogr TPS tạo ra lỗi lũy tiến


8

Tôi đang cố gắng điều chỉnh một shapefile bằng cách sử dụng phép biến đổi spline ogr2ogr với các lệnh cmd như:

C:\OSGeo4W64\bin\ogr2ogr.exe -f "ESRI Shapefile" C:\path\output.shp -tps --optfile C:\path\gcp.txt C:\path\input.shp

Tôi có hơn 1000 điểm kiểm soát (vì vậy chúng nằm trong một tệp riêng ). Và tôi có vấn đề kỳ lạ với độ chính xác của phương pháp này. Tôi đã thấy trong câu hỏi này rằng phương pháp spline ogr2org không thực sự chính xác. Nhưng với số lượng GCP của tôi và mức độ dữ liệu của tôi, tôi thấy rằng độ chính xác giảm đáng kể từ Bắc xuống Nam. Như thế này: lỗi spline

Ở phía bắc phương pháp này gần như chính xác (sai số 0,001 m), sau đó nó mất đi độ chính xác một cách trơn tru và ở phía nam, nó tạo ra một lỗi khoảng 60 m.

Tôi đã tính RMSE cho mọi GCP và vẽ nó so với tọa độ và số ID của điểm kiểm soát (Tôi đang tạo GCP bắt đầu chủ yếu từ phía bắc). Và tôi có:

lỗi y lỗi x lỗi id

Tôi cố gắng để tìm và đọc mã nguồn của GDAL (tôi thấy gdal_tps , thinplatesplineogr2ogr_lib module) nhưng tôi không biết rằng ngôn ngữ (C ++?) Và không hiểu cách thức hoạt động phương pháp. Đa thức 1, 2 và 3 thứ tự của ogr2ogr đang hoạt động tốt (chúng không phải là phương pháp chính xác nhưng lỗi không tiến triển).

Vậy, tại sao độ chính xác của spline giảm logarit tùy thuộc vào tọa độ Y? (Đối với tọa độ X, tôi thấy các bước nhảy chính xác cứ sau 16000 m). Sao có thể như thế được? Phương pháp điều chỉnh này hoạt động như thế nào? Làm thế nào tôi có thể giải quyết vấn đề này? (Tôi có Windows 7, 64 bit)


2
Nhà phát triển GDAL đã thực hiện phân tích sơ bộ trong danh sách.osgeo.org/pipermail/gdal-dev/2017-June/046816.html . Có lẽ bạn nên tham gia cuộc thảo luận đó.
dùng49584

Bạn có thể chia sẻ GCP không? Sẽ xem xét kết quả, kiểm tra hệ số, v.v ... Suy nghĩ này có thể được giải thích và sự không ổn định được giảm thiểu. Cảm ơn!
David

Câu trả lời:


4

Câu trả lời của nhà phát triển GDAL Ngay cả Rouault thực sự đã giúp tôi đưa ra hướng đi chính xác.

Biết rằng đây là trường hợp không ổn định bằng số và biết (từ kinh nghiệm CFD của tôi) rằng sự không ổn định có thể được gây ra bởi các giá trị rất nhỏ trong dữ liệu, tôi đã phân tích các điểm kiểm soát của mình. Tôi đã xây dựng TIN, tính toán khoảng cách giữa GCP và thấy rằng 2 điểm do nhầm lẫn được đặt rất gần nhau (gần như trùng khớp, khoảng cách 3 m giữa chúng). Khi tôi loại bỏ một trong số chúng, spline hoạt động hoàn hảo.

Cặp điểm này nằm ở phía bắc nên sự bất ổn bắt đầu từ bắc xuống nam.

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.