Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

Cara Memahami Tipe Data Geografi SQL Server

Tipe data Geografi SQL Server tidak seperti tipe lainnya hanya karena Anda tidak sering menggunakannya. Ini tidak seperti varchar , int , mengambang , atau DateTime hadir di setiap tabel, setidaknya dalam satu jenis.

Apakah kita memerlukan tipe data Geografi SQL Server? Untuk memahami sesuatu yang baru, kita perlu menjawab tiga pertanyaan mendasar:

Masalah apa yang dipecahkannya ? Jawabannya terletak pada kasus penggunaan.
Hal-hal apa saja yang terlibat dalam mempelajarinya? Anda akan mempelajari beberapa definisi dan akronim dasar. Saya hanya mengumpulkan barang-barang penting, jadi itu tidak akan membuat Anda bosan.
Apakah ada contoh untuk menjelaskan lebih lanjut cara kerjanya dan apakah mudah diterapkan? Jenis kita hidup dengan kode. Kami makan dan tidur dengannya. Jadi, kita akan memiliki contoh kode di postingan ini.

Ini bukan posting untuk menjejali Anda dengan jargon teknologi dan sintaksis apa adanya. Anda siap melakukannya setelah Anda memecahkan dasar-dasar tipe data geografi SQL Server. Kedengarannya bagus?

Mari selami.

Kasus Penggunaan Data Spasial

Mari kita mulai dengan yang paling jelas dan teratas – istilah umum “data spasial”.

Data spasial atau geospasial adalah data tentang objek, kejadian, atau fenomena yang ada di permukaan bumi. Dengan kata lain, ini adalah informasi yang dimasukkan ke dalam peta. Pikirkan Google Maps atau Waze, misalnya.

Tapi ada lagi:

  • Temukan truk pengiriman perusahaan melalui situs web atau aplikasi seluler.
  • Temukan tempat menarik seperti restoran, bank, atau rumah sakit terdekat.
  • Analisis data gempa bumi, penyebaran COVID-19, banjir, atau lalu lintas jalan – analisis geospasial.

Dan seterusnya.

Beberapa platform database berurusan dengan data spasial, tetapi kami akan fokus hanya pada satu.

Apa itu Tipe Data Geografi SQL Server?

Microsoft menambahkan tipe data geografi dan geometri di SQL Server 2008. Geografi mewakili data dalam sistem koordinat bumi bulat. Ini juga diimplementasikan sebagai tipe data .Net CLR, yang memiliki properti seperti lintang atau bujur.

Posting ini berfokus pada tipe data geografi dan aplikasinya, khususnya di:

  • Tempat menarik, seperti lokasi restoran terdekat dan contoh kueri.
  • Analisis geospasial.

Karena ini adalah tipe data, kami membuat tabel. Kemudian, kami mendefinisikan kolom atau kolom sebagai geografi. Dan terakhir, kita membuat indeks spasial pada kolom tersebut.

Saat Anda membuat kueri tabel dengan kolom geografi, hasilnya akan berupa biner.

Mari kita coba menjalankan contoh dasar di bawah ini:

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

Gambar 1 di bawah ini menunjukkan kumpulan hasil:

Saat kumpulan hasil menyertakan data spasial, Hasil Spasial tab juga akan muncul. Gambar 2 mengilustrasikan Hasil Spasial dari query di atas:

Sekarang, apa yang baru saja terjadi?

Tampaknya melihat kumpulan hasil jauh dari mudah dan bermanfaat, apalagi titik-titik di sepanjang garis kisi. Saya menunjukkan kepada Anda apa yang diharapkan pada PILIH pertama pernyataan tentang tipe data geografi. Bagian selanjutnya akan membuka perspektif yang jauh lebih baik.

Membuat Instance Geografi SQL Server

Anda memerlukan instans untuk beroperasi pada data dengan tipe data geografi SQL Server. Ada empat cara untuk membuat instance geografi:

  1. dari contoh geografi lain
  2. menggunakan teks terkenal (WKT)
  3. menggunakan biner terkenal (WKB)
  4. dari input teks Geography Markup Language (GML)

Mari fokus menggunakan teks terkenal.

Menggunakan Teks Terkenal (WKT)

