Baza danych przestrzennych - Spatial database
Bazie przestrzenna jest baza zoptymalizowane do przechowywania i pobierania danych, który reprezentuje obiekty zdefiniowane w geometryczny powierzchni. Większość baz danych przestrzennych umożliwia reprezentację prostych obiektów geometrycznych, takich jak punkty, linie i wielokąty. Niektóre bazy danych przestrzennych obsługują bardziej złożone struktury, takie jak obiekty 3D, pokrycia topologiczne, sieci liniowe i TIN (nieregularna sieć triangulacyjna). Podczas gdy typowe bazy danych zostały opracowane do zarządzania różnymi typami danych numerycznych i znakowych , takie bazy danych wymagają dodatkowej funkcjonalności do wydajnego przetwarzania typów danych przestrzennych, a programiści często dodawali typy danych geometrycznych lub obiektowych . Open Geospatial Consortium (OGC) opracował prosty Features Specification (wydany w 1997) oraz normy zestawy do dodawania funkcjonalności do systemów baz danych przestrzennych. Standard SQL/MM Spatial ISO/IEC jest częścią standardu multimedialnego SQL/MM i rozszerza standard Simple Features o typy danych, które obsługują interpolacje kołowe.
Geobaza
Geobazie (także baza danych geograficznych i geoprzestrzennych baza danych ) to baza danych z danymi geograficznymi , takich jak kraje , podziałów administracyjnych , miastach i związanych z nimi informacji. Takie bazy danych mogą być przydatne dla stron internetowych, które chcą identyfikować lokalizacje swoich gości w celu dostosowania.
Charakterystyka
Systemy baz danych używają indeksów do szybkiego wyszukiwania wartości; jednak ten sposób indeksowania danych nie jest optymalny dla zapytań przestrzennych . Zamiast tego przestrzenne bazy danych używają indeksu przestrzennego, aby przyspieszyć operacje na bazie danych.
Oprócz typowych zapytań SQL, takich jak instrukcje SELECT, przestrzenne bazy danych mogą wykonywać wiele różnych operacji przestrzennych. Następujące operacje i wiele innych są określone przez standard Open Geospatial Consortium :
- Pomiary przestrzenne: oblicza długość linii, obszar wielokąta, odległość między geometriami itp.
- Funkcje przestrzenne: Modyfikuj istniejące obiekty, aby tworzyć nowe, na przykład zapewniając bufor wokół nich, obiekty przecinające się itp.
- Predykaty przestrzenne: Umożliwia zapytania typu prawda/fałsz dotyczące relacji przestrzennych między geometriami. Przykłady to „czy dwa wielokąty nakładają się na siebie” lub „czy w promieniu mili od terenu, na którym planujemy wybudować składowisko, znajduje się rezydencja?”. (patrz DE-9IM )
- Konstruktory geometrii: Tworzy nowe geometrie, zwykle określając wierzchołki (punkty lub węzły), które definiują kształt.
- Funkcje obserwatora: zapytania, które zwracają określone informacje o funkcji, takie jak położenie środka okręgu
Niektóre bazy danych obsługują tylko uproszczone lub zmodyfikowane zestawy tych operacji, szczególnie w przypadku systemów NoSQL , takich jak MongoDB i CouchDB .
Indeks przestrzenny
Indeksy przestrzenne są wykorzystywane przez bazy danych przestrzennych (bazy danych przechowujące informacje dotyczące obiektów w przestrzeni) do optymalizacji zapytań przestrzennych . Konwencjonalne typy indeksów nie obsługują wydajnie zapytań przestrzennych, takich jak odległość między dwoma punktami lub to, czy punkty mieszczą się w przestrzennym obszarze zainteresowania. Typowe metody indeksowania przestrzennego obejmują:
- Geohasz
- Kod HH
- Siatka (indeks przestrzenny)
- Porządek Z (krzywa)
- Czwórka
- Octree
- UB-drzewo
- R-drzewo : Zazwyczaj preferowana metoda indeksowania danych przestrzennych. Obiekty (kształty, linie i punkty) są grupowane przy użyciu minimalnego prostokąta ograniczającego (MBR). Obiekty są dodawane do MBR w indeksie, co prowadzi do najmniejszego wzrostu jego rozmiaru.
- R+ drzewo
- R* drzewo
- Hilbert R-drzewo
- X-drzewo
- drzewo kd
- m-drzewo – indeks m-drzewa może być użyty do wydajnego rozwiązywania zapytań o podobieństwo na złożonych obiektach w porównaniu z wykorzystaniem dowolnej metryki.
- Binarne partycjonowanie przestrzeni (BSP-Tree): Dzielenie przestrzeni przez hiperpłaszczyzny.
Zapytanie przestrzenne
Zapytanie przestrzenne jest specjalnym typem zapytania do bazy danych obsługiwane przez baz danych przestrzennych, w tym geodatabases. Zapytania różnią się od nieprzestrzennych zapytań SQL na kilka ważnych sposobów. Dwa z najważniejszych to to, że pozwalają na użycie typów danych geometrycznych, takich jak punkty, linie i wielokąty, oraz to, że zapytania te uwzględniają przestrzenne relacje między tymi geometriami.
Nazwy funkcji dla zapytań różnią się w różnych geobazach. Poniższa lista zawiera powszechnie używane funkcje wbudowane w PostGIS , darmową geobazę będącą rozszerzeniem PostgreSQL (termin 'geometria' odnosi się do punktu, linii, prostokąta lub innego dwu- lub trójwymiarowego kształtu):
Prototyp funkcji : functionName (parametry) : zwracany typ
- Odległość (geometria, geometria): liczba
- Równe (geometria, geometria) : boolean
- Disjoint(geometria, geometria): boolean
- Przecięcia (geometria, geometria) : boolean
- Dotyk (geometria, geometria): boolean
- Krzyże (geometria, geometria): boolean
- Nakładanie się (geometria, geometria) : boolean
- Zawiera (geometria, geometria): boolean
- Długość (geometria): liczba
- Obszar (geometria): liczba
- Centroid (geometria): geometria
Systemy zarządzania przestrzennymi bazami danych
Lista
- AllegroGraph – grafowa baza danych udostępniająca mechanizm wydajnego przechowywania i wyszukiwania dwuwymiarowych współrzędnych geoprzestrzennych dla danych Resource Description Framework . Zawiera składnię rozszerzenia dla zapytań SPARQL .
- ArangoDB - wielomodelowa baza danych, która zapewnia możliwość geoindeksowania.
- Caliper rozszerza Raima Data Manager o typy danych przestrzennych, funkcje i narzędzia.
- CouchDB system bazy danych oparty na dokumentach, który można włączyć przestrzennie za pomocą wtyczki o nazwie Geocouch
- Elasticsearch to system bazy danych oparty na dokumentach, który obsługuje dwa typy danych geograficznych: pola geo_point, które obsługują pary szerokości/długości, oraz pola geo_shape, które obsługują punkty, linie, okręgi, wielokąty, wielokąty itp.
- GeoMesa jest bazą danych przestrzenno-czasowego chmurze zbudowany na szczycie Apache Accumulo i Apache Hadoop (obsługuje również Apache HBase , Google Bigtable , Cassandra i Apache Kafka ). GeoMesa obsługuje pełne proste funkcje OGC i wtyczkę GeoServer.
- H2 obsługuje typy geometrii i indeksy przestrzenne od wersji 1.3.173 (28.07.2013). Rozszerzenie o nazwie H2GIS dostępne w Maven Central zapewnia pełną obsługę OGC Simple Features .
- Dowolna edycja IBM DB2 może być włączona przestrzennie w celu zaimplementowania funkcji przestrzennej OpenGIS z typami i funkcjami przestrzennymi SQL.
- Rozszerzenia IBM Informix Geodetic and Spatial datablade są automatycznie instalowane podczas użytkowania i rozszerzają typy danych Informix o wiele standardowych układów współrzędnych i obsługę indeksów RTree. Dane geodezyjne i przestrzenne można również włączyć do obsługi danych Timeseries firmy Informix w celu śledzenia obiektów w ruchu w czasie.
- Linter SQL Server obsługuje typy przestrzenne i funkcje przestrzenne zgodnie ze specyfikacją OpenGIS.
- Microsoft SQL Server obsługuje typy przestrzenne od wersji 2008
- Rozszerzenie MonetDB/GIS dla MonetDB dodaje proste funkcje OGS do relacyjnej bazy danych magazynu kolumn .
- MySQL DBMS implementuje geometrię typu danych oraz kilka funkcji przestrzennych zaimplementowanych zgodnie ze specyfikacją OpenGIS. Jednak w MySQL w wersji 5.5 i wcześniejszych funkcje testujące relacje przestrzenne są ograniczone do pracy z minimalnymi prostokątami ograniczającymi, a nie z rzeczywistymi geometriami. Wersje MySQL wcześniejsze niż 5.0.16 obsługiwały tylko dane przestrzenne w tabelach MyISAM. Od MySQL 5.0.16, InnoDB, NDB, BDB i ARCHIVE również obsługują funkcje przestrzenne.
- Neo4j – baza danych wykresów, która może budować indeksy 1D i 2D jako krzywa B-tree , Quadtree i Hilbert bezpośrednio na wykresie
- OpenLink Virtuoso obsługuje SQL/MM od wersji 6.01.3126, ze znaczącymi ulepszeniami, w tym GeoSPARQL w Open Source Edition 7.2.6 i Enterprise Edition 8.2.0
- Oracle przestrzenne
- PostgreSQL DBMS (system zarządzania bazą danych) wykorzystuje przestrzenne rozszerzenie PostGIS do implementacji znormalizowanej geometrii typów danych i odpowiednich funkcji.
- Redis z Geo API.
- RethinkDB obsługuje indeksy geoprzestrzenne w 2D.
- SAP HANA obsługuje geoprzestrzennie z SPS08.
- Smallworld VMDS , natywna baza danych GE Smallworld GIS
- Przestrzenny serwer zapytań firmy Boeing umożliwia przestrzennie Sybase ASE.
- SpatiaLite rozszerza Sqlite o przestrzenne typy danych, funkcje i narzędzia.
- Tarantool obsługuje zapytania geoprzestrzenne z indeksem RTREE.
- Teradata Geospatial zawiera funkcje przestrzenne 2D (zgodne z OGC) w swoim systemie hurtowni danych.
- Vertica Place , rozszerzenie geoprzestrzenne dla HP Vertica , dodaje funkcje przestrzenne zgodne z OGC do relacyjnej bazy danych magazynu kolumn .
Tabela darmowych systemów specjalnie do przetwarzania danych przestrzennych
DBS | Licencja | Rozpowszechniane | Obiekty przestrzenne | Funkcje przestrzenne | Interfejs PostgreSQL | Interfejs UMN MapServer | Dokumentacja | Modyfikowalny | HDFS |
---|---|---|---|---|---|---|---|---|---|
ArangoDB | Licencja Apache 2.0 | tak | tak | tak - przegląd możliwości funkcji języka zapytań | nie | nie | oficjalna dokumentacja | AQL | nie |
GeoMesa | Licencja Apache 2.0 | tak | tak ( Proste funkcje ) | tak ( JTS ) | nie (produkcja za pomocą GeoTools ) | nie | części funkcji, kilka przykładów | dzięki prostemu dostępowi do funkcji w Java Virtual Machine i Apache Spark można rozwiązać wszelkiego rodzaju zadania | tak |
H2 (H2GIS) | LGPL 3 (od v1.3), GPL 3 przed | nie | tak (niestandardowe, bez rastra) | Prosty dostęp do funkcji i niestandardowe funkcje dla H2Network | tak | nie | tak (strona główna) | SQL | nie |
Ingres | GPL lub zastrzeżone | tak (jeśli rozszerzenie jest zainstalowane) | tak (niestandardowe, bez rastra) | Silnik geometrii, Open Source | nie | z MapScript | tylko krótko | z C i OME | nie |
Neo4J -przestrzenny | Powszechna licencja publiczna GNU affero | nie | tak ( Proste funkcje ) | tak (zawierają, zakrywają, zakrywają, krzyżują się, rozłączne, przecinają się, przecinają okno, nakładają się, dotykają, w obrębie i w odległości) | nie | nie | tylko krótko | widelec JTS | nie |
PostgreSQL z PostGIS | Powszechna Licencja Publiczna GNU | nie | tak ( Proste funkcje i raster) | tak ( prosty dostęp do funkcji i funkcje rastrowe) | tak | tak | szczegółowy | SQL, w połączeniu z R | nie |
Postgres-XL z PostGIS | Licencja publiczna Mozilli i ogólna licencja publiczna GNU | tak | tak ( Proste funkcje i raster) | tak ( prosty dostęp do funkcji i funkcje rastrowe) | tak | tak | PostGIS: tak, Postgres-XL: krótko | SQL związane z R lub Tcl lub Pythonie | nie |
Rasdaman | serwer GPL , klient LGPL , własność przedsiębiorstwa | tak | po prostu raster | manipulowanie rastrem za pomocą rasql | tak | z usługą pokrycia sieci lub usługą przetwarzania sieci | szczegółowa wiki | własna zdefiniowana funkcja w edycji Enterprise | nie |
Przemyśl DB | AGPL | tak | tak |
|
nie | nie | oficjalna dokumentacja | rozwidlenie | nie |
Zobacz też
- System informacji geograficznej (GIS)
- GeoSPARQL
- Bazy glacjo-geologiczne
- Inteligencja lokalizacji
- Multimedialna baza danych
- Wyszukiwanie najbliższego sąsiada
- Obiektowa baza danych przestrzennych
- Proste funkcje
- Analiza przestrzenna
- Przestrzenny ETL
- Baza czasoprzestrzenna
Bibliografia
Dalsza lektura
- Przestrzenne bazy danych: wycieczka , Shashi Shekhar i Sanjay Chawla, Prentice Hall, 2003 ( ISBN 0-13-017480-7 )
- Przestrzenne bazy danych – z zastosowaniem do GIS Philippe Rigaux, Michel Scholl i Agnes Voisard. Wydawnictwo Morgana Kaufmanna . 2002 ( ISBN 1-55860-588-6 )
- Ocena systemów zarządzania danymi dla geoprzestrzennych Big Data Pouria Amirian, Anahid Basiri i Adam Winstanley. Skoczek. 2014 ( ISBN 9783319091563 )
Zewnętrzne linki
- Wprowadzenie do PostgreSQL PostGIS
- PostgreSQL PostGIS jako komponenty architektury zorientowanej na usługi SOA
- A Trigger Based Security Alarming Scheme for Moving Objects on Road Networks Sajimon Abraham, P. Sojan Lal, Wyd. Springer Berlin / Heidelberg-2008.
- geobaza ArcGIS Resource Center opis geobazy