Làm thế nào để tôi đại diện cho toàn bộ Trái đất là một Đa giác?


11

Điều này có liên quan đến việc xác định phần bên trong của Đa giác .

Khó khăn của tôi là nếu tôi chỉ định một Đa giác bao phủ Trái đất đi từ Đông sang Tây, thì nó vẫn sẽ có một ranh giới dọc theo phản tuyến, sẽ xuất hiện trong các hình chiếu phương vị. Ví dụ: trong GeoJSON:

{
  "type": "Polygon",
  "coordinates": [
    [[-180, -90], [-180, 90], [180, 90], [180, -90], [-180, -90]]
  ]
}

Có một cách tiêu chuẩn để xác định Đa giác toàn cầu, không có ranh giới không?

Tôi đã nghĩ về việc sử dụng một vòng bên ngoài trống rỗng:

{
  "type": "Polygon",
  "coordinates": [
    []
  ]
}

Logic là tôi có thể chỉ định các vòng tiếp theo là các lỗ được đục vào Đa giác toàn cầu.

Thật không may, GeoJSON quy định rằng linearRings phải có ít nhất 4 điểm, vì vậy điều này sẽ đi lạc khỏi đặc tả. Tuy nhiên, tôi vẫn muốn tìm hiểu liệu phương pháp này có được thực hiện ở bất kỳ nơi nào khác không.


Một phần câu trả lời phải phụ thuộc vào GIS. Tuy nhiên, bạn đang gặp rắc rối ngay từ đầu: nếu đa giác không có ranh giới , thì - mà không chỉ định thông tin bổ sung không có trong dòng - không có cách nào để phần mềm phân biệt toàn bộ hình cầu với tập hợp trống. (Đa giác trống có những ứng dụng quan trọng, mặc dù nhiều GIS không triển khai chúng hoặc thực hiện chúng không chính xác.)
whuber

1
Cảm ơn. Chúng tôi quyết định chỉ đơn giản là xác định loại đối tượng "Sphere" của riêng mình để xử lý tình huống này, vì một LineString trống sẽ đại diện trực quan nhất cho tập hợp trống. Tôi nghĩ rằng đây là "câu trả lời" tốt nhất mà bạn thực sự có thể đưa ra cho câu hỏi này.
Jason Davies

1
Tôi nghĩ rằng bạn có thể khái quát hóa giải pháp của mình, Jason, với chi phí thấp và với một số lợi ích. Vì bạn đang dành một bit để phân biệt tập hợp trống với hình cầu, tại sao không sử dụng bit đó với mọi đa giác để chỉ hướng của nó? Đối với đa giác không suy biến, nó sẽ cho biết liệu bên trong của đa giác nên được coi là ở bên phải hay bên trái trong khi đi qua ranh giới của nó. Đối với đa giác suy biến, nó sẽ cho biết ranh giới trùng với đa giác hay phần bổ sung được dự định. Bây giờ bạn luôn biết bên trong là ở đâu.
whuber

Ý tưởng tốt! Nói chung, chúng tôi muốn chấp nhận GeoJSON tiêu chuẩn làm đầu vào. Đối tượng Sphere là một trường hợp đặc biệt, vì vậy chúng tôi không ngại xác định loại của riêng mình, vì nó sẽ khó được sử dụng. Đối với Đa giác, chúng tôi đã quyết định áp dụng quy ước đặt hàng (quy tắc bàn tay phải để phù hợp với thông số ESRI.)
Jason Davies

Câu trả lời:


2

Vì dường như không có một cách tiêu chuẩn nào để thể hiện tình huống hơi hiếm gặp này của một đa giác không có ranh giới bao phủ toàn bộ Trái đất, chúng tôi đã quyết định thêm chính chúng ta {type: "Sphere"}, hoạt động rất tốt cho mục đích của chúng tôi.

Chúng tôi đã quyết định không sử dụng Đa giác có chứa Tuyến tính rỗng, vì điều này trực quan hơn đại diện cho một đa giác trống và có thể dễ dàng dẫn đến sự nhầm lẫn và vô tình tạo ra đa giác toàn Trái đất.

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.