sql >> Databáze >  >> RDS >> Sqlserver

Jak porozumět geografickému datovému typu serveru SQL Server

Datový typ SQL Server Geography se liší od jiných typů jednoduše proto, že jej nepoužíváte často. Není to jako varchar , int , plovoucí nebo Datum a čas přítomen v každé tabulce, alespoň v jednom typu.

Potřebujeme datový typ SQL Server Geography? Aby něco nového mělo smysl, musíme si odpovědět na tři základní otázky:

Jaké problémy řeší ? Odpověď spočívá v případech použití.
Jaké věci obnáší její studium? Naučíte se pár základních definic a zkratek. Shromáždil jsem jen to důležité, takže vás to nebude nudit.
Existují příklady, které dále objasňují, jak to funguje a je snadné jej implementovat? Náš druh žije s kódem. Jíme a spíme s tím. V tomto příspěvku tedy budeme mít ukázkové kódy.

Není to příspěvek, který by vám cpal technický žargon a syntaxi tak, jak je. Jakmile prolomíte základy geografického datového typu SQL Server, můžete začít. Zní to dobře?

Pojďme se ponořit.

Případy použití prostorových dat

Začněme tím nejviditelnějším a tím nejlepším – obecným pojmem „prostorová data“.

Prostorová nebo geoprostorová data jsou data o objektech, událostech nebo jevech nacházejících se na zemském povrchu. Jinými slovy, jsou to informace nacpané na mapě. Vzpomeňte si například na Mapy Google nebo Waze.

Ale je toho víc:

  • Najděte firemní doručovací vůz prostřednictvím webu nebo mobilní aplikace.
  • Najděte zajímavá místa, jako jsou restaurace, banky nebo nemocnice v okolí.
  • Analyzujte data o zemětřesení, šíření COVID-19, povodních nebo silničním provozu – geoprostorová analýza.

A tak dále.

Prostorovými daty se zabývá několik databázových platforem, my se však zaměříme pouze na jednu.

Co je typ geografických dat serveru SQL Server?

Společnost Microsoft přidala do SQL Server 2008 datové typy geografie a geometrie. Geografie představuje data v souřadnicovém systému kulaté země. Je také implementován jako datový typ .Net CLR, který má vlastnosti jako zeměpisná šířka nebo délka.

Tento příspěvek se zaměřuje na geografický datový typ a jeho aplikace, zejména v:

  • Zajímavá místa, jako je vyhledání okolních restaurací a ukázkový dotaz.
  • Geoprostorová analýza.

Protože se jedná o datový typ, vytvoříme tabulku. Poté definujeme sloupec nebo sloupce jako geografii. A nakonec na těchto sloupcích vytvoříme prostorový index.

Když zadáte dotaz na tabulku se sloupcem geografie, výstup bude v binárním formátu.

Zkusme provést základní příklad níže:

SELECT 
 [CityID]
,[CityName]
,[GeoLocation]
FROM [Cities]

Obrázek 1 níže ukazuje sadu výsledků:

Když sada výsledků obsahuje prostorová data, zobrazí se Prostorové výsledky zobrazí se také karta. Obrázek 2 znázorňuje prostorové výsledky z výše uvedeného dotazu:

Co se právě stalo?

Zdá se, že zobrazení sady výsledků není ani zdaleka snadné a užitečné, natož tečky podél mřížky. Hned na prvním SELECT jsem vám ukázal, co můžete očekávat prohlášení o typech geografických dat. Další část nabídne mnohem lepší perspektivu.

Vytvoření geografických instancí SQL Server

Chcete-li pracovat s daty s geografickým datovým typem SQL Server, potřebujete instanci. Existují čtyři způsoby, jak vytvořit instanci geografie:

  1. z jiné geografické instance
  2. používá dobře známý text (WKT)
  3. pomocí známého binárního kódu (WKB)
  4. z textového vstupu Geography Markup Language (GML)

Zaměřme se na použití dobře známého textu.

Použití dobře známého textu (WKT)

Toto zastoupení je založeno na Open Geospatial Consortium (OGC). Umožňuje výměnu geografických dat v textové podobě.

Vezměte si náš předchozí příklad, ale místo binárního výstupu jej převedeme na řetězec:

