2015-01-07 2 views
1

기하학 및 지형 열에 관한 도움이 필요합니다. 잘 작동하는 지리에 대해서는 그다지 중요하지 않습니다. 무엇을 달성하려고하는지 지리 대신에 기하학 칼럼에 세계지도를 표현하는 것입니다. 글쎄 그 자체를 표현하는 것이 아니라 평면지도에서 두 좌표 사이의 거리를 측정 할 수 있어야합니다. (지리학은 지구 자체가 곡선처럼 곡선을 만듭니다. 이 일을 할 수있는 방법이 있습니까?기하 구조 열의 SQL Server 평면 세계지도

나는 조금 읽고 있었다하지만 난 할 경우 아무것도는 어떤 차이가 없습니다 :

DECLARE @g geometry; 

SET @g = geometry::STGeomFromText('LINESTRING(-122.360 47.656, -122.343 47.656)', 0); 

SELECT @g.STLength(); 

나는 지역에있는 동안 거리 0.016를 얻을 수는 1277 ... 4326에 SRID를 변경하면 변경하지 않습니다 .. 어떤 도움이라도?

답변

0

geometry 데이터 형식은 데카르트 기하학을위한 것입니다. 정의한 선은 점 (x1, y1) = (-122.360, 47.656)에서 (x2, y2) = (-122.343, 47.656)까지입니다. 이들 사이의 거리는 sqrt ((x2-x1)^2 + (y2-y1)^2)입니다.

geography 데이터 유형을 사용하면 점은 적도 주변의 각도와 적도에서의 경사도로 제공됩니다. 그렇게 정의 된 두 점 사이의 거리 계산은 Haversine 공식에 의해 주어진다.

두 가지가 크게 다릅니다. 그러나 진짜 질문은 : 당신이 정말로 성취하려는 것은 무엇입니까? 점이 지구상의 점을 나타내는 경우 왜 기하학 데이터 유형을 사용하고 있습니까?

+0

그렇습니다. 나는 다르다는 것을 알고 있습니다. 일반적으로 저는 지리 유형을 사용하고 있습니다. 지오메트리 데이터가 평평하다는 것을 입증하기 위해 노력하고 있습니다. 따라서 서로 같은 거리를 갖는 두 점의 결과는 서로 다를 것입니다. cos 기하학은 지구의 곡선을 계산하지 않습니다. 그렇다면 다시 미터와 같은 가치를 지니고 싶습니다. 그러나 같은 거리에 해당 지점을 유지하기 위해 지리를 지오메트리에 매핑하는 쉬운 방법이 있는지 모르겠습니다. – user3494351