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:
Ở 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ó:
Tôi cố gắng để tìm và đọc mã nguồn của GDAL (tôi thấy gdal_tps , thinplatespline và ogr2ogr_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)