GIS

ArcGiS Server 9.3.X 쿼리필터(QueryFilter)시 maxrecords 500개 이상 가져오기 (Web ADF)

조심이 2009. 11. 9. 18:41
반응형
Gis Server ADF 로 개발시 조건에 맞게 피쳐정보를 가져와야 할 때가 있다

쿼리 필터 또는 스페셜 필터를 쓰던 기본 디폴트로 500개의 레코드만을 가져온다.
ESRI 에서 500개로 설정해 논 이유가 있겠지만 여하튼 더 많은 레코드를 가져와 처리해야 하는 경우가 
있을경우.
        ESRI.ArcGIS.ADF.Web.QueryFilter queryFilter = new ESRI.ArcGIS.ADF.Web.QueryFilter();
        queryFilter.WhereClause = "조건문";
        queryFilter.ReturnADFGeometries = true;
        queryFilter.MaxRecords = 래코드 갯수; 
<- 500 이상으로 설정해봐야 딱 500개만 가져옴
        DataTable datatable = iQueryFunctionality.Query(null, layerId[layerIndex], queryFilter);
        return datatable;

이럴때 쓸 수 있는 방법은
C:\Program Files\ArcGIS\server\user\cfg 경로로 찾아들어가 맵서비스.cfg(예:test.MapServer.cfg)
파일을 연다.

<MaxRecordCount>500</MaxRecordCount> 맥스레코드 설정이다.  500 이란 숫자를 바꾸면 된다.
esri 의 유저포럼에서는 18000 개 이상은 오류를 나타낸다고도 누군가 써놨다.

********************** 중요 **************************
설정 파일에서 레코드 수 변경 후 꼭 거쳐야 하는 과정이다. 서버를 내렸다 올리던지
서비스에서 SOC(서비스명:ArcGIS SOC Monitor) 또는 SOM(서비스명:ArcGIS Server Object Manager) 를
반드시 재시작한다.
****************************************************************
반응형