SELECT 
 [CityID]
,[CityName]
,[GeoLocation].ToString() AS GeoLocationString
FROM [Cities]

Všimněte si ToString () metoda. Převede výstup na hodnotu řetězce. Výstup můžete vidět na obrázku 3 níže:

Lepší? No, pořád jsou to jen čísla. Ale co když vám řeknu, že tato čísla jsou zeměpisná šířka a délka těchto měst? Dává to větší smysl, ne?

Je to dobře známý text (WKT) a je nezbytný, když vkládáte data do sloupce. Více o tom později. Nyní potřebujeme prozkoumat ještě jednu věc.

Spatial Reference Identifier (SRID)

Kromě dobře známého textu má každá instance geografie prostorový referenční identifikátor (SRID). Je nezbytný pro měření geografických instancí (míst nebo bodů) v mapování kolem Země.

Nejrozšířenější jednotkou měření jsou metry nebo metry čtvereční, označované SRID 4326. Všechny ostatní SRID lze nalézt v sys.spatial_reference_systems .

Vaše geografické sloupce mohou mít různé SRID. Všimněte si, že když provádíte operace na dvou geografických instancích, jako je měření jejich vzdáleností. Obě instance by měly mít stejné SRID, jinak vám vrátí NULL .

STGeomFromText

Poté, co se seznámíte s WKT a SRID, vytvoření instance geografie vyžaduje metodu nazvanou STGeomFromText . Má následující syntaxi:

geography::STGeomFromText( , SRID )

Příklad:

INSERT INTO Cities
(CityName, GeoLocation)
VALUES
('CITY OF MANILA',geography::STGeomFromText('POINT(14.6077 120.98202)', 4326))

Podívejme se na hodnoty parametrů:

‘POINT(14,6077 120,98202)“ – známý text bodu v mapě o zeměpisné šířce 14,6077 a délce 120,98202. To odpovídá Manile, hlavnímu městu Filipín.

4326 – prostorový referenční identifikátor

Pojďme rovnou na příklady a použijme tento nový klenot, který jsme našli.

Praktické příklady geografického datového typu serveru SQL

Budeme mít dvě běžné aplikace, které vám pomohou začít používat geografická data.

Výpočet vzdáleností (nejbližší soused)

Běžná aplikace v geografických prostorových datech se nazývá dotaz na nejbližšího souseda. V tomto dotazu chcete vědět, jak daleko nebo blízko je něco k jinému objektu nebo místu.

Ve svém příspěvku o SQL grafu jsem popsal, jak může zákazník najít blízké restaurace z aktuálního umístění. Podívejme se znovu na tento příklad:

-- Query the location of the customer
DECLARE @deliveryLocation GEOGRAPHY

SELECT @deliveryLocation = Locations.GeoLocation
FROM Customers, willReceiveIn, Locations
WHERE MATCH(Customers-(willReceiveIn)->Locations)
AND Customers.CustomerID = 3

-- Query the restaurants within 1000 meters from the location of the customer
SELECT
 Restaurants.Name
,Restaurants.Description
,Restaurants.Opening
,Restaurants.Closing
,Locations.Description
,ROUND(Locations.GeoLocation.STDistance(@deliveryLocation),2) AS Distance
FROM Restaurants, isLocated, Locations
WHERE MATCH(Restaurants-(isLocated)->Locations)
AND locations.GeoLocation.STDistance(@deliveryLocation) <= 1000
ORDER BY Distance

Tajemství tohoto dotazu na nejbližšího souseda je STDistance (). Potřebuje dvě geografické polohy:jednu pro zákazníka a další pro restaurace do 1000 metrů od místa zákazníka.

Skvělé je, že stejný koncept platí pro další nápady zahrnující dvě nebo více míst.

Geoprostorová analýza pomocí Power BI

Další aplikací prostorových dat je jejich využití pro geoprostorovou analýzu. V této části máme příklad použití případů COVID-19 na místo a jeho prezentaci pomocí Power BI.

(Na okraj, zde jsou další informace o tom, co je Power BI a jak ji nainstalovat)

Instalace Power BI Desktopu je zdarma. Jednou z výchozích vizualizací je vizualizace mapy pomocí Bing Maps. Nepotřebujeme souřadnice pro známá místa, jako jsou země a státy USA. Viz příklad níže:

