Redigerer
Romlig database
Hopp til navigering
Hopp til søk
Advarsel:
Du er ikke innlogget. IP-adressen din vil bli vist offentlig om du redigerer. Hvis du
logger inn
eller
oppretter en konto
vil redigeringene dine tilskrives brukernavnet ditt, og du vil få flere andre fordeler.
Antispamsjekk.
Ikke
fyll inn dette feltet!
En '''romlig database''' er en generell [[database]] (vanligvis en [[relasjonsdatabase]]) som har blitt forbedret til å inkludere romlige data (geografiske data) som representerer objekter definert i et [[Rom (fysikk)|geometrisk rom]], sammen med verktøy for å [[Informasjonsgjenfinning|spørre]] og analysere slike data. De fleste romlige databaser tillater representasjon av enkle geometriske objekter som [[Punkt|punkter]], [[Linje|linjer]] og [[Polygon|polygoner]]. Noen romlige databaser håndterer mer komplekse strukturer som 3D-objekter, topologiske dekninger, lineære nettverk og triangulerte irregulære nettverk (TIN). Mens typiske databaser har utviklet seg for å administrere ulike numeriske og tegntyper av [[Datatype|data]] krever slike databaser tilleggsfunksjonalitet for å behandle romlige datatyper effisient, og utviklere har ofte lagt til datatyper for ''geometri'' eller ''egenskap''. En '''geografisk database''' (eller '''geodatabase''') er en georeferert romlig database, brukt til å lagre og manipulere geografiske data (geodata, altså data assosiert med et sted på jorden), særlig i [[Geografisk informasjonssystem|geografiske informasjonssystemer]] (GIS). Nesten alle nåværende relasjons- og objektrelasjonelle [[Databasehåndteringssystem|databasehåndteringssystemer]] har nå romlige utvidelser, og noen GIS-programvareleverandører har utviklet sine egne romlige utvidelser til databasestyringssystemer. [[Open Geospatial Consortium]] (OGC) utviklet ''Simple Features-'' spesifikasjonen (først utgitt i 1997)<ref>{{Kilde www|url=http://www.opengeospatial.org/ogc/historylong|tittel=OGC History (detailed)|besøksdato=2016-07-12|fornavn=Lance|etternavn=McKee|forlag=OGC|arkiv-dato=2016-07-02|arkiv-url=https://web.archive.org/web/20160702171919/http://www.opengeospatial.org/ogc/historylong|url-status=yes}}</ref> og setter standarder for å legge til romlig funksjonalitet til databasesystemer.<ref> [http://www.opengeospatial.org OGC Homepage]</ref> ''SQL/MM Spatial'' ISO/IEC-standarden er en del av det [[Structured Query Language|SQL]] og multimediestandarden som utvider Simple Features.<ref name="Kresse2012">{{Kilde bok|url=https://archive.org/details/springerhandbook00kres|tittel=Springer handbook of geographic information|dato=2010|utgiver=Springer|isbn=9783540726807|redaktør-etternavn=Kresse|utgave=1.|utgivelsessted=Berlin}} </ref> == Kjennetegn == Kjernefunksjonaliteten som legges til av en romlig utvidelse til en database er én eller flere ''romlige datatyper'', som tillater lagring av romlige data som attributtverdier i en tabell. <ref name="GISTBOK">{{Kilde www|url=https://gistbok.ucgis.org/bok-topics/relational-dbms-and-their-spatial-extensions|tittel=DM-03 - Relational DBMS and their Spatial Extensions|besøksdato=5. januar 2023|fornavn=P.|etternavn=Yue|forlag=UCGIS|url-status=yes}}</ref> Oftest vil en enkelt romlig verdi være en geometrisk primitiv (punkt, linje, polygon, etc.) basert på vektordatamodellen . Datatypene i de fleste romlige databaser er basert på OGC Simple Features- spesifikasjonen for å representere geometriske primitiver. Noen romlige databaser støtter også lagring av [[Rastergrafikk|rasterdata]] . Fordi alle geografiske steder må spesifiseres i henhold til et romlig referansesystem, må romlige databaser også tillate sporing og transformasjon av koordinatsystemer. I mange systemer, når en romlig kolonne er definert i en tabell, inkluderer den også et valg av koordinatsystem, valgt fra en liste over tilgjengelige systemer som er lagret i en oppslagstabell. Den andre store funksjonalitetsutvidelsen i en romlig database er tillegget av romlige muligheter til spørringsspråket (f.eks. [[Structured Query Language|SQL]] ); disse gir den romlige databasen de samme spørrings-, analyse- og manipulasjonsoperasjonene som er tilgjengelige i tradisjonell GIS-programvare. I de fleste relasjonsdatabaseadministrasjonssystemer er denne funksjonaliteten implementert som et sett med nye funksjoner som kan brukes i SQL SELECT-setninger. Flere typer operasjoner er spesifisert av [[Open Geospatial Consortium|Open Geospatial Consortium-]] standarden: * '''Måling''': Beregner linjelengde, polygonareal, avstanden mellom geometrier, og så videre * '''Geoprosessering''': Endrer eksisterende funksjoner for å lage nye, for eksempel ved å lage en buffer rundt dem, kryssende funksjoner, og så videre * '''Predikater''': Tillater sann/usann-spørringer om romlige relasjoner mellom geometrier. For eksempel "overlapper to polygoner?" eller "er det en bolig innenfor en kilometer fra området vi planlegger å bygge deponiet?" (se [[Dimensionally Extended 9-Intersection Model|DE-9IM]]) * '''Geometrikonstruktører''': Skaper nye geometrier, vanligvis ved å spesifisere toppunktene (punktene eller nodene) som definerer formen * '''Observatørfunksjoner''': Spørringer som returnerer spesifikk informasjon om en funksjon, for eksempel plasseringen av midten av en sirkel Noen databaser støtter bare forenklede eller modifiserte mengder av disse operasjonene, særlig i tilfeller med [[NoSQL]]-systemer som MongoDB og [[CouchDB]]. == Romlig indeks == En '''romlig indeks''' brukes av en romlig database for å optimere [[Romlig spørring|romlige spørringer]]. Databasesystemer bruker indekser for raskt å slå opp verdier ved å sortere dataverdier i en lineær (for eksempel alfabetisk) rekkefølge. Denne måten å indeksere data på er imidlertid ikke optimal for romlige spørringer i 2- eller 3-dimensjonale rom. I stedet bruker romlige databaser en ''romlig'' indeks designet spesielt for flerdimensjonal sortering.<ref name="GISTBOK_indexing">{{Kilde www|url=http://gistbok.ucgis.org/bok-topics/spatial-indexing|tittel=DM-66 Spatial Indexing|besøksdato=5. januar 2023|fornavn=X.|etternavn=Zhang|forlag=UCGIS|arkiv-dato=2023-01-05|arkiv-url=https://web.archive.org/web/20230105211928/http://gistbok.ucgis.org/bok-topics/spatial-indexing|url-status=yes}}</ref> Vanlige romlig indeksmetoder inkluderer: * [[Binær rompartisjonering]] (BSP-tre): Underinndeling av rom etter hyperplan * Bounding volume hierarchy (BVH) * Geohash * Grid (romlig indeks) * HHCode * Hilbert R-tree * kd-tree * m-tree, en m-treindeks kan brukes for effisient løsing av similaritetsspørringer på komplekse objekter sammenlignet med en vilkårlig metrikk * Octree * PH-tre * Quadtree * R-tre: Vanligvis den foretrukne metoden for indeksering av romlige data.<ref>{{Kilde bok|tittel=Moving Objects Databases|etternavn=Güting|fornavn=Ralf Hartmut|etternavn2=Schneider|fornavn2=Markus|utgiver=Morgan Kaufmann|isbn=9780120887996|språk=en}}</ref> Objekter (former, linjer og punkter) grupperes ved å bruke [[Minimum avgrensende rektangel|minste begrensende rektangel]] (MBR). Objekter legges til en MBR innenfor indeksen som vil føre til den minste økningen i størrelsen. * R+ tre * R* tre * UB-tre * X-tre * Z-orden (kurve) == Romlig spørring == En '''romlig spørring''' er en spesiell type [[Database|databasespørring]] som støttes av romlige databaser, inkludert geodatabaser. Spørringene skiller seg fra ikke-romlige [[Structured Query Language|SQL]]-spørringer på flere viktige måter. To av de viktigste er at de tillater bruk av geometridatatyper som punkter, linjer og polygoner, og at disse spørringene tar hensyn til den romlige relasjonen mellom disse geometriene. Funksjonsnavnene for spørringer varierer på tvers av geodatabaser. Følgende er noen av funksjonene innebygd i [[PostGIS]], en gratis geodatabase som er en PostgreSQL-utvidelse (begrepet "geometri" refererer til et punkt, linje, boks eller annen 2- eller 3-dimensjonal form): <ref>{{Kilde www|url=https://postgis.net/docs/reference.html|tittel=PostGIS Function Reference|besøksdato=4. januar 2023|forlag=OSGeo}}</ref> Function prototype: ''functionName (parameter(s)) : return type'' * ST_Distance(geometry, geometry) : number * ST_Equals(geometry, geometry) : boolean * ST_Disjoint(geometry, geometry) : boolean * ST_Intersects(geometry, geometry) : boolean * ST_Touches(geometry, geometry) : boolean * ST_Crosses(geometry, geometry) : boolean * ST_Overlaps(geometry, geometry) : boolean * ST_Contains(geometry, geometry) : boolean * ST_Length(geometry) : number * ST_Area(geometry) : number * ST_[[:en:Centroid|Centroid]](geometry) : geometry * ST_Intersection(geometry, geometry) : geometry Dermed kan en romlig skjøt mellom et punktlag av byer og et polygonlag av land utføres i et romlig utvidet SQL-uttrykk som: <code>SELECT * FROM cities, countries WHERE ST_Contains(countries.shape, cities.shape)</code> [[Vektoroverlegg|Vektoroverleggs]]-operasjonen ''Intersect'' (et kjerneelement i GIS-programvare) kan replikeres som: <code>SELECT ST_Intersection(veg.shape, soil.shape) int_poly, veg.</code> <code>*, soil.</code> <code>* FROM veg, soil where ST_Intersects(veg.shape, soil.shape)</code> == Se også == * [[Geografisk informasjonssystem]] (GIS) * [[Romlig-temporal database]] == Referanser == <references/> [[Kategori:Geometriske algoritmer]]
Redigeringsforklaring:
Merk at alle bidrag til Wikisida.no anses som frigitt under Creative Commons Navngivelse-DelPåSammeVilkår (se
Wikisida.no:Opphavsrett
for detaljer). Om du ikke vil at ditt materiale skal kunne redigeres og distribueres fritt må du ikke lagre det her.
Du lover oss også at du har skrevet teksten selv, eller kopiert den fra en kilde i offentlig eie eller en annen fri ressurs.
Ikke lagre opphavsrettsbeskyttet materiale uten tillatelse!
Avbryt
Redigeringshjelp
(åpnes i et nytt vindu)
Maler som brukes på denne siden:
Mal:ISOtilNorskdato
(
rediger
)
Mal:Kilde bok
(
rediger
)
Mal:Kilde www
(
rediger
)
Modul:Citation/CS1
(
rediger
)
Modul:Citation/CS1/COinS
(
rediger
)
Modul:Citation/CS1/Configuration
(
rediger
)
Modul:Citation/CS1/Date validation
(
rediger
)
Modul:Citation/CS1/Identifiers
(
rediger
)
Modul:Citation/CS1/Utilities
(
rediger
)
Modul:Citation/CS1/Whitelist
(
rediger
)
Modul:ISOtilNorskdato
(
rediger
)
Navigasjonsmeny
Personlige verktøy
Ikke logget inn
Brukerdiskusjon
Bidrag
Opprett konto
Logg inn
Navnerom
Side
Diskusjon
norsk bokmål
Visninger
Les
Rediger
Rediger kilde
Vis historikk
Mer
Navigasjon
Forside
Siste endringer
Tilfeldig side
Hjelp til MediaWiki
Verktøy
Lenker hit
Relaterte endringer
Spesialsider
Sideinformasjon