Zapis danych wektorowych w pliku SHP został wprowadzony przez firmę Esri do jej oprogramowania ArcView jeszcze na początku lat 90., a więc w czasach, gdy GIS był na świecie mało znanym skrótem. Można przypuszczać, że to właśnie wczesne wypuszczenie formatu w połączeniu ze sporą popularnością produktów Esri zadecydowało o międzynarodowym sukcesie „szejpa”. Popularność tego rozwiązania pozostawała niezachwiana przez lata mimo ostrej konkurencji ze strony innych aplikacji GIS-owych – zarówno komercyjnych, jak i otwartych. Niewiele zmieniły tu nawet wysiłki standaryzacyjne Open Geospatial Consortium, które stworzyło tak popularne w geoinformatyce standardy, jak WMS czy WFS. Szybki postęp technologiczny w GIS-ie sprawia jednak, że wady i ograniczenia formatu SHP stają się dla użytkowników coraz bardziej dokuczliwe.
• Akt oskarżeniaPierwszą wadę SHP dostrzeże nawet laik – jedna warstwa zapisywana jest do kilku plików. Zgodnie ze specyfikacją formatu są ich przynajmniej trzy (rozszerzenia SHP, DBF, SHX), choć opcjonalnie listę tę można rozszerzyć nawet o 7 kolejnych. Nie dość, że praca z takim „bogactwem” jest niewygodna, to powszechne są sytuacje, że mniej doświadczony użytkownik na prośbę: „prześlij mi szejpa”, wysyła tylko jeden – kompletnie nieprzydatny – plik.
Kolejną wadą jest ograniczony do 2 GB rozmiar pliku, co przekłada się na nie więcej niż kilkadziesiąt milionów rekordów. Nikomu to nie przeszkadzało w latach 90., gdy królowały dyskietki, ale w erze
big data stanowi już poważne ograniczenie.
Tych ograniczeń w „szejpie” jest zresztą znacznie więcej. No bo dlaczego obiekt nie może mieć więcej niż 255 atrybutów, a nazwa każdego z nich nie może przekraczać 10 znaków? Dlaczego dopuszczalne atrybuty to tylko: tekst (i to ograniczony do raptem 254 znaków), data (bez możliwości zapisu czasu) oraz liczba całkowita bądź ułamek (tylko do 13 znaków). A co np. z „dymkami” czy obrazkami?
Do wad SHP zaliczana jest także możliwość zapisu w jednym pliku tylko jednego rodzaju geometrii – punktu, multipunktu, linii lub poligonu. Pamiętać również należy, że standard ten służy wyłącznie do przechowywania danych wektorowych. Nie da się zatem zapisać w tym rozszerzeniu np. rastrów. Ponadto „szejp” nie pozwala opisywać relacji topologicznych. A możliwości zapisu tak popularnych obecnie danych 3D są w nim mocno ograniczone.
Do listy bolączek można jeszcze dodać problemy z obsługą znaków diakrytycznych i definicji...
Pełna treść artykułu we wrześniowym wydaniu miesięcznika GEODETA