Representasi ini didasarkan pada Open Geospatial Consortium (OGC). Ini memungkinkan pertukaran data geografi dalam bentuk tekstual.

Ambil contoh kita sebelumnya, tetapi alih-alih output biner, kita akan mengubahnya menjadi string:

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

Perhatikan ToString () metode. Ini akan mengubah output menjadi nilai string. Anda dapat melihat output pada Gambar 3 di bawah ini:

Lebih baik? Yah, itu masih hanya angka. Tetapi bagaimana jika saya memberi tahu Anda bahwa angka-angka ini adalah garis lintang dan garis bujur dari kota-kota itu? Lebih masuk akal, kan?

Ini adalah teks terkenal (WKT), dan sangat penting ketika Anda memasukkan data ke dalam kolom. Lebih lanjut tentang itu nanti. Sekarang, kita perlu satu hal lagi untuk diperiksa.

Identifier Referensi Spasial (SRID)

Selain teks terkenal, setiap contoh geografi memiliki Pengidentifikasi Referensi Spasial (SRID). Hal ini diperlukan untuk mengukur contoh geografi (tempat atau titik) dalam pemetaan bumi bulat.

Satuan pengukuran yang paling luas adalah dalam meter atau meter persegi, dilambangkan dengan SRID 4326. Semua SRID lainnya dapat ditemukan di sys.spatial_reference_systems .

Kolom geografi Anda dapat memiliki SRID yang berbeda. Perhatikan bahwa saat Anda melakukan operasi pada dua instance geografi, seperti mengukur jaraknya. Kedua instance harus memiliki SRID yang sama, atau Anda akan kembali NULL .

STGeomFromText

Setelah mempelajari tentang WKT dan SRID, membuat instance geografi memerlukan metode yang disebut STGeomFromText . Ini memiliki sintaks berikut:

geografi::STGeomFromText( , SRID )

Contoh:

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

Mari kita periksa nilai parameternya:

'POINT(14.6077 120.98202)' – teks terkenal dari sebuah titik di peta dengan garis lintang 14.6077 dan garis bujur 120.98202. Ini sesuai dengan Manila, ibu kota Filipina.

4326 – pengenal referensi spasial

Mari langsung ke contoh dan gunakan permata baru yang kami temukan ini.

Contoh Praktis Tipe Data Geografi SQL Server

Kami akan memiliki dua aplikasi umum untuk membantu Anda menggunakan data geografi.

Menghitung Jarak (Tetangga Terdekat)

Aplikasi umum dalam data spasial geografi disebut kueri tetangga terdekat. Dalam kueri ini, Anda ingin mengetahui seberapa jauh atau dekat sesuatu dengan objek atau tempat lain.

Dalam posting saya tentang grafik SQL, saya menjelaskan bagaimana pelanggan dapat menemukan restoran terdekat dari lokasi saat ini. Mari kita lihat contoh itu lagi:

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

Rahasia untuk kueri tetangga terdekat ini adalah STDistance (). Dibutuhkan dua lokasi geografis:satu untuk pelanggan, dan satu lagi untuk restoran dalam jarak 1000 meter dari lokasi pelanggan.

Kerennya, konsep yang sama berlaku untuk ide lain yang melibatkan dua lokasi atau lebih.

Analisis Geospasial Menggunakan Power BI

Aplikasi lain dari data spasial adalah menggunakannya untuk analisis Geospasial. Di bagian ini, kami memiliki contoh penggunaan kasus COVID-19 per lokasi dan menyajikannya menggunakan Power BI.

(Sebagai tambahan, inilah informasi lebih lanjut tentang apa itu Power BI dan cara menginstalnya)

Menginstal Power BI Desktop gratis. Salah satu visualisasi default adalah visualisasi Peta menggunakan Bing Maps. Kami tidak memerlukan koordinat untuk lokasi yang diketahui seperti negara dan negara bagian AS. Lihat ini pada contoh di bawah ini:

Perhatikan kotak merah pada Gambar 4. Lintang dan bujur dibiarkan kosong, tetapi gelembung diplot pada peta dengan baik.

Namun, dalam contoh berikutnya, kami akan menggunakan wilayah dan kota di Filipina. Koordinat adalah suatu keharusan untuk memplot gelembung dengan benar.

