Shapefile
Shapefile | |
O harta vectoriala cu puncte, polilinii si pologoane | |
Dezvoltat de | Esri |
---|---|
Tipul formatului | GIS |
Standard(e) | Shapefile Technical Description |
Modifică text |
Shapefile-ul este un format de date vector geospațiale pentru software-ul Sistemelor informaționale geografice (GIS) . Este dezvoltat și reglementat de Esri ca o specificație deschisă mai ales pentru interoperabilitatea datelor între Esri și alte produse software GIS. [1] Acest format poate descrie spațial caracteristici vectoriale: puncte, linii și poligoane, reprezentând limite naturale, de exemplu, puțuri de apă, râuri și lacuri. Fiecare element are de obicei atribute care îl descriu, cum ar fi numele sau temperatura.
Prezentare generală
[modificare | modificare sursă]Shapefile-ul este un format digital de stocarea datelor vectoriale pentru geometria locației și atributele asociate cu aceasta. Acest format nu are capacitatea de a stoca informații topologice. Acest format a fost introdus cu ArcView GIS v2 la începutul anilor 1990. Acum este posibil să citiți și să scrieți seturi de date geografice folosind formatul de fișiere cu o mare varietate de software-uri.
Shapefile-ul stochează datele ca forme geometrice primitive, precum puncte, linii și poligoane. Aceste forme, împreună cu atributele de date care sunt legate de fiecare formă, creează reprezentarea datelor geografice. Termenul "shapefile" este destul de comun, dar formatul constă într-o colecție de fișiere cu un prefix comun, stocate în același director. Extensiile fișierelor obligatorii a acestui format sunt .shp
, .shx
și .dbf
. Actualul shapefile se referă în mod specific la fișierul.shp
, dar singur este incomplet pentru distribuire si folosire sunt necesare și celelalte fișiere. Software-uri GIS mai vechi se pot aștepta ca prefixul numelui fișierelor să fie limitat la opt caractere pentru a se conforma convenției DOS 8.3. Cu aplicațiile software moderne acceptă limitare este depasita.
- Fișiere obligatorii
.shp
- shape format (formatul formei); geometria entității..shx
- shape index format; un indice de poziție a trăsăturilor geometrice pentru a permite căutarea rapidă înainte și înapoi.dbf
- tabelul de atribute (database format); atribute sub forma de tabel asociat cu entitate geometrica, în format dBase IV
- Alte fișiere
.prj
- descrierea proiecției cartografice, in limbajul de marcare WKT..sbn
și.sbx
- indice spațial al obiectelor.fbn
și.fbx
- indice spațial al obiectelor care sunt read-only (numai pentru citirea datelor).ain
și.aih
- indice de atribut al câmpurilor active dintr-un tabel.ixs
- indice de geocodare pentru seturi de date de citire-scriere.mxs
- index de geocodare pentru seturile de date pentru citire-scriere (format ODB).atx
- indice de atribut pentru fișierul.dbf
sub forma shapefile.numeColoană.atx
(ArcGIS 8 și versiuni ulterioare).shp.xml
- metadate geospatiale în format XML, cum ar fi ISO 19115 sau alte scheme XML.cpg
- folosit pentru a specifica pagina de cod (numai pentru.dbf
) pentru identificarea codificării caracterelor.qix
- o alternativă quadtree index spațial utilizat de MapServer și software-uri GDAL/OGR
În fiecare dintre fișierele .shp
, .shx
și .dbf
, formele din fiecare fișier corespund reciproc în ordine (adică, prima înregistrare din fișierul .shp
corespunde primei înregistrări din fișiere .shx
și .dbf
etc.). Fiserele .shp
și .shx
au diferite domenii cu diferite endianness-uri, practica cu acest format trebuie să fie făcuta cu atenție să respecte endianness fiecărui câmp și sa o trateze în mod corespunzător.
Fișierul Shapefile .shp
[modificare | modificare sursă]Fișierul principal (.shp
) conține datele geometrice. Fișierul binar este format dintr-un singur antet cu lungime fixă urmat de una sau mai multe înregistrări cu lungime variabilă. Fiecare dintre înregistrările cu lungime variabilă include un antet de înregistrare și o componentă de conținut de înregistrare. O descriere detaliată a formatului fișierului este oferită în Descrierea tehnică a modelului ESRI. [1] Acest format nu trebuie confundat cu formatul sursei fontului AutoCAD, care împărtășește extensia tot .shp
.
Ordinea pe axa 2D a datelor de coordonate presupune un sistem de coordonate carteziene, folosind ordinea (XY) sau (Est Nord). Această ordine de axe este consistentă pentru sistemele de coordonate geografice, unde ordinea este similară (latitudinea longitudinală). Geometria poate suporta 3 sau 4 dimensiuni Z, pentru elevație și valoare M, pentru și măsură (distanta). O dimensiune Z stochează elevarea fiecărei coordonate în spațiul 3D, unde poate fi folosită pentru analiză sau pentru vizualizarea geometriilor folosind grafică digitală 3D . Dimensiunea M este definită de utilizator, poate fi utilizată pentru diferite funcții, cum ar fi stocarea măsurilor de referință liniară sau timpul relativ al unei caracteristici în spațiul 4D.
Antetul principal al fișierului este fixat la 100 de octeți și conține 17 câmpuri; nouă câmpuri de 4 biți (întregi semnate pe 32 de biți sau int32), urmate de opt câmpuri decimale flotante semnate cu 8 biți (camp dublu):
Octeți | Tip | Endianness | Folosire |
---|---|---|---|
0-3 | int32 | mare | Cod fișier (valoarea hex 0x0000270a) |
4-23 | int32 | mare | neutilizate; cinci uint32 |
24-27 | int32 | mare | Lungimea fișierului (în cuvinte pe 16 biți, inclusiv antetul) |
28-31 | int32 | mic | Versiune |
32-35 | int32 | mic | Tipul formei (vezi referința de mai jos) |
36-67 | dubla | mic | Dreptunghi minim de delimitare (MBR) al tuturor formelor conținute în setul de date; patru duble în următoarea ordine: X minim, Y minim, X mare, Y mare |
68-83 | dubla | mic | Intervalul valorii Z; două duble în următoarea ordine: Z minim, Z maxim |
84-99 | dubla | mic | Intervalul M; două duble în următoarea ordine: M minim, M maxim |
Fișierul conține orice număr de înregistrări cu lungime variabilă. Fiecare înregistrare este prefixată cu un antet de înregistrare de 8 octeți:
Octeți | Tip | Endianness | Folosire |
---|---|---|---|
0-3 | int32 | mare | Număr de înregistrare (bazat pe 1) |
4-7 | int32 | mare | Lungime înregistrare (în cuvinte pe 16 biți) |
În urma antetul înregistrării este înregistrarea concreta:
Octeți | Tip | Endianness | Folosire |
---|---|---|---|
0-3 | int32 | puțin | Tip-ul geometriei (vezi referința de mai jos) |
4- | - | - | Continutul geometriei |
Conținutul înregistrării cu lungime variabilă depinde de tipul geometriei, care este fie dat de catre antet fie valoare Nula. Următoarele tipuri de geometrice sunt posibile:
Valoare | Tip-ul geometriei | Câmpuri |
---|---|---|
0 | Forma nulă | Nici unul |
1 | Punct | X, Y |
3 | Polilinie | MBR, Număr de piese, Număr de puncte, Piese, Puncte |
5 | Poligon | MBR, Număr de piese, Număr de puncte, Piese, Puncte |
8 | MultiPunct | MBR, Număr de puncte, Puncte |
11 | PointZ | X, Y, Z, M (optional) |
13 | PolilinieZ | Campuri obligatorii: MBR, Număr de piese, Număr de puncte, Piese, Puncte, interval Z, multime Z
Opțional : interval M, multime M |
15 | PolygonZ | Obligatoriu : MBR, Număr de piese, Număr de puncte, Piese, Puncte, interval Z, multime Z
Opțional : interval M, multime M |
18 | MultiPunctZ | Obligatoriu : MBR, Număr de puncte, Puncte, interval Z, tablou Z
Opțional : gama M, tabloul M |
21 | PointM | X, Y, M |
23 | PolilinieZ | Obligatoriu : MBR, Număr de piese, Număr de puncte, Piese, Puncte Opțional : interval M, multime M |
25 | PoligonM | Obligatoriu : MBR, Număr de piese, Număr de puncte, Piese, Puncte
Opțional : interval M, multime M |
28 | MultiPunctM | Obligatoriu : MBR, Număr de puncte, Puncte
Câmpuri opționale : interval M, multime M |
31 | MultiLinie | Obligatoriu : MBR, Număr de piese, Număr de puncte, Piese, Tipuri de piese, Puncte, interval Z, multime Z
Opțional : interval M, multime M |
Indice de poziție (Shapefile shape index format .shx
)
[modificare | modificare sursă]Indexul conține același antet de 100 de biți ca fișierul .shp
, urmat de orice număr de înregistrări cu 8 biți cu lungime fixă care constă din următoarele două câmpuri:
Octeti | Tip | Endianness | Folosire |
---|---|---|---|
0-3 | int32 | mare | Înregistrare offset (în cuvinte pe 16 biți) |
4-7 | int32 | mare | Lungime înregistrare (în cuvinte pe 16 biți) |
Folosind acest indice, este posibil să căutați înapoi în fișier, mai întâi, căutând înapoi în indexul geometriei (ceea ce este posibil, deoarece folosește înregistrări cu lungime fixă), apoi citind decalarea înregistrărilor și folosind acea compensare pentru a căuta la poziția corectă în fișierul .shp
. Este, de asemenea, posibil să căutați mai departe un număr arbitrar de înregistrări folosind aceeași metodă.
tabelul de atribute (Shapefile attribute format .dbf
)
[modificare | modificare sursă]Acest fișier stochează atributele pentru fiecare formă; folosește formatul dBase IV. Un format alternativ care de asemenea poate fi folosit este xBase, care este o specificație deschisă, și este utilizat în librariile open source, cum ar fi libraria Shapefile C. [2]
Numele și valorile atributelor nu sunt standardizate și vor fi diferite în funcție de sursa fișierului de formă.
Indice spatial (Shapefile spatial index format.sbn
)
[modificare | modificare sursă]Acesta este un fișier binar cu indice spațial, care este utilizat doar de software-ul Esri. Formatul nu este documentat de Esri. Cu toate acestea, a fost proiectat invers și documentat [3] de către comunitatea open source. În prezent nu este implementat de alți furnizori. Fișierul .sbn
nu este strict necesar, deoarece fișierul .shp
conține toate informațiile necesare pentru a analiza cu succes datele spațiale.
Limitări
[modificare | modificare sursă]Topologia și formatul shpaefile-ului
[modificare | modificare sursă]Shpaefile-ulnu are capacitatea de a stoca informații topologice. ESRI ArcInfo si alte tiputi baze de date au capacitatea de a stoca caracteristici topologice.
Reprezentare spațială
[modificare | modificare sursă]Marginile unei linii sau poligon sunt compuse din puncte. Distanța punctelor determină implicit scara la care elementele pot fi vizual utile. Depășirea acestei scări duce la o reprezentare zimțată. Puncte suplimentare ar fi necesare pentru a obține forme netede la scări mai mari. Elementele sunt mai bine reprezentate de curbe netede, reprezentarea de tip poligon necesită mult mai mult spațiu de stocare, ca de exemplu, curbele netede (splines), care pot capătă forme care variază fără probleme în mod eficient. Niciunul dintre shapefile-uri nu acceptă curbe netede (splines).
Mărimea ambelor fișiere .shp
și .dbf
nu poate depăși 2 GB - cel mult în jur de 70 de milioane de puncte. Numărul maxim de caracteristici pentru alte tipuri de geometrie variază în funcție de numărul de noduri (vertex) utilizate.
Formatul bazei de date pentru atribute .dbf
e bazează pe un standard dBase mai vechi. Acest format al bazei de date are în mod inerent o serie de limitări:
- În timp ce standardul actual dBase și GDAL/OGR (principala librarie open source pentru citirea și scrierea seturilor de date shapefile) acceptă valori nule, software-ul ESRI reprezintă aceste valori ca zerouri - o problemă foarte serioasă pentru analizarea datelor cantitative, întrucât s-ar putea denatura, reprezentarea și statistica dacă cantitățile nule sunt reprezentate ca zero
- Asistență slabă pentru câmp-urile Unicode sau pentru stocarea câmpului
- Lungimea maximă a numelor de câmp este de 10 caractere
- Numărul maxim de câmpuri este de 255
- Tipurile de câmp acceptate sunt: punct flotant (stocare 13 caractere), număr întreg (4 sau 9 caractere de stocare), dată (fără stocare timp; stocare 8 caractere) și text (stocare maximă de 254 caractere)
- Numerele cu punct flotant pot conține erori de rotunjire, deoarece sunt stocate ca text
Tipuri de geometrii amestecare
[modificare | modificare sursă]Deoarece forma precede fiecare înregistrare de geometrie, un fisier este capabil fizic de a stoca un amestec de diferite tipuri de forme. Cu toate acestea, specificația prevede: "Toate formele care nu sunt nule dintr-un fișier shapefile trebuie să aibă același tip de formă." Prin urmare, această capacitate de a amesteca tipurile de forme trebuie să se limiteze la intersectarea formelor nule cu tipul de formă unic declarat în antetul fișierului. Un model de formă nu trebuie să conțină atât date liniare cât și poligonale, de exemplu, descrierile pentru un puț (punct), un râu (polilinie) și un lac (poligon) ar fi stocate în trei seturi de date separate.
Vezi si
[modificare | modificare sursă]- Geographic information system
- Open Geospatial Consortium
- Open Source Geospatial Foundation (OSGeo)
- List of geographic information systems software
- Comparison of geographic information systems software
linkuri externe
[modificare | modificare sursă]- Extensii de fișier Shapefile - documente Esri Webhelp pentru ArcGIS 10.0 (2010)
- Esri - Înțelegerea topologiei și a modelelor
- shapelib.maptools.org - Bibliotecă gratuită c pentru citirea/scrierea fișierelor de forme
- Python Shapefile Library - Sursă deschisă (licență MIT) Biblioteca Python pentru citirea/scrierea formularelor
- shapefile.ro Arhivat în , la Wayback Machine. - Deschidere fisier shapefile online cu suport pentru Stereo 70
- Shapefile Projection Finder - Detectează automat proiecția necunoscută a unui fișier de formă [4] [5]
- ^ a b ESRI (iulie 1998). „ESRI Shapefile Technical Description” (PDF). Accesat în .
- ^ „Shapefile C Library V1.2”.
- ^ „Wayback Machine” (PDF). . Arhivat din original (PDF) la .
- ^ Egger, Manfred. „Shapefile Projectionfinder” (PDF). www.egger-gis.at (în engleză).
- ^ „Shapefile Projectionfinder”.