Dlaczego prawidłowe wielokąty powtarzają ten sam punkt początkowy i końcowy?


18

W świecie GIS w przypadku większości współczesnych formatów i standardów (np. Shapefiles, WKB / WKT , GML, KML itp.) Prawidłowe wielokąty muszą mieć zamknięte pierścienie liniowe, co stanowi linię współrzędnych, w których pierwszy punkt jest powtórzeniem ostatniego punktu. Na przykład trójkąt wymaga czterech punktów (nie trzech).

POLYGON ((10 20, 30 60, 50 20, 10 20))

Trójkąt

Kto rozpoczął tę konwencję i dlaczego? Czy to jakaś spuścizna pamięci przed Shapefile? (np. w jaki sposób MS Windows nadal wykorzystuje 2-bajtowe znaki nowej linii CR + LF?) Inne standardy inne niż GIS (np. SVG ) nie wymagają tego powtarzania do kodowania wielokątów.

Odpowiedzi:


24

Konwencja ta powraca do branży geodezyjnej; która ma początek. Zaczynasz więc od punktu w przestrzeni, a ostatni punkt, do którego się odwołujesz, jest punktem końcowym. W ten sposób masz zamknięty obiekt.

Aby więc zbudować pełny obiekt COGO, musisz mieć pełny opis tego, co jest opisywane. Jest dokładniejszy niż przypuszczalne zamknięcie.


7
Jak mówi DEWright, podczas ankiety możesz zapewnić dokładność pomiarów, jeśli punkty początkowy i końcowy są takie same. Pozwala także systemom oznaczać nieprawidłowe wielokąty, jeśli nie są zamknięte, zamiast traktować je jako samozamykający się wielokąt, który po cichu popsułby takie rzeczy, jak obliczanie powierzchni.
— MerseyViking

1
Oczywiście formalne tworzenie map i pomiary istniały znacznie dłużej niż komputery i formaty cyfrowe. Mogę sobie również wyobrazić rysownika rysującego kontur wielokąta i potrzebującego ostatniego punktu, aby narysować zamknięty pierścień liniowy.
— Mike T

12

Kryteria poprawnych wielokątów są zdefiniowane w OGC „s Simple Feature dokumencie standardy * przestrzegane przez większość oprogramowania GIS i baz danych przestrzennych. Przyczyny wymagania dopasowania punktów początkowych i końcowych prawdopodobnie będą związane z koncepcją topologiczną zamkniętego zestawu .

Zasady prawidłowego wielokąta są następujące:

  1. Wieloboki są topologicznie zamknięte
  2. Granica wielokąta składa się z zestawu pierścieni liniowych, które tworzą jego granice zewnętrzne i wewnętrzne
  3. Żadne dwa pierścienie na krzyżu granicznym i pierścienie na granicy wielokąta nie mogą przecinać się w punkcie, ale tylko jako styczna
  4. Wielokąt nie może mieć linii cięcia, kolców ani nakłuć
  5. Wnętrze każdego wielokąta jest połączonym zestawem punktów
  6. Zewnętrzna część wielokąta z co najmniej jednym otworem nie jest połączona. Każdy otwór określa połączony element zewnętrzny.

Prawidłowe wielokąty

Prawidłowe wielokąty

Nieprawidłowe wielokąty

Nieprawidłowe wielokąty

** Jeśli OGC faktycznie udostępniał swoje standardowe dokumenty w Internecie, a nie w plikach PDF do pobrania, które wymagają kliknięcia umowy, mogą one być czytane częściej .. *


+1 Dobre wyjaśnienie, ale czy możesz mi powiedzieć, czy to prawidłowy wielokąt?
— Kirk Kuykendall

2
@kirk this.isValid () = zależy od implementacji i tego, w jaki sposób wielokąt jest reprezentowany ...! barendgehrels.blogspot.com/2010/02/...
— geographika

Świetny link. Może to powodować problemy dla osób migrujących z Sql Server do PostGIS.
— Kirk Kuykendall

@ Kirk, byłoby miło, gdybyś pokazał, jak układane są pierścienie; czy jest to „współdziałająca z bananem” lista współrzędnych z jednym pierścieniem zewnętrznym, czy też jest to pierścień zewnętrzny z pierścieniem wewnętrznym, który dotyka pierścienia zewnętrznego tylko na jednym wierzchołku ?. Nawet przy tym odpowiedź na konkretne pytanie zależy od implementacji. Sprawdź uwagi Paula na temat ważności Polygon 2010.foss4g.org/presentations/3369.pdf
— Ragi Yaser Burhum


-6

Nie ma dobrego powodu, tylko praktyka. Wieloboki to uwielbione linie.


Linia z praktyki jest kierunkowa; kontra wielokąt jest obszarem. Jest to więc znacznie głębsze niż „tylko praktyka”.
— DEWright
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.