You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
import FeatureLayer from '@arcgis/core/layers/FeatureLayer';import Query from '@arcgis/core/rest/support/Query';import Graphic from '@arcgis/core/Graphic';
const queryAllFeatures = async ( layer: FeatureLayer, baseQuery: Partial<Query>, pageSize = 2000): Promise<Graphic[]> => { const allFeatures: Graphic[] = []; let resultOffset = 0; let hasMore = true;
while (hasMore) { const query = layer.createQuery(); Object.assign(query, baseQuery); (query as any).resultOffset = resultOffset; // ArcGIS supports this, but it's not in TS type
(query as any).resultRecordCount = pageSize;
const result = await layer.queryFeatures(query); allFeatures.push(...result.features);
hasMore = result.exceededTransferLimit === true; resultOffset += pageSize; }
return allFeatures;};export default queryAllFeatures;
|