Odpowiedzi:
Pliki kształtów obsługują cztery podstawowe typy danych: Punkt, Polilinia, Wielokąt i Wielopunkt. Punkty to proste funkcje {X, Y}. Polilinie są uporządkowanymi zbiorami punktów, a Wieloboki to obszary objęte zamkniętymi prostymi liniami. Polilinie i wielokąty mogą być wieloczęściowe, aby modelować nieciągłe elementy, takie jak nawierzchnia oddzielona autostradą lub zbiór wysp.
W modelu plików kształtu Punkty nie mogą być wieloczęściowe, ale istnieje odrębny typ Multipoint, który pełni tę rolę. Różnica dotyczy obwiedni w rekordzie danych potrzebnej dla kształtów wielopunktowych oraz odmiennego podejścia do indeksowania przestrzennego obiektów punktowych i wielopunktowych.
Wielopunktowe są niejasną opcją reprezentacji większości funkcji punktowych, ale można ich użyć do optymalizacji wyświetlania dużej liczby punktów. Miałem zestaw danych obejmujący dziesiątki milionów obiektów obejmujących glob i mogłem z powodzeniem narysować sto tysięcy obiektów w obrębie jednego kwadratu o jednym stopniu z podrzędnym wyczuciem czasu, łącząc punkty w wielopunktowe, aby zmniejszyć liczbę elementów renderowanych dla każdego kafelka .
Pamiętaj, że pliki kształtów nie obsługują niczego takiego jak zbiór geometrii, dopuszczając jedynie określony typ kształtu lub kształt zerowy (zero wierzchołków) w jednym pliku, więc jeśli wymagane są zarówno kształty punktów jedno-, jak i wieloczęściowych, punkty jednoczęściowe będą być przechowywane jako zdegenerowane wielopunktowe (z liczbą punktów równą jeden, a „obwiednia” z dolnym lewym i prawym górnym rogiem pokrywają się z samym punktem). Jest to mniej wydajne w przechowywaniu (52 bajty wice 16) i przestrzennym Indeks również nie jest tak wydajny, więc jeśli będziesz mieć tylko punkty jednoczęściowe, powinieneś użyć typu danych Punkt.
Zobacz, jak geometria jest powiązana z rekordami pliku Dbase. Jeśli masz plik kształtu, każdy punkt jest powiązany z jednym rekordem. Jeśli masz wielopunktowy plik kształtu, zestaw punktów jest powiązany z jednym rekordem.