누구나 사용 해보았으며 잘 구현되었는지 말할 수 있습니까?MS SQL Server 2008 공간 인덱싱 - 작동합니까?
- (OpenGIS 기능의 MySQL의 결핍 구현 점점 좌절 점점 지난 몇 주 동안 지금 MSSQL로 전환 고려)
누구나 사용 해보았으며 잘 구현되었는지 말할 수 있습니까?MS SQL Server 2008 공간 인덱싱 - 작동합니까?
- (OpenGIS 기능의 MySQL의 결핍 구현 점점 좌절 점점 지난 몇 주 동안 지금 MSSQL로 전환 고려)
예, 작동합니다.
저는 ISpatialFilter를 사용하는 ESRI-ArcObject 기반 쿼리에서 동일한 클래스를 하나의 SqlCommand로 전환하여 동일한 데이터를 반환했습니다. 근접 검색 (1000 피트에서 x 지점 이내의 모든 레코드 반환)입니다.
처음에는 ESRI 쿼리가 여전히 빠르지 만 매우 저조한 where 절이 원인이었습니다 (여전히 SQLSVR2008에서 공간 함수를 사용하는 방법을 배우고 있습니다).
몇 가지 조정을 한 후에는 SQL 방법이 ESRI 방법보다 빠르지 만 많이 사용하지는 않았습니다. 그 다음 나는 10000 피트까지 나의 검색 거리를 꽂았다, 그리고, 나는 그 차이를 보았다. SQL Server 2008 방법은 훨씬 빠릅니다.
(ESRI) 인근 고객 경과 시간 (초) 검색 : 1.503 (SQL2008) 쿼리 인근 고객 경과 시간 (초) : 0.925
속도 차이가 인덱스와 함께 할 필요는 없지만, 그러나 ESRI-ArcObjects를 사용합니다. 내 ESRI 방법에서는 IProximityOperator와 IPoint에서 거리, x 및 y를 가져옵니다. SQL2008 메서드에서는 데이터베이스가 모든 작업을 처리하도록합니다. SHAPE.STX는 X, SHAPE.STY는 Y, SHAPE.STDistance (그러나 ArcObject 개발자는 그 오버 헤드에 대해 모두 알고 있습니다).
나는 지금까지 감동했습니다.
이 작동 네, 여기에 몇 가지 예제 코드 SQL Server 2008 Proximity Search With The Geography Data Type
예. 그들은 올바르게 구현됩니다. 옵션으로 PostgreSQL's PostGIS도 있습니다 (Oracle Spatial). Informix와 DB2에는 공간 유형 구현이 있습니다.
다각형으로 작업하고 다각형/점 교차 등의 기능이 정확하게 구현되었는지 또는 MySQL (MBR처럼)을 사용하여 정확하게 구현되었는지 확인 했습니까? –