APA YANG ANDA BUTUHKAN

Sebelum kita masuk ke bagian laporan, berikut adalah hal-hal dasar yang kita butuhkan:

  • Desktop Power BI
  • Visualisasi Peta
  • Tabel dan kueri
  • Contoh data

MENYIAPKAN DATA

Menyiapkan Tabel dan Tampilan

Pada awalnya, kita perlu menyiapkan wadah untuk data kita. Jadi, kita membutuhkan tabel berikut:

  1. Kota – daftar kota di Filipina yang dikategorikan berdasarkan wilayah.
  2. Wilayah – daftar wilayah di Filipina
  3. Kasus Kota – daftar yang berisi jumlah kasus untuk setiap kota.

Berikut adalah struktur tabelnya:

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

Karena tipe data geografi tidak diketahui oleh visualisasi Power BI Map, Anda perlu membuat tampilan. Tujuannya adalah untuk mengekspos garis lintang dan garis bujur dari kolom-kolom tersebut. Kami melakukan ini untuk kota dan wilayah – lihat di bawah:

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

Itu dia. Lintang dan Panjang adalah properti untuk garis lintang dan garis bujur. Sekarang dimungkinkan untuk menggunakannya dalam laporan Power BI kami.

Membuat Data

Selanjutnya, Anda perlu membuat data untuk tiga tabel kami.

Terima kasih banyak kepada Departemen Kesehatan Filipina yang telah menyediakan kumpulan data untuk publik. File dalam format CSV. Konvensi penamaan file adalah DOH COVID Data Drop_ yyyymmdd – 04 Case Information.CSV.

Berikut cara mendapatkan file untuk mendapatkan pengalaman yang lebih baik dengan contoh kami:

  1. Klik tautan ke kumpulan data.
  2. Pilih folder bulan. Agustus 2020 ada di Data DOH COVID (08).
  3. Pilih tanggal. 12 Agustus 2020, misalnya, ada di DOH COVID Data Drop_200812.
  4. Download DOH COVID Data Drop_ 20200812 – 04 Case Information.CSV. Ulangi langkah 2-4 untuk mendapatkan laporan untuk hari-hari lainnya.

Selain itu, Anda perlu mengimpor data itu ke SQL Server. Berikut cara melakukannya:

  1. Buka file CSV di Excel.
  2. Tambahkan kolom DateReported dan mengisi semua catatan dengan tanggal yang sesuai. Dalam hal ini, 08/10/2020.
  3. Simpan sebagai file Excel (.xlsx).
  4. Ekspor file Excel ke SQL Server ke tabel bernama covid_ph .

Sekarang data sudah siap di SQL Server, tugas selanjutnya adalah menjalankan yang berikut ini di editor kueri 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

Sementara itu, tidak ada koordinat dalam dataset yang kami gunakan. Jadi, saya telah menambahkan garis lintang dan bujur wilayah dan kota secara manual dari latlongdata.com.

Berikut data untuk Wilayah :

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

Berikut data dari sebagian daftar kota untuk Kota tabel:

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

Setelah data siap, kami siap menyiapkan laporan.

MENYIAPKAN LAPORAN

Sebelum kita mulai, kita membutuhkan dua halaman laporan. Satu halaman untuk data per wilayah, dan halaman lainnya untuk per kota.

Laporan COVID-19 Per Wilayah

Berikut adalah langkah-langkah sederhana untuk membuat laporan per wilayah:

  1. Hubungkan ke SQL Server dari Power BI. Tunjukkan server dan databasenya.
  2. Pilih tabel dan tampilan yang Anda butuhkan untuk laporan.

3. Tentukan hubungan – lihat Gambar 6 di bawah. Untuk detail selengkapnya dalam mendefinisikan hubungan di Power BI, kunjungi halaman ini.

4. Klik visualisasi Peta dan isi propertinya. Ikat properti garis lintang dan garis bujur dari vwRegionCoordinates . Kemudian, Tooltip dari vwRegionCoordinates Wilayah kolom. Dan akhirnya, Ukuran dari CityCases TotalKasus kolom. Lihat Gambar 7 di bawah ini:

  1. Tambahkan Pemotong dan ikat ke DateReported dari CityCases tabel.
  2. Masukkan Kartu dan ikat ke TotalCases dari CityCases meja
  3. Tambahkan Bagan Batang Tergugus. Ikat properti Axis ke Region kolom dari vwRegionCoordinates . Kemudian, ikat Nilai ke TotalCases kolom dari CityCases . Lihat Gambar 8 di bawah ini:

