Sắp xếp bảng tính năng theo vị trí địa lý


8

Đây là một thách thức thú vị: Tôi cần nhúng một bảng vào bố cục bản đồ để các bản ghi trong bảng được sắp xếp theo vị trí địa lý của chúng trên mặt đất. Ví dụ: trong bản đồ từ trên xuống dưới, tính năng cực bắc (điểm trong trường hợp này) phải là bản ghi đầu tiên và phần lớn nhất ở phía nam.

Thành phần bản đồ có trong ArcGIS, nhưng tôi sẵn sàng sử dụng gdal / ogr, qgis, v.v. để sắp xếp bảng nếu cần.

Để mở rộng câu hỏi này ngoài trường hợp sử dụng ngay lập tức của tôi và do đó làm cho nó hữu ích hơn cho cộng đồng, một giải pháp mạnh mẽ sẽ cho phép chọn các loại địa lý khác, như từ tây sang đông hoặc từ trong ra ngoài .

hình minh họa


Hệ thống tọa độ nào bạn đang sử dụng?
Mapperz

@mapperz, độ thập phân địa lý, nhưng nó có thể dễ dàng là UTM hoặc Albers nếu cần.
matt wilkie

Câu trả lời:


7

Để sắp xếp theo hướng có một ảnh hưởng của một độ đông bắc, precompute vector đơn vị hướng như (sin (a), cos (a)).

Với tính toán trường, lấy tọa độ các tính năng (chiếu) [X] và [Y] (sử dụng trọng tâm của chúng hoặc bất cứ thứ gì cho các tính năng không có điểm) nếu chúng không có sẵn và tính toán một trường mới bằng khoảng cách dọc theo mang, được cho bởi sản phẩm chấm của vectơ chỉ phương với tọa độ:

z = sin(a) * [X] + cos(a) * [Y]

Sắp xếp bảng trên [z] theo thứ tự tăng dần.

Ví dụ: đối với cách sắp xếp theo hướng bắc-nam, ổ trục là 180 độ, v = (sin (180), cos (180)) = (0, -1) và do đó sắp xếp kết quả là trên - [Y], trong đó sắp xếp các bản ghi từ lớn nhất [Y] (đầu tiên) xuống nhỏ nhất [Y] (cuối cùng), chính xác như dự định.


Một loại "bên trong đến bên ngoài" có thể có nghĩa là nhiều thứ, nhưng một cách giải thích là việc sắp xếp nên theo khoảng cách so với một vị trí trung tâm. Một giải pháp tương tự được áp dụng, sử dụng định lý Pythagore để tính khoảng cách (bình phương) từ một điểm cố định. (Áp dụng căn bậc hai là không cần thiết vì nó không thay đổi thứ tự sắp xếp.)


Một thứ tự sắp xếp huyền ảo hơn được giải thích và minh họa tại "Bản đồ một chiều của thế giới."


2

Để diễn đạt câu trả lời của người sử dụng về mặt sử dụng công cụ, đây là cách triển khai đơn giản trường hợp sử dụng Bắc-Nam, Đông-Tây khi sử dụng dữ liệu điểm trong Arcgis:

  • Thêm XY(hoặc LatLong) cột vào bảng thuộc tính, Tính toán Hình học
  • xuất khẩu sang Excel hoặc bất cứ điều gì, sắp xếp theo cột quan tâm (X cho Đông-Tây, Y cho Bắc-Nam), và sau đó mang lại với Add dữ liệu X / Y .

lịch sự của Điều khoản kỹ thuật Esri Cách thực hiện : Sắp xếp các tính năng Bắc / Nam hoặc Đông / Tây để xuất khẩu

Làm thế nào để thay đổi thứ tự các tính năng trong một shapefile? có giải pháp để thực hiện phần sắp xếp bảng cho cả Arcgis và Qgis mà không cần xuất sang chương trình bên ngoài (mặc dù bạn vẫn cần sao chép lớp bảng / lớp tính năng) và Sắp xếp bản ghi shapefile trên thuộc tính để cập nhật trường xếp hạng mới bằng Python? có một phương pháp arcpy.


3
ArcGIS 10.0 trở lên cung cấp tùy chọn Sắp xếp không gian trong Công cụ sắp xếp.
klewis

1

Theo nhận xét của @klewis :

ArcGIS 10.0 trở lên cung cấp tùy chọn Sắp xếp không gian trong Công cụ sắp xếp

Công cụ Sắp xếp trợ giúp , cần giấy phép cấp độ Nâng cao, mô tả công cụ spatial_sort_methodnày:

Specifies how features are spatially sorted. Sort method is only enabled when the Shape field is selected as one of the sort fields.
UR —Sorting starts at upper right corner. This is the default.
UL —Sorting starts at upper left corner.
LR —Sorting starts at lower right corner.
LL —Sorting starts at lower left corner.
PEANO —Sorting uses a space filling curve algorithm, also known as a Peano curve.
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.