aspose.info
SV

SHP - ESRI Shapefile

Uppdaterad

Vad är SHP fil?

SHP är filtillägget för en av de primära filtyperna som används för representation av ESRI Shapefile. Den representerar geospatial information i form av vektordata som ska användas av Geographic Information Systems (GIS) applikationer. Formatet har utvecklats som öppna specifikationer för att underlätta interoperabilitet mellan ESRI och andra mjukvaruprodukter.

Datarepresentation

Som nämnts beskriver ett shapefil-format geospatial information för en datamängd som vektoregenskaper. Dessa vektorfunktioner inkluderar:

  • poäng
  • linjer
  • polygoner

Dessa funktioner i kombination kan representera nästan alla typer av former som vattenbrunnar, landsgränser, rumsliga punkter, floder, sjöar, etc. Varje vektorfunktion kan ha attribut som faktiskt definierar syftet med den egenskapen. Till exempel kan en shapefil som innehåller städer i Los Angeles ha stadsnamn och temperatur som attribut som ger en meningsfull representation till rumsliga data.

Associerade filer

En fristående shp-fil kan inte användas av mjukvaruapplikationer för att skapa mening med data den innehåller. För att förstå informationen i en sådan fil använder en shapefil följande ytterligare obligatoriska filer.

  • shx-fil - indexfil
  • dbf-fil - en dBASE-fil som lagrar alla attribut för formerna i huvudfilen
  • prj-fil - lagrar projektinformation om filen

Det kan också finnas andra valfria filer som delar samma namn som huvudfilen.

Specifikationer för SHP-filformat

Öppna specifikationer för shapefile är tillgängliga online från ESRI i form av Technical Description och utarbetar filens övergripande struktur i detalj. Informationen i .shp-huvudfilen består av rubriker och poster. Filhuvudet med fast längd följs av poster med variabel längd där varje post består av ett posthuvud med fast längd följt av postinnehåll med variabel längd.

Huvudhuvud för SHP-fil

Huvudfilhuvudet börjar från början av filen och är 100 byte lång. Organisationen av denna huvudfilhuvud tillsammans med byteposition, värde, typ och byteordning är som visas i följande tabell.

BytesFältVärdeTypByteordning
0-3Filkod9994HeltalBig Endian
4-23Oanvänd0HeltalBig Endian
24-27FillängdFillängdHeltalBig Endian
28-31Version1000HeltalLilla Endian
32-35FormtypFormtypHeltalLilla Endian
36-67Minimum avgränsande rektangelXmin, Ymin, Xmax och YmaxdubbelLilla endian
68-83Bounding BoxZmin, ZmaxdubbelLittle Endian
84-99Bounding BoxMmin, Mmaxdubbel

Det bör noteras att värdet på fillängden är den totala längden av filen i 16-bitars ord som också inkluderar de femtio 16-bitars ord som utgör rubriken.

Formtyper

Värdena för fältet formtyper i tabellen ovan är följande:

VärdeFormtyp
0Nullform
1Punkt
3Polyline
5Polygon
8MultiPoint
11PointZ
13PolyLineZ
15PolygonZ
18MultiPointZ
21PointM
23PolyLineM
25PolygonM
28MultiPointM
31MultiPatch

Dataposter

Huvudfilens rubrik följs av poster med variabel längd där varje post består av ett posthuvud med fast längd följt av postinnehåll med variabel längd.

Inspelningshuvud

Posthuvudet innehåller information om postnummer och innehållslängd för posten i en fast längd på 8 byte. Organisationen av posthuvudet är som visas:

BytesFältVärdeTypByteordning
0-3RekordsnummerRekordsnummerHeltalStor
4-7RekordslängdRekordslängdHeltalStor

Spela in innehåll

En formfilspostinnehåll består av en formtyp följt av geometriska data för den formen. En formtyp 0 representerar en nollform som inte har några geometriska data för formen. Längden på postinnehållet reflekterar formdelarna och hörnen. Låt oss ta ett exempel på Point Shape-typ för att utveckla hur en post innehåller information om en sådan formtyp.

En punkt representerar en viss geografisk plats i ordningen X,Y där varje koordinat representeras av ett dubbelprecisionsvärde. Följande tabell visar arrangemanget av en punktformstyp.

BytesFormtypVärdeTypNummerByteordning
0-3Formtyp1Heltal1Litt
4-11XXdubbel1Litt
12-19YYdubbel1Litt

Exempel på andra formtyper finns i ESRI:s tekniska beskrivningsdokument.

Referenser

Se även