SQL 2008에 들어 가려고하는 수만 점으로 구성된 수백 가지 모양 ( polygon
들과 multipolygon
s)이 있습니다.
불행히도, 가져 오려고 시도한 모양은 "오른손"입니다 (각 요소의 둘레는 포함 된 점을 중심으로 시계 방향으로 그려집니다). SQL Server는 적어도 geography
유형에 대해 "왼손"모양 (내부 시계 반대 방향)을 가정 합니다. 이것은 SQL이 모양을 제외한 지구 전체를 선택하려고한다고 가정합니다 . 어떤 사람들은 이것을 "내부"모양으로 묘사합니다.
에서 MSDN 절망적 말을하지 않습니다,하는 링 방향 하나를 사용하는 것입니다 :
우리가 사용하는 경우
geography
공간 인스턴스를 저장하는 데이터 형식을, 우리는 링의 방향을 지정하고 정확하게 인스턴스의 위치를 설명해야합니다.
SQL 2008에서 잘못된 링 방향을 사용하면 다음 오류 (강조 표시)와 충돌합니다.
사용자 정의 루틴 또는 집계 "지리"를 실행하는 동안 .NET Framework 오류가 발생했습니다. Microsoft.SqlServer.Types.GLArgumentException : 24205 : 지정된 입력이 단일 반구를 초과하므로 유효한 지리 인스턴스를 나타내지 않습니다. 각 지리 인스턴스는 단일 반구 안에 맞아야합니다. 이 오류의 일반적인 원인은 다각형의 링 방향이 잘못 되기 때문입니다 .
geometry
대신 모양을 가져 오는 것이 geography
잘 작동하지만 가능하면 사용하고 싶습니다 geography
.
SQL 2012에서는 이 문제를 해결 하는 것이 매우 사소한 것처럼 보이지만 2008에 묶여 있습니다.
도형을 어떻게 변환해야합니까?