Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

Come dare un senso al tipo di dati geografici di SQL Server

Il tipo di dati Geografia di SQL Server è diverso da altri tipi semplicemente perché non lo usi spesso. Non è come varchar , int , fluttuante o DataOra presente in ogni tabella, almeno in una tipologia.

È necessario il tipo di dati Geografia di SQL Server? Per dare un senso a qualcosa di nuovo, dobbiamo rispondere a tre domande fondamentali:

Quali problemi risolve ? La risposta sta nei casi d'uso.
Quali sono le cose implicate nello studiarlo? Imparerai alcune definizioni e acronimi di base. Ho raccolto solo le cose importanti, quindi non ti annoierà.
Ci sono esempi per spiegare ulteriormente come funziona ed è facile da implementare? La nostra specie vive con il codice. Mangiamo e dormiamo con esso. Quindi, avremo codici di esempio in questo post.

Non è un post per riempirti di gergo tecnico e sintassi così com'è. Sei a posto dopo aver decifrato le basi del tipo di dati geografico di SQL Server. Suona bene?

Entriamo.

Usa casi di dati spaziali

Cominciamo con il più ovvio e il più importante:il termine generico "dati spaziali".

I dati spaziali o geospaziali sono i dati su oggetti, eventi o fenomeni situati sulla superficie terrestre. In altre parole, sono informazioni stipate su una mappa. Pensa a Google Maps o Waze, ad esempio.

Ma c'è di più:

  • Individuare un camion per le consegne dell'azienda tramite un sito Web o un'app mobile.
  • Trova punti di interesse come ristoranti, banche o ospedali nelle vicinanze.
  • Analizza i dati su terremoto, diffusione del COVID-19, inondazioni o traffico stradale:analisi geospaziale.

E così via.

Diverse piattaforme di database si occupano di dati spaziali, ma ci concentreremo solo su una.

Che cos'è il tipo di dati geografico di SQL Server?

Microsoft ha aggiunto i tipi di dati geografici e geometrici in SQL Server 2008. La geografia rappresenta i dati in un sistema di coordinate terrestre. È anche implementato come tipo di dati CLR .Net, che ha proprietà come latitudine o longitudine.

Questo post si concentra sul tipo di dati geografici e sulle sue applicazioni, in particolare in:

  • Punti di interesse, come l'individuazione di ristoranti nelle vicinanze e una query di esempio.
  • Analisi geospaziale.

Poiché questo è un tipo di dati, creiamo una tabella. Quindi, definiamo una o più colonne come geografia. E infine, creiamo un indice spaziale su quelle colonne.

Quando esegui una query su una tabella con una colonna geografica, l'output sarà in formato binario.

Proviamo a eseguire un esempio elementare di seguito:

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

La figura 1 di seguito mostra il set di risultati:

Quando un set di risultati include dati spaziali, viene visualizzato un Risultati spaziali apparirà anche la scheda. La figura 2 illustra i risultati spaziali dalla query precedente:

Ora, cosa è appena successo?

Sembra che visualizzare il set di risultati sia tutt'altro che facile e utile, per non parlare dei punti lungo le linee della griglia. Ti ho mostrato cosa aspettarti al primo SELECT dichiarazione sui tipi di dati geografici. La prossima sezione spiegherà una prospettiva molto migliore.

Creazione di istanze geografiche di SQL Server

È necessaria un'istanza per operare sui dati con il tipo di dati geografico di SQL Server. Esistono quattro modi per creare un'istanza geografica:

  1. da un'altra istanza geografica
  2. utilizzare un testo noto (WKT)
  3. utilizzando un noto binario (WKB)
  4. da un input di testo GML (Geography Markup Language)

Concentriamoci sull'utilizzo di un testo noto.

Utilizzo di testi conosciuti (WKT)

Questa rappresentanza si basa sull'Open Geospatial Consortium (OGC). Consente lo scambio di dati geografici in forma testuale.

Prendi il nostro esempio precedente, ma invece di un output binario, lo convertiremo in una stringa:

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

Nota il ToString () metodo. Converte l'output nel valore della stringa. Puoi vedere l'output nella Figura 3 di seguito:

Meglio? Bene, sono ancora solo numeri. Ma cosa succede se ti dicessi che questi numeri sono latitudine e longitudine di quelle città? Ha più senso, vero?

È un testo noto (WKT) ed è essenziale quando si inseriscono i dati nella colonna. Ne parleremo più avanti. Ora, abbiamo bisogno di un'altra cosa da esaminare.

Identificatore di riferimento spaziale (SRID)

A parte un testo noto, ogni istanza di geografia ha uno Spatial Reference Identifier (SRID). È necessario per misurare le istanze geografiche (luoghi o punti) in una mappatura della terra.

L'unità di misura più diffusa è in metri o metri quadrati, indicata dall'SRID 4326. Tutti gli altri SRID possono essere trovati in sys.spatial_reference_systems .

