Shapefile Dalibor Tvrdý GIS 2010/11
Co je to shapefile? Shapefile je jednoduchý datový formát pro ukládání prostorových dat Vyvinut společností ESRI (Economic and Social Research Institute) začátkem 90. let Popisuje body, polyliny, polygony, atributové data (popisné) Geodata + atributy = feature
Shapefile Jeden soubor obvykle reprezentuje jeden typ mapového prvku, např. silnice, jezera, obce (Název musí splňovat konvenci 8+3) dle specifikace Shapefile specifikuje i další pomocné soubory Jméno.přípona prefix zůstává stejný přípona se mění
Pomocné soubory Povinné.shp samotný hlavní soubor s geodaty.shx indexový soubor.dbf soubor s atributy resp. popisné data Nepovinné.prj zdrojový souřadnicový systém WKT-string GEOGCS["GCS_WGS_1984",DATUM["D_WGS_1984",SPHEROID[" WGS_1984",6378137,298.257223563]],PRIMEM["Greenwich",0],UNIT ["Degree",0.017453292519943295]].cpg specifikuje kódování v dbf souboru UTF-8.atx,.ixs,.fbn,.shp.xml
Shape Geometrický prvek v záznamu - shape Samotnou geometrii shape ukládá jako sekvenci bodů (např. GPS souřadnic) Nedefinuje topologickou strukturu Jeden záznam shape jeden řádek v atributech Shape Point Polyline Polygon
Struktura souboru.shp File header [100b]
Struktura souboru.shp Hlavička, fixní délka 100b 0 4 24 28 32 36 68 84 int int int int int 4 x double 2x double 2 x double File code vždy 94440 nepouž. délka souboru verze 0 NullShape 15 PolygonZ 1 Point 18 MultiPointZ 3 PolyLine 21 PointM 5 Polygon 23 PolyLineM 8 MultiPoint 25 PolygonM Typ shape MBR X min Y min X max Y max Z min Z max M min M max X max, Y max 11 PointZ 28 MultiPointM 13 PolyLineZ 31 MultiPatch X min, Y min
Struktura souboru.shp File header [100b] 0 4 int číslo záznamu int délka záznamu Hlavička záznamu Fixní délka 8b Stejná pro všechny typy
Struktura souboru.shp File header [100b] 0 4 36 40 44 X EOF int 4 x double int int Int[] Point[] (2 x double na 1 bod) Shape type MBR Počet částí Počet bodů Indexy na části Body X = 44 + 4 * počet částí Příklad polyline, podobné i pro polygon 3 X1, Y1 X2, Y2 Xmin, Ymin, Xmax, Ymax X4, Y4 X3, Y3 2 9 [0,5] X5, Y5 X6, Y6 [X1,Y1], [X2,Y2],, [X6,Y6],,[X9,Y9] X7, Y7 X8, Y8 X9, Y9
Atributové data Standartní DBF soubor (tabulka) Ke každému záznamu existuje právě jeden řádek v tabulce ve stejném pořadí jako ve zdrojovém shapefile Musí mít stejný prefix jako zdrojový shapefile Kódování uloženo v.cfg souboru Velké množství dat, redundance
Software Každý GIS software již podporuje import dat z shapefile Mnohé z nich i export a další nástroje Jednoduché utility pro zobrazení shapefile Knihovny pro programátory Každá podobný přístup k datům Csharp http://shapefile.codeplex.com/ http://dotspatial.codeplex.com/ -rozsáhlý opensource framework pro práci s geodaty, včetně prvků pro vizualizaci, sjednocení několika dříve vyvíjených knihoven, málo zdokumentován, existuje zatím pouze beta verze Java http://www.osgeo.org/geotools Další viz shapefile reader na Google
Příklad procházení shapefile Catfood.Shapefile
Prohlížeče shapefile ArcGIS Explorer zdarma, i online verze http://www.esri.com/software/arcgis/explorer/index.html
Prohlížeče shapefile MapWindow GIS zdarma, založeno na DotSpatial http://www.mapwindow.org/
Shapefile + výhody -nevýhody Neukládá topologii dat Snadná editace bodů Rychlá vizualizace geodat Jednoduše pochopitelná struktura Podpora v GIS softwarech Snadná projekce do jiných souřadnicových systémů Neukládá topologii dat Redundance dat (např. body sousedících polygonů) Manipulace s detailní shapefile (až 100MB soubor) je pomalá Špatná podpora Unicode
Zdroje Technická dokumentace http://www.esri.com/library/whitepapers/pdfs/shapefile.pdf DotSpatial framework http://dotspatial.codeplex.com/
Děkuji za pozornost