2013-08-07 11 views
0

백만 개가 넘는 객체가있는 WMS 레이어로 작업하고 있습니다. 이 레이어에서 기능 정보를 가져 오려면 2 분 후에 요청이 거부 (시간 초과)되어 작동하지 않습니다.OpenLayers getFeatureInfo 엄청난 양의 데이터가있는 WMS

그런 다음 현재 BBOX에서 개체 (WFS)를 가져 오기 위해 필터 옵션을 사용하여 요청을 보냈습니다. 결과는 이전과 동일합니다.

Geoserver, 데이터베이스 MS SQL 및 OpenLayers 웹 맵 JS 라이브러리를 사용하고 있습니다. 거대한 데이터가있는 레이어를 제공하는 데 문제가 있으므로 Geoserver에 문제가 있다고 생각합니다. 개체의 양이 적은 다른 레이어에서 정보를 얻으면 효과적입니다.

데이터를 가져 오는 다른 옵션이 있습니까?

답변

2

여기에는 여러 가지 문제가있을 수 있으며 단지 지리적 서버가 아닐 수도 있습니다. MS SQL의 테이블에 공간 인덱스가 있습니까? 그것은 당신이 MS SQL에서 테이블에 대한 쿼리를 할 여전히 느린 것입니다. geoserver에서 데이터를 요청하면 해당 쿼리가 데이터베이스에 전달됩니다. 데이터베이스가 응답하는 데 시간이 오래 걸리면 결국 시간이 초과됩니다.

테이블을 집어 넣고 인덱스 및 쿼리 힌트를 추가하여 서버에서 응답 속도를 높일 수 있습니다. 가능한 경우 위치를 기반으로 여러 테이블로 데이터를 분할 할 수 있습니다. MS SQL의 공간 구성 요소가 어려운 경우 postgis 또는 oracle을 사용해 볼 수 있습니다. (필자는 공간 작업을 위해 MS SQL을 사용한 적이 없습니다.)

geoserver보다 문제가 될 가능성이 있으므로 데이터베이스 성능을 살펴보십시오. 데이터베이스의 성능이 좋은 경우 지리 서버가 데이터베이스에 연결하는 방법과 지오 서버에서 계층이 구성되는 방법을 살펴볼 필요가 있습니다.

연결 확인 용 : 최신 버전의 Geoserver를 갖고 계십니까? Datastore 플러그인은 최신의 완벽하게 지원되거나 아직 지원되지 않습니다. 기본 키를 노출 시키거나 기본 키 메타 데이터 테이블을 추가하도록 저장소를 설정 했습니까? geoserver가 사용자 연결 수와 데이터의 최대 연결 한도에 도달 했습니까? (주 Geoserver의 버전에 따라 및/또는 이러한 옵션 중 일부는 사용하지 못할 수 있습니다 플러그인) 레이어 검사에 대한

: 는 기본 투사에서 제공되는 레이어입니다. 레이어 경계 상자가 올바르게 설정되어 있습니까?

이 기능 정보 요청 요청에서 나는 여전히 데이터베이스 설정에 문제가 있다고 생각합니다.

도움이 되었기를 바랍니다.