Le tue colonne geografiche possono avere SRID diversi. Nota che quando esegui operazioni su due istanze geografiche, come misurare le loro distanze. Entrambe le istanze dovrebbero avere lo stesso SRID, altrimenti ti restituirà NULL .

STGeomFromText

Dopo aver appreso di WKT e SRID, la creazione di un'istanza geografica richiede un metodo chiamato STGeomFromText . Ha la seguente sintassi:

geografia::STGeomFromText( , SRID )

Esempio:

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

Diamo un'occhiata ai valori dei parametri:

"PUNTO(14.6077 120.98202)" – un noto testo di un punto della mappa con la latitudine di 14.6077 e la longitudine di 120.98202. Questo corrisponde a Manila, la capitale delle Filippine.

4326 – l'identificatore di riferimento spaziale

Passiamo subito agli esempi e utilizziamo questa nuova gemma che abbiamo trovato.

Esempi pratici di tipi di dati geografici di SQL Server

Avremo due applicazioni comuni per consentirti di utilizzare i dati geografici.

Calcolo delle distanze (vicino più vicino)

Un'applicazione comune nei dati spaziali della geografia è chiamata query neighbor più vicino. In questa query, vuoi sapere quanto è lontano o vicino qualcosa a un altro oggetto o luogo.

Nel mio post sul grafico SQL, ho descritto come un cliente potrebbe trovare i ristoranti vicini dalla posizione attuale. Facciamo di nuovo riferimento a quell'esempio:

-- 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

Il segreto di questa query sul vicino più vicino è STDistance (). Ha bisogno di due posizioni geografiche:quella per il cliente e l'altra per i ristoranti entro 1000 metri dalla posizione del cliente.

La cosa interessante è che lo stesso concetto si applica ad altre idee che coinvolgono due o più luoghi.

Analisi geospaziale con Power BI

Un'altra applicazione dei dati spaziali li sta utilizzando per l'analisi geospaziale. In questa sezione, abbiamo un esempio che utilizza casi di COVID-19 per località e lo presenta tramite Power BI.

(In una nota a margine, ecco ulteriori informazioni su cos'è Power BI e su come installarlo)

L'installazione di Power BI Desktop è gratuita. Una delle visualizzazioni predefinite è la visualizzazione Mappa che utilizza Bing Maps. Non abbiamo bisogno di coordinate per località conosciute come paesi e stati degli Stati Uniti. Vedi questo nell'esempio seguente:

Nota il riquadro rosso nella Figura 4. Latitudine e longitudine sono lasciate vuote, ma le bolle vengono tracciate bene sulla mappa.

Tuttavia, nel prossimo esempio, utilizzeremo le regioni e le città delle Filippine. Le coordinate sono un must per tracciare correttamente le bolle.

Cosa ti serve

Prima di entrare nella parte importante del rapporto, ecco le cose di base di cui abbiamo bisogno:

  • Power BI Desktop
  • Visualizzazione mappa
  • Tabelle e query
  • Dati di esempio

PREPARAZIONE DEI DATI

Preparazione di tabelle e viste

All'inizio, dobbiamo impostare i contenitori per i nostri dati. Quindi, abbiamo bisogno delle seguenti tabelle:

  1. Città – un elenco di città nelle Filippine suddivise per regione.
  2. Regioni – un elenco di aree nelle Filippine
  3. CityCase – un elenco contenente il numero di casi per ciascuna città.

Di seguito la struttura della tabella:

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

Poiché il tipo di dati geografico è sconosciuto alla visualizzazione della mappa di Power BI, è necessario creare viste. Lo scopo è quello di esporre la latitudine e la longitudine da quelle colonne. Lo facciamo per le città e le regioni – vedi sotto:

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

Questo è tutto. Lat e Lungo sono proprietà per la latitudine e la longitudine. Ora è possibile usarli nel nostro report Power BI.

Costruzione dei dati

Successivamente, devi creare i dati per le nostre tre tabelle.

Mille grazie al Dipartimento della Salute delle Filippine per aver reso disponibile il set di dati al pubblico. Il file è in formato CSV. La convenzione di denominazione dei file è DOH COVID Data Drop_ yyyymmdd – 04 Case Information.CSV.

Ecco come ottenere il file per avere una migliore pratica con il nostro esempio:

  1. Fai clic sul collegamento al set di dati.
  2. Seleziona una cartella del mese. Agosto 2020 è in DOH COVID Data (08).
  3. Seleziona una data. Il 12 agosto 2020, ad esempio, è in DOH COVID Data Drop_20200812.
  4. Scarica DOH COVID Data Drop_ 20200812 – 04 Case Information.CSV. Ripeti i passaggi 2-4 per ottenere il rapporto per gli altri giorni.

Inoltre, è necessario importare tali dati in SQL Server. Ecco come farlo:

  1. Apri il file CSV in Excel.
  2. Aggiungi una colonna DateReported e popolare tutti i record con la data corrispondente. In questo caso, 08/10/2020.
  3. Salva come file Excel (.xlsx).
  4. Esportare il file Excel in SQL Server in una tabella denominata covid_ph .

Ora che i dati sono pronti in SQL Server, l'attività successiva consiste nell'eseguire quanto segue nell'editor di query SSMS:

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

Nel frattempo, non ci sono coordinate nel set di dati che abbiamo utilizzato. Quindi, ho aggiunto manualmente la latitudine e la longitudine di regioni e città da latlongdata.com.

Ecco i dati per le Regioni :

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))