Všimněte si červeného rámečku na obrázku 4. Zeměpisná šířka a délka jsou prázdné, ale bubliny jsou na mapě vykresleny v pořádku.

V dalším příkladu však použijeme regiony a města na Filipínách. Pro správné vykreslení bublin jsou souřadnice nutností.

CO POTŘEBUJETE

Než se pustíme do masité části zprávy, zde jsou základní věci, které potřebujeme:

  • Power BI Desktop
  • Vizualizace mapy
  • Tabulky a dotazy
  • Ukázková data

PŘÍPRAVA DAT

Příprava tabulek a pohledů

Na začátku musíme nastavit kontejnery pro naše data. Požadujeme tedy následující tabulky:

  1. Města – seznam měst na Filipínách roztříděných podle regionů.
  2. Regiony – seznam oblastí na Filipínách
  3. CityCases – seznam obsahující počet případů pro každé město.

Níže je struktura tabulky:

CREATE TABLE [dbo].[Cities](
[CityID] [int] IDENTITY(1,1) NOT NULL,
[CityName] [varchar](50) NOT NULL,
[RegionID] [int] NOT NULL,
[GeoLocation] [geography] NULL,
 CONSTRAINT [PK_Cities] PRIMARY KEY CLUSTERED
(
[CityID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO

CREATE TABLE [dbo].[Regions](
[RegionID] [int] IDENTITY(1,1) NOT NULL,
[Region] [varchar](50) NOT NULL,
[GeoLocation] [geography] NULL,
 CONSTRAINT [PK_Regions] PRIMARY KEY CLUSTERED
(
[RegionID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO

CREATE TABLE [dbo].[CityCases](
[CityCaseID] [int] IDENTITY(1,1) NOT NULL,
[CityID] [int] NOT NULL,
[DateReported] [date] NOT NULL,
[TotalCases] [int] NOT NULL,
[TotalDeaths] [int] NOT NULL,
 CONSTRAINT [PK_CityCases] PRIMARY KEY CLUSTERED
(
[CityCaseID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
GO
ALTER TABLE [dbo].[CityCases]  WITH CHECK ADD  CONSTRAINT [FK_CityCases_Cities] FOREIGN KEY([CityID])
REFERENCES [dbo].[Cities] ([CityID])
GO
ALTER TABLE [dbo].[CityCases] CHECK CONSTRAINT [FK_CityCases_Cities]
GO

Vzhledem k tomu, že geografický datový typ vizualizace Power BI Map nezná, musíte vytvořit pohledy. Účelem je odhalit zeměpisnou šířku a délku z těchto sloupců. Děláme to pro města a regiony – viz níže:

CREATE VIEW vwCityCoordinates
AS
SELECT
 CityID
,CityName
,GeoLocation.Lat AS Latitude
,Geolocation.Long AS Longitude
,RegionID
FROM Cities

CREATE VIEW vwRegionCoordinates
AS
SELECT
 RegionID
,Region
,GeoLocation.Lat AS Latitude
,GeoLocation.Long AS Longitude
FROM Regions

A je to. Šířka a Dlouhé jsou vlastnosti pro zeměpisnou šířku a délku. Nyní je možné je použít v naší sestavě Power BI.

Vytváření dat

Dále musíte sestavit data pro naše tři tabulky.

Mnohokrát děkujeme filipínskému ministerstvu zdravotnictví za zpřístupnění datového souboru veřejnosti. Soubor je ve formátu CSV. Konvence pojmenování souborů je DOH COVID Data Drop_ yyyymmdd – 04 Case Information.CSV.

Zde je návod, jak získat soubor, abyste se lépe seznámili s naším příkladem:

  1. Klikněte na odkaz na soubor dat.
  2. Vyberte složku měsíce. Srpen 2020 je v DOH COVID Data (08).
  3. Vyberte datum. 12. srpna 2020 je například v DOH COVID Data Drop_20200812.
  4. Stáhněte si DOH COVID Data Drop_ 20200812 – 04 Case Information.CSV. Opakováním kroků 2–4 získáte přehled pro další dny.

Navíc musíte tato data importovat na SQL Server. Zde je návod, jak to udělat:

  1. Otevřete soubor CSV v aplikaci Excel.
  2. Přidejte sloupec DateReported a naplňte všechny záznamy odpovídajícím datem. V tomto případě 8. 10. 2020.
  3. Uložte jej jako soubor aplikace Excel (.xlsx).
  4. Exportujte soubor Excel na SQL Server do tabulky s názvem covid_ph .

Nyní, když jsou data připravena v SQL Serveru, je dalším úkolem spustit v editoru dotazů SSMS následující:

INSERT INTO CityCases
(CityID, DateReported, TotalCases, TotalDeaths)
SELECT DISTINCT
 c.CityID
,cp.DateReported
,(SELECT COUNT(*) FROM covid_ph cp1 WHERE cp1.CityMunRes = cp.CityMunRes AND                 
                               cp1.DateReported = cp.DateReported) AS TotalCases
,(SELECT COUNT(*) FROM covid_ph cp1 WHERE cp1.CityMunRes = cp.CityMunRes AND 
                               cp1.DateReported = cp.DateReported AND 
                               cp1.RemovalType='DIED') AS TotalDeaths
FROM covid_ph cp
INNER JOIN Cities c ON cp.CityMunRes = c.CityName
ORDER BY cp.DateReported

Mezitím v datové sadě, kterou jsme použili, nejsou žádné souřadnice. Takže jsem ručně přidal zeměpisnou šířku a délku regionů a měst z latlongdata.com.

Zde jsou data pro regiony :

INSERT INTO Regions
(Region, GeoLocation)
VALUES
('BARMM',geography::STGeomFromText('POINT(121.987 6.42964)', 4326)),
('CAR',geography::STGeomFromText('POINT(121.466 17.4737)', 4326)),
('CARAGA',geography::STGeomFromText('POINT(125.492 9.78604)', 4326)),
('NCR',geography::STGeomFromText('POINT(120.984 14.5995)', 4326)),
('Region I: Ilocos Region',geography::STGeomFromText('POINT(120.381 17.5553)', 4326)),
('Region II: Cagayan Valley',geography::STGeomFromText('POINT(121.811 16.9754)', 4326)),
('Region III: Central Luzon',geography::STGeomFromText('POINT(120.712 15.4828)', 4326)),
('Region IV-A: CALABARZON',geography::STGeomFromText('POINT(121.079 14.1008)', 4326)),
('Region IV-B: MIMAROPA',geography::STGeomFromText('POINT(118.736 9.84321)', 4326)),
('Region IX: Zamboanga Peninsula',geography::STGeomFromText('POINT(123.259 8.15408)', 4326)),
('Region V: Bicol Region',geography::STGeomFromText('POINT(123.414 13.421)', 4326)),
('Region VI: Western Visayas',geography::STGeomFromText('POINT(122.537 11.005)', 4326)),
('Region VII: Central Visayas',geography::STGeomFromText('POINT(124.064 9.81687)', 4326)),
('Region VIII: Eastern Visayas',geography::STGeomFromText('POINT(125.039 12.2446)', 4326)),
('Region X: Northern Mindanao',geography::STGeomFromText('POINT(124.686 8.02016)', 4326)),
('Region XI: Davao Region',geography::STGeomFromText('POINT(126.089 7.30416)', 4326)),
('Region XII: SOCCSKSARGEN',geography::STGeomFromText('POINT(124.686 6.27069)', 4326))

Zde jsou data z částečného seznamu měst pro Města tabulka:

INSERT INTO Cities
(CityName, RegionID, GeoLocation)
VALUES
('CALOOCAN CITY',4,geography::STGeomFromText('POINT(120.967 14.6488)', 4326)),
('CITY OF LAS PIÑAS',4,geography::STGeomFromText('POINT(120.999 14.4325)', 4326)),
('CITY OF MAKATI',4,geography::STGeomFromText('POINT(121.033 14.5502)', 4326)),
('CITY OF MALABON',4,geography::STGeomFromText('POINT(120.957 14.6633)', 4326)),
('CITY OF MANDALUYONG',4,geography::STGeomFromText('POINT(121.039 14.5771)', 4326)),
('CITY OF MANILA',4,geography::STGeomFromText('POINT(120.982 14.6077)', 4326)),
('CITY OF MARIKINA',4,geography::STGeomFromText('POINT(121.097 14.6409)', 4326)),
('CITY OF MUNTINLUPA',4,geography::STGeomFromText('POINT(121.05 14.4209)', 4326)),
('CITY OF NAVOTAS',4,geography::STGeomFromText('POINT(120.933 14.6775)', 4326)),
('CITY OF PARAÑAQUE',4,geography::STGeomFromText('POINT(121.017 14.4664)', 4326)),
('CITY OF PASIG',4,geography::STGeomFromText('POINT(121.061 14.5876)', 4326)),
('CITY OF SAN JUAN',4,geography::STGeomFromText('POINT(121.037 14.6001)', 4326)),
('CITY OF VALENZUELA',4,geography::STGeomFromText('POINT(120.967 14.6823)', 4326)),
('PASAY CITY',4,geography::STGeomFromText('POINT(121 14.5505)', 4326)),
('PATEROS',4,geography::STGeomFromText('POINT(121.071 14.5487)', 4326)),
('QUEZON CITY',4,geography::STGeomFromText('POINT(121.033 14.633)', 4326)),
('TAGUIG CITY',4,geography::STGeomFromText('POINT(121.062 14.5216)', 4326)),
('ALFONSO',8,geography::STGeomFromText('POINT(120.861 14.1214)', 4326)),
('AMADEO',8,geography::STGeomFromText('POINT(120.922 14.1693)', 4326)),
('BACOOR CITY',8,geography::STGeomFromText('POINT(120.974 14.413)', 4326)),
('CARMONA',8,geography::STGeomFromText('POINT(121.041 14.3108)', 4326)),
('CAVITE CITY',8,geography::STGeomFromText('POINT(120.897 14.4791)', 4326)),
('CITY OF DASMARIÑAS',8,geography::STGeomFromText('POINT(120.959 14.299)', 4326)),
('CITY OF GENERAL TRIAS',8,geography::STGeomFromText('POINT(120.907 14.3214)', 4326)),
('GEN. MARIANO ALVAREZ',8,geography::STGeomFromText('POINT(121.013 14.3051)', 4326)),
('GENERAL EMILIO AGUINALDO',8,geography::STGeomFromText('POINT(120.792 14.1931)', 4326)),
('IMUS CITY',8,geography::STGeomFromText('POINT(120.941 14.4064)', 4326)),
('INDANG',8,geography::STGeomFromText('POINT(120.873 14.192)', 4326)),
('KAWIT',8,geography::STGeomFromText('POINT(120.904 14.441)', 4326)),
('MAGALLANES',8,geography::STGeomFromText('POINT(120.746 14.1583)', 4326)),
('MARAGONDON',8,geography::STGeomFromText('POINT(120.735 14.253)', 4326)),
('MENDEZ (MENDEZ-NUÑEZ)',8,geography::STGeomFromText('POINT(120.902 14.1312)', 4326)),
('NAIC',8,geography::STGeomFromText('POINT(120.792 14.2965)', 4326)),
('NOVELETA',8,geography::STGeomFromText('POINT(120.88 14.4279)', 4326)),
('ROSARIO',8,geography::STGeomFromText('POINT(120.857 14.414)', 4326)),
('SILANG',8,geography::STGeomFromText('POINT(120.969 14.2142)', 4326)),
('TAGAYTAY CITY',8,geography::STGeomFromText('POINT(120.962 14.1153)', 4326)),
('TANZA',8,geography::STGeomFromText('POINT(120.85 14.3429)', 4326)),
('TERNATE',8,geography::STGeomFromText('POINT(120.678 14.2714)', 4326)),
('TRECE MARTIRES CITY (CAPITAL)',8,geography::STGeomFromText('POINT(120.868 14.2822)', 4326))

Nyní, když jsou všechna data nastavena, jsme připraveni připravit zprávu.

PŘÍPRAVA ZPRÁVY

Než začneme, potřebujeme dvě stránky zpráv. Jedna stránka je pro data za region a druhá stránka je pro město.

Hlášení COVID-19 podle regionu

Zde jsou jednoduché kroky k vytvoření přehledu podle regionu:

  1. Připojte se k serveru SQL Server z Power BI. Uveďte server a databázi.
  2. Vyberte tabulky a zobrazení, která potřebujete pro přehled.

3. Definujte vztahy – viz obrázek 6 níže. Další podrobnosti o definování vztahů v Power BI najdete na této stránce.

4. Klikněte na vizualizaci mapy a vyplňte vlastnosti. Svažte vlastnosti zeměpisné šířky a délky z vwRegionCoordinates . Poté nápověda od vwRegionCoordinates Region sloupec. A nakonec Size od CityCases TotalCases sloupec. Viz obrázek 7 níže:

  1. Přidejte Slicer a připojte jej k DateReported z CityCases stůl.
  2. Vložte kartu a připojte ji k TotalCases z CityCases stůl
  3. Přidejte seskupený pruhový graf. Svažte vlastnost Axis s Region sloupec z vwRegionCoordinates . Poté propojte hodnoty s TotalCases sloupec z CityCases . Viz obrázek 8 níže:

Po výše uvedených krocích uvidíte konečný vzhled. Mělo by to být podobné jako na obrázku 9 níže:

Hlášení COVID-19 za město

První stránka je připravena. Přidání další stránky pro přehled za město by nemělo být těžké.

Zde jsou kroky:

  1. Novou stránku přidejte kliknutím na + ve spodní části okna a přejmenujte ji podle města (Filipíny).
  2. Zahrňte průřez a připojte jej k oblasti z vwRegionCoordinates .
  3. Vložte další průřez a připojte jej k DateReported z CityCases .
  4. Přidejte kartu a připojte ji k TotalCases z CityCases .
  5. Vložte vizualizaci mapy. Vlastnosti zeměpisné šířky a délky definujete z vwCityCoordinates . Popisek pochází od vwCityCoordinates Název města a velikost je z CityCases TotalCases sloupec.
  6. Přidejte seskupený pruhový graf a spojte osu s CityName sloupec z vwCityCoordinates a hodnoty do TotalCases z CityCases .

Konečný vzhled zprávy podle města by měl být podobný jako na obrázku 10 níže:

A teď, co je hlavní na používání map pro analýzu ve srovnání s prohlížením sloupcových nebo spojnicových grafů?

Za prvé, není to jen pro estetiku a zapůsobení na publikum pomocí poutavých zpráv. A co je důležitější, dává jim to jasnější porozumění datům souvisejícím s místem.

V našem příkladu můžete vidět, kde je pandemický problém rozšířenější podle toho, jak velké jsou bubliny. Kromě toho můžeme na první pohled vidět a porovnat počet případů různých míst vůči sobě navzájem. To také pomůže vládním úředníkům činit lepší rozhodnutí.

Naše ukázka sestavy je příliš jednoduchá, ale ukazuje, jak vám geografické datové typy SQL Serveru mohou pomoci při geoprostorové analýze.

Závěr

Pochopili jste, co z toho plyne, když používáte typ geografických prostorových dat?

  • Prostorová nebo geoprostorová data představují data o bodech umístěných na povrchu Země.
  • Lze jej použít pro dotaz „nejbližší soused“ vyhledávající kina, restaurace, kluby v okolí atd.
  • Je to také užitečné pro analýzu geoprostorových dat, jako je sestava, kterou jsme vytvořili v Power BI.
  • Základními prvky při vytváření geografické instance jsou věci jako dobře známý text (WKT), prostorový referenční identifikátor (SRID) a metoda STGeomFromText .

V tomto příspěvku jsme se dotkli jen části toho, co pro vás prostorová data v SQL Server mohou udělat. Možná je nepoužijete všechny najednou, ale nejčastější případy použití jsou zde, abyste mohli začít. Proč neprozkoumat více z referencí od společnosti Microsoft níže?

  • Přehled prostorových dat
  • Typy prostorových dat
  • Indexování prostorových dat

Pokud se vám tento příspěvek líbí, sdílejte ho se svými oblíbenými platformami sociálních médií.


  1. Zálohujte PostgreSQL pomocí pg_dump a pg_dumpall

  2. Aktualizace databáze a aplikace Android SQLite

  3. Je lepší provádět mnoho příkazů SQL s jedním připojením, nebo se pokaždé znovu připojit?

  4. Jak povolit/zakázat omezení CHECK v SQLite