GeoJSON adalah format untuk mengkodekan berbagai struktur data geografis. Objek GeoJSON dapat mewakili geometri, fitur, atau kumpulan fitur.
Pada tahun 2015, Internet Engineering Task Force (IETF), bersama dengan pembuat spesifikasi asli, membentuk GeoJSON WG untuk menstandardisasi GeoJSON. RFC 7946 diterbitkan pada Agustus 2016 dan merupakan spesifikasi standar baru format GeoJSON, menggantikan spesifikasi GeoJSON 2008.
GeoJSON mendukung tipe geometri Point , LineString , Polygon , MultiPoint , MultiLineString , MultiPolygon , dan GeometryCollection .
Fitur berisi objek geometri dan properti tambahan, dan FeatureCollection mewakili daftar fitur.
Misalnya, Rumah, jalan, dan halte bus mewakili tiga Fitur berbeda. Semuanya mungkin memiliki tipe geometri yang berbeda. Rumah bisa jadi poligon , jalan bisa jadi garis , dan halte bisa jadi titik . Semuanya mewakili suatu lingkungan dan ini disebut FeatureCollection di GeoJSON.
EntityFramework (EF) adalah kerangka kerja pemetaan relasional objek (ORM) sumber terbuka untuk Microsoft .net. Hal ini memungkinkan kita untuk menggunakan baris database sebagai instance kelas.
Teks Terkenal (WKT) adalah bahasa markup teks untuk merepresentasikan objek geometri vektor pada peta, sistem referensi spasial objek spasial, dan transformasi antar sistem referensi spasial. Singkatnya, Ini adalah representasi teks dari objek geometris.
GeoJSON untuk EntityFramework adalah pustaka .net yang memungkinkan Anda membuat keluaran GeoJSON dari Data Spasial EntityFramework atau masukan WKT. Dengan kata lain, Ini membuat serial berbagai jenis objek geometri ke GeoJSON. Ini tidak terbatas hanya pada entitas EF tetapi juga dapat membuat serial input WKT.
Visual Dasar
Imports alatas.GeoJSON4EntityFramework
Function GetGeoJSONFromDB() As String
Using db As New SpatialExampleEntities
Dim data = From row In db.SampleTables Select row.SpatialData
Dim features as New FeatureCollection(data.ToArray)
Return features.Serialize(prettyPrint:= True )
End Using
End Function
C#
using alatas . GeoJSON4EntityFramework ;
public string GetGeoJSONFromDB ( )
{
using ( Entities db = new Entities ( ) )
{
DbGeometry [ ] data = ( from row in db . SampleTables select row . SpatialData ) . ToArray ( ) ;
FeatureCollection features = new FeatureCollection ( data ) ;
return features . Serialize ( prettyPrint : true ) ;
}
}
Visual Dasar
Imports alatas.GeoJSON4EntityFramework
Function GetGeoJSONFromWKT() As String
Dim WKTs = { "POLYGON ((30 10, 40 40, 20 40, 10 20, 30 10))" ,
"MULTIPOINT ((10 40), (40 30), (20 20), (30 10))" ,
"LINESTRING (1 1, 2 2)" }
Dim features as New FeatureCollection(WKTs)
Return features.Serialize(prettyPrint:= True )
End Function
C#
using alatas . GeoJSON4EntityFramework ;
public string GetGeoJSONFromWKT ( )
{
string [ ] WKTs = {
"POLYGON ((30 10, 40 40, 20 40, 10 20, 30 10))" ,
"MULTIPOINT ((10 40), (40 30), (20 20), (30 10))" ,
"LINESTRING (1 1, 2 2)"
} ;
FeatureCollection features = new FeatureCollection ( WKTs ) ;
return features . Serialize ( prettyPrint : true ) ;
}
Untuk menginstal GeoJSON untuk Entity Framework, jalankan perintah berikut di Package Manager Console
Kerangka Entitas 6
Install-Package GeoJSON4EntityFramework
Kerangka Entitas 5
Install-Package GeoJSON4EntityFramework5
Unduh rilis terbaru dan tambahkan ke referensi proyek Anda secara manual
Anda dapat memvalidasi keluaran dengan http://geojson.io dan http://geojsonlint.com
Data uji diambil dari OpenStreetMap®. OpenStreetMap® adalah data terbuka, dilisensikan di bawah Open Data Commons Open Database License (ODbL) oleh OpenStreetMap Foundation (OSMF)