Setelah langkah-langkah di atas, Anda akan melihat tampilan akhir. Seharusnya mirip dengan Gambar 9 di bawah ini:

Laporan COVID-19 Per Kota

Halaman pertama sudah siap. Menambahkan halaman berikutnya untuk laporan per kota seharusnya tidak sulit.

Berikut langkah-langkahnya:

  1. Tambahkan halaman baru dengan mengklik + dari bagian bawah jendela dan beri nama Per Kota (Filipina).
  2. Sertakan pemotong dan ikat ke wilayah dari vwRegionCoordinates .
  3. Sisipkan pemotong lain dan ikat ke DateReported dari CityCases .
  4. Tambahkan Kartu dan ikat ke TotalCases dari CityCases .
  5. Menyisipkan visualisasi Peta. Anda menentukan properti garis lintang dan garis bujur dari vwCityCoordinates . Tooltip berasal dari vwCityCoordinates Nama Kota kolom, dan ukurannya dari CityCases TotalKasus kolom.
  6. Tambahkan Bagan Batang Berkelompok dan ikat Sumbu ke NamaKota kolom dari vwCityCoordinates dan Nilai untuk TotalCases dari CityCases .

Tampilan akhir laporan per kota harus seperti Gambar 10 di bawah ini:

Sekarang, apa bedanya menggunakan peta untuk analisis dibandingkan dengan melihat diagram batang atau garis?

Pertama-tama, ini bukan hanya untuk estetika dan membuat audiens Anda terkesan dengan laporan yang menarik. Lebih penting lagi, ini memberi mereka pemahaman yang lebih jelas tentang data relatif terhadap suatu lokasi.

Dalam contoh kami, Anda dapat melihat di mana masalah pandemi lebih menyebar berdasarkan seberapa besar gelembungnya. Selain itu, kita dapat melihat dan membandingkan secara sekilas jumlah kasus dari tempat yang berbeda relatif satu sama lain. Ini juga akan membantu pejabat pemerintah membuat keputusan yang lebih baik.

Sampel laporan kami terlalu sederhana, tetapi menunjukkan bagaimana tipe data geografi SQL Server dapat membantu Anda dalam analisis geospasial.

Kesimpulan

Sudahkah Anda memahami apa untungnya bagi Anda saat menggunakan tipe data spasial geografi?

  • Data spasial atau geospasial adalah singkatan dari data titik-titik yang terletak di permukaan bumi.
  • Ini dapat digunakan untuk kueri "tetangga terdekat" yang mencari bioskop, restoran, klub, dll di sekitar.
  • Ini juga berguna untuk analisis data geospasial, seperti laporan yang kami buat di Power BI.
  • Elemen dasar dalam membuat instance geografi adalah hal-hal seperti teks terkenal (WKT), pengenal referensi spasial (SRID), dan metode STGeomFromText .

Dalam posting ini, kami menyentuh hanya sebagian dari apa yang dapat dilakukan oleh data spasial di SQL Server untuk Anda. Anda mungkin tidak menggunakannya sekaligus, tetapi kasus penggunaan yang paling umum ada di sini untuk membantu Anda memulai. Mengapa tidak menjelajahi lebih banyak dari referensi dari Microsoft di bawah ini?

  • Ikhtisar Data Spasial
  • Jenis Data Spasial
  • Mengindeks Data Spasial

Jika Anda menyukai postingan ini, silakan bagikan ke platform media sosial favorit Anda.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bidang VARCHAR(MAX) saya membatasi dirinya pada 4000; apa yang memberi?

  2. Bagaimana Anda mengembalikan nama kolom dari sebuah tabel?

  3. Mengonversi Antara Tipe Data Tanggal &Waktu di SQL Server (Contoh T-SQL)

  4. Bagaimana Anda menentukan Tabel SQL apa yang memiliki kolom identitas secara terprogram?

  5. Kompres Partisi Tertentu dalam Tabel di SQL Server (T-SQL)