Tìm khoảng cách giữa các điểm dọc theo sông (Tham chiếu tuyến tính)


10

Tôi mới đến gis và bị tấn công. Tôi có một mạng lưới các con sông được tạo thành từ các dòng nhỏ (polylines). Trong một shapefile khác, tôi có vị trí của một số trạm trên một con sông. Tôi cần tìm khoảng cách dọc theo con sông từ mỗi trạm đến cuối dòng sông.

Vấn đề là tôi không có một dòng sông hoàn chỉnh. Và không có thuộc tính chung nào tôi có thể sử dụng để hợp nhất hoặc hợp nhất các chuỗi. Ngoài ra, một số trạm là trên các nhánh sông.

nhập mô tả hình ảnh ở đây

Vì vậy, điểm mấu chốt là tôi cần tạo ra một mạng lưới sông lớn bao gồm các nhánh sông và thực hiện tham chiếu lót. Nhưng tôi không biết làm thế nào để làm điều này. Bất kỳ trợ giúp được đánh giá cao. Hãy giải thích rõ ràng nhất có thể.

Hãy bình luận nếu bạn cần thêm thông tin.


3
Bạn đang sử dụng nền tảng phần mềm nào?
TheSteve0

tôi đã thử arcmap arcinfo. Nhưng đó là thông tin quá mức về tham chiếu tuyến tính. Sau đó, tôi chuyển sang pgRouting và QGIS. Vẫn còn đấu tranh.
Naresh

Bạn có quyền truy cập vào phần mở rộng ArcGIS Network Analyst không? Tôi nghĩ rằng có thể xây dựng bộ dữ liệu mạng bằng cách sử dụng các con sông của bạn và sau đó tìm khoảng cách ngắn nhất sẽ thực sự dễ dàng.
radek

Câu trả lời:


2

Tôi đồng ý với BWill. Vấn đề chính của bạn là xác định nguồn gốc của từng polyline. Cái gì tạo thành một "dòng sông"? Sẽ đưa ra giả định rằng một nhánh là một "tuyến đường" độc lập bắt đầu từ 0-> chiều dài của nhánh sông. Sau đó, tôi cũng sẽ làm như vậy cho các con sông chính, nhưng trong trường hợp này tôi sẽ tạo ra một polyline hợp nhất từ ​​tất cả các polylines cấu thành. Tôi nghĩ rằng một khi bạn có rằng bạn "gần như" ở đó. Sau đó: Chuyển đổi tất cả các polylines đã hợp nhất của bạn thành các polylines đo được (PolylineM) - bao gồm các nhánh sông. Sau đó, bạn có 'mạng lưới tuyến' của bạn. Từ đó trở đi vấn đề tìm khoảng cách dọc theo tuyến đường của bạn cho mỗi trạm. Tôi đoán các vị trí trạm được xác định trong XYs? Ngoài ra - một phỏng đoán khác - chúng không rơi chính xác trên đỉnh sông, phải không Trong mọi trường hợp, bạn sẽ cần một cách tìm khoảng cách của trạm từ đầu mỗi con sông hoặc nhánh sông. Về lý thuyết, nếu một trạm nằm trên ngã tư sông và phụ lưu thì nó có thể có 2 vị trí (mỗi vị trí).

Để tìm vị trí này, bạn có thể sử dụng các công cụ ArcMap nhưng không sử dụng chúng trong một thời gian để không thể nhớ đến đỉnh đầu của tôi. Mặt khác, nếu bạn nhập shapefiles (?) Vào PostGIS, bạn có thể sử dụng ST_Line_Locate_Point . Chức năng này:

Trả về số float giữa 0 và 1 đại diện cho vị trí của điểm gần nhất trên LineString cho Điểm đã cho, dưới dạng một phần của tổng chiều dài dòng 2d.

Điều đó có nghĩa là sau đó bạn có thể tìm thấy vị trí dọc theo sông nhân với những gì bạn tìm thấy với chiều dài sông (hợp nhất). Lưu ý cuối cùng - Nếu bạn sử dụng PostGIS, bạn không phải trải qua bước tạo PolylineM- chỉ ArcGIS yêu cầu điều này để tham chiếu tuyến tính.

Hy vọng điều này có ý nghĩa!


trạm của tôi là chính xác trên các nhánh sông hoặc sông. Điều ngu ngốc là, không có một dòng sông lớn, chỉ là những đoạn nhỏ của dòng. Tôi có thể thấy một dòng sông lớn bt bản thân dữ liệu không có thuộc tính chung nào để tạo nên một dòng sông đầy đủ. Ngoài ra, tôi có tọa độ theo độ, vậy khi tôi tạo tuyến đường trong arcmap, tôi có được độ dài theo độ không? Tôi nghĩ rằng nó không có ý nghĩa. Tôi phải chuyển đổi tọa độ từ wss84 sang một số phép chiếu khác. Và vâng, tôi đã nhập shapefiles trong PostGIS.
Naresh

1

Từ câu hỏi của tôi có cùng bản chất,

Cách tạo một điểm dọc theo một khoảng cách cho trước

các liên kết hữu ích sau đây đã đưa ra.
grass.osgeo.org/gdp/html_grass63/lrs.html
wiki.faunalia.it/dokuwiki/doku.php/qgis/lrs

Tôi không hoàn thành nhiệm vụ của mình thông qua việc thiếu nỗ lực. Tôi tin rằng tedium bạn sẽ trải nghiệm là đề cử nguồn gốc của mỗi polyline.


2
tôi đã đạt được một số tiến bộ. Tôi có thể tìm đường dẫn ngắn nhất bằng pGrouting nhưng tôi cần cập nhật "nút". Ngay bây giờ tôi tạo một bảng nút trong postgresql và sử dụng nó để tạo một mạng mà tôi cung cấp để mở rộng. Nhưng tôi cần thêm các nút tùy chỉnh trong bảng không nằm ở các nút cuối. Cách ngu ngốc là phân chia các đường dẫn của tôi tại các trạm để chúng tự động trở thành các nút. Vẫn đang làm việc. Cập nhật sớm.
Naresh
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.