Niedogodności użycia plików ShapeFile
Z pewnymi wyjątkami opisanymi poniżej, pliki kształtu są dopuszczalne
do przechowywania prostych geometrii obiektów.
Jednak pliki kształtu mają poważne problemy z atrybutami. Na przykład
nie mogą przechowywać wartości null, zaokrąglają liczby, słabo
obsługują ciągi znaków Unicode, nie pozwalają na nazwy pól dłuższe niż
10 znaków i nie mogą przechowywać w polu zarówno daty, jak i godziny.
To tylko główne kwestie.
Ponadto nie obsługują funkcji dostępnych w geobazach, takich jak domeny
i podtypy.
Jeśli więc nie masz bardzo prostych atrybutów i nie potrzebujesz
możliwości geobazy, nie używaj plików kształtu.
Ograniczenia geometrii
Limit rozmiaru dowolnego pliku komponentu Shapefile wynosi 2 GB, co
przekłada się na maksymalnie około 70 milionów obiektów punktowych.
Rzeczywista liczba obiektów liniowych lub wielokątnych, które można
przechowywać w pliku kształtu, zależy od liczby wierzchołków w każdej
linii lub wielokącie (wierzchołek jest równoważny punktowi).
Pliki kształtu nie zawierają tolerancji x, y, jak klasy obiektów
geobazowych.
Tolerancja x, y to minimalna odległość między współrzędnymi, zanim
zostaną uznane za równe. Ta tolerancja x, y jest używana podczas oceny
relacji między obiektami w tej samej klasie obiektów lub między kilkoma
różnymi klasami obiektów.
Jest również szeroko stosowana podczas edycji funkcji.
Jeśli wykonujesz jakąkolwiek operację polegającą na porównywaniu
obiektów, na przykład przy użyciu narzędzi Nakładka, Przytnij, Wybierz
warstwę według lokalizacji lub dowolnego narzędzia, które jako dane
wejściowe pobiera dwie lub więcej klas obiektów, powinieneś użyć
funkcji geobazy klasy (które mają tolerancję x, y), a nie pliki
kształtu.
Pliki Shapefile obsługują wiele poprawek, ale nie obsługują
następujących zaawansowanych możliwości:
- Współrzędne tekstury
Tekstury i kolor części.
Oświetlenie normalne.
Indeks przestrzenny pliku kształtu jest nieefektywny w porównaniu z
klasą obiektów geobazy.
Oznacza to, że zapytania przestrzenne (takie jak wybieranie obiektów w
obrębie wielokąta) trwają dłużej w porównaniu z klasą obiektów geobazy.
Ta nieefektywność jest zauważalna tylko w przypadku dużej liczby
funkcji.
- Krzywe zdefiniowane
parametrycznie (znane również jako krzywe łuku kołowego) nie są
obsługiwane w plikach kształtu.
Krzywe parametryczne są tworzone poprzez edycję klas obiektów geobazy,
zgodnie z opisem w sekcji Tworzenie krzywej.
- Krzywe łuku kołowego
wykorzystują wzór matematyczny do narysowania krzywej.
Jeśli wyeksportujesz klasę elementów geobazy zawierającą elementy
krzywych łuku kołowego do pliku kształtu, elementy zakrzywione zostaną
przekształcone w proste obiekty liniowe z blisko rozmieszczonymi
wierzchołkami, aby uchwycić zakrzywiony kształt.
W przeciwieństwie do innych formatów, pliki kształtu przechowują
atrybuty numeryczne w formacie znakowym, a nie binarnym. W przypadku
liczb rzeczywistych (tzn. zawierających miejsca dziesiętne) może to
prowadzić do błędów zaokrągleń.
To ograniczenie nie dotyczy
współrzędnych kształtu, a jedynie atrybutów.