Ecco i dati di un elenco parziale di città per Città tabella:

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))

Ora che i dati sono tutti impostati, siamo pronti per preparare il report.

PREPARAZIONE DEL RAPPORTO

Prima di iniziare, abbiamo bisogno di due pagine di rapporti. Una pagina è per i dati per regione e l'altra pagina per città.

Rapporto COVID-19 per regione

Di seguito sono riportati semplici passaggi per la creazione del rapporto per regione:

  1. Connetti a SQL Server da Power BI. Indicare il server e il database.
  2. Scegli le tabelle e le viste necessarie per il rapporto.

3. Definire le relazioni – vedere la Figura 6 di seguito. Per ulteriori dettagli sulla definizione delle relazioni in Power BI, visita questa pagina.

4. Fare clic sulla visualizzazione Mappa e compilare le proprietà. Associa le proprietà di latitudine e longitudine da vwRegionCoordinates . Quindi, il suggerimento di vwRegionCoordinates Regione colonna. E infine, la dimensione di CityCases ' Casi totali colonna. Vedere la Figura 7 di seguito:

  1. Aggiungi uno Slicer e collegalo a DateReported da CityCases tabella.
  2. Inserisci una scheda e associala a TotalCases da CityCases tabella
  3. Aggiungi un grafico a barre raggruppato. Associa la proprietà Axis a Regione colonna da vwRegionCoordinates . Quindi, associa i valori a TotalCases colonna da CityCases . Vedere la Figura 8 di seguito:

Dopo i passaggi precedenti, vedrai l'aspetto finale. Dovrebbe essere simile alla Figura 9 di seguito:

Rapporto COVID-19 per città

La prima pagina è pronta. Aggiungere la pagina successiva per il rapporto per città non dovrebbe essere difficile.

Ecco i passaggi:

  1. Aggiungi una nuova pagina facendo clic sul + nella parte inferiore della finestra e rinominala Per City (Filippine).
  2. Includi uno slicer e collegalo alla regione da vwRegionCoordinates .
  3. Inserisci un altro slicer e associalo a DateReported da CityCases .
  4. Aggiungi una scheda e associala a TotalCases da CityCases .
  5. Inserisci una visualizzazione Mappa. Puoi definire le proprietà di latitudine e longitudine da vwCityCoordinates . Il suggerimento è di vwCityCoordinates CityName colonna e la dimensione è da CityCases ' Casi totali colonna.
  6. Aggiungi un grafico a barre raggruppato e associa l'asse a CityName colonna da vwCityCoordinates e valori a TotalCases da CityCases .

L'aspetto finale del rapporto per città dovrebbe essere simile alla Figura 10 di seguito:

Ora, qual è il grosso problema nell'usare le mappe per l'analisi rispetto alla visualizzazione di grafici a barre o lineari?

Prima di tutto, non è solo per l'estetica e per impressionare il tuo pubblico con rapporti accattivanti. Ancora più importante, offre loro una comprensione più chiara dei dati relativi a una posizione.

Nel nostro esempio, puoi vedere dove il problema della pandemia è più diffuso in base a quanto sono grandi le bolle. Inoltre, possiamo vedere e confrontare a colpo d'occhio il numero di casi di luoghi diversi l'uno rispetto all'altro. Ciò aiuterà anche i funzionari governativi a prendere decisioni migliori.

Il nostro esempio di report è troppo semplice, ma mostra come i tipi di dati geografici di SQL Server possono aiutarti nell'analisi geospaziale.

Conclusione

Hai capito cosa c'è dentro per te quando usi il tipo di dati geografici spaziali?

  • Dati spaziali o geospaziali indica i dati su punti situati sulla superficie della Terra.
  • Può essere utilizzato per la query "vicino più vicino" alla ricerca di cinema, ristoranti, club, ecc.
  • È utile anche per l'analisi dei dati geospaziali, come il report che abbiamo creato in Power BI.
  • Gli elementi fondamentali nella creazione di un'istanza geografica sono elementi come il testo noto (WKT), l'identificatore di riferimento spaziale (SRID) e il metodo STGeomFromText .

In questo post, abbiamo toccato solo una parte di ciò che i dati spaziali in SQL Server possono fare per te. Potresti non usarli tutti in una volta, ma i casi d'uso più comuni sono qui per iniziare. Perché non esplorare di più dai riferimenti di Microsoft di seguito?

  • Panoramica dei dati spaziali
  • Tipi di dati spaziali
  • Indicizzazione dei dati spaziali

Se ti piace questo post, condividilo con le tue piattaforme di social media preferite.