GeoJSON은 다양한 지리적 데이터 구조를 인코딩하기 위한 형식입니다. GeoJSON 객체는 기하학, 지형지물 또는 지형지물 모음을 나타낼 수 있습니다.
2015년 IETF(Internet Engineering Task Force)는 원래 사양 작성자와 협력하여 GeoJSON을 표준화하기 위해 GeoJSON WG를 구성했습니다. RFC 7946은 2016년 8월에 발표되었으며 2008 GeoJSON 사양을 대체하는 GeoJSON 형식의 새로운 표준 사양입니다.
GeoJSON은 Point , LineString , Polygon , MultiPoint , MultiLineString , MultiPolygon 및 GeometryCollection 기하학 유형을 지원합니다.
지형지물 에는 형상 개체와 추가 속성이 포함되어 있으며 FeatureCollection은 지형지물 목록을 나타냅니다.
예를 들어 집, 도로, 버스 정류장은 서로 다른 세 가지 기능을 나타냅니다. 그들 모두는 다른 유형의 기하학을 가질 수 있습니다. 집은 폴리곤 이 될 수 있고, 도로는 라인스트링이 될 수 있으며, 버스 정류장은 포인트 가 될 수 있습니다. 이들 모두는 이웃을 나타내며 이를 GeoJSON에서는 FeatureCollection 이라고 합니다.
EF(EntityFramework)는 Microsoft .net용 오픈 소스 ORM(객체 관계형 매핑) 프레임워크입니다. 이를 통해 데이터베이스 행을 클래스 인스턴스로 사용할 수 있습니다.
WKT(Well-Known Text)는 지도의 벡터 기하학 개체, 공간 개체의 공간 참조 시스템 및 공간 참조 시스템 간의 변환을 표현하기 위한 텍스트 마크업 언어입니다. 요약하면 기하학적 개체를 텍스트로 표현한 것입니다.
EntityFramework용 GeoJSON 은 EntityFramework 공간 데이터 또는 WKT 입력에서 GeoJSON 출력을 생성할 수 있는 .net 라이브러리입니다. 즉, 다양한 유형의 기하학 객체를 GeoJSON으로 직렬화합니다. EF 엔터티에만 국한되지 않고 WKT 입력도 직렬화할 수 있습니다.
비주얼 베이직
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
기음#
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 ) ;
}
}
비주얼 베이직
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
기음#
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 ) ;
}
Entity Framework용 GeoJSON을 설치하려면 패키지 관리자 콘솔에서 다음 명령을 실행하세요.
엔터티 프레임워크 6
Install-Package GeoJSON4EntityFramework
엔터티 프레임워크 5
Install-Package GeoJSON4EntityFramework5
최신 릴리스를 다운로드하고 프로젝트 참조에 수동으로 추가하세요.
http://geojson.io 및 http://geojsonlint.com을 사용하여 출력을 확인할 수 있습니다.
OpenStreetMap®에서 추출한 테스트 데이터입니다. OpenStreetMap®은 OpenStreetMap Foundation(OSMF)의 Open Data Commons Open Database License(ODbL)에 따라 라이선스가 부여된 개방형 데이터입니다.