From 2631251f1aafa816383f892239ee767b689549fc Mon Sep 17 00:00:00 2001 From: Xun Li Date: Wed, 1 Nov 2023 22:09:03 -0700 Subject: [PATCH] clean Signed-off-by: Xun Li --- src/constants/src/default-settings.ts | 2 -- src/layers/src/geojson-layer/geojson-layer.ts | 1 - src/layers/src/geojson-layer/geojson-utils.ts | 1 + src/processors/src/data-processor.ts | 10 +++++----- src/processors/src/file-handler.ts | 1 + 5 files changed, 7 insertions(+), 8 deletions(-) diff --git a/src/constants/src/default-settings.ts b/src/constants/src/default-settings.ts index 5f3996baa2..d052c4daf7 100644 --- a/src/constants/src/default-settings.ts +++ b/src/constants/src/default-settings.ts @@ -497,8 +497,6 @@ const GREEN2 = '74, 165, 150'; const RED = '237, 88, 106'; const ORANGE = '231, 110, 58'; -export const ARROW_GEO_METADATA_KEY = 'geo'; - export const FIELD_TYPE_DISPLAY = { [ALL_FIELD_TYPES.boolean]: { label: 'bool', diff --git a/src/layers/src/geojson-layer/geojson-layer.ts b/src/layers/src/geojson-layer/geojson-layer.ts index 8bbcd13900..9d9a5a9061 100644 --- a/src/layers/src/geojson-layer/geojson-layer.ts +++ b/src/layers/src/geojson-layer/geojson-layer.ts @@ -360,7 +360,6 @@ export default class GeoJsonLayer extends Layer { updateLayerMeta(dataContainer) { const getFeature = this.getPositionAccessor(dataContainer); - this.dataToFeature = getGeojsonDataMaps(dataContainer, getFeature); // get bounds from features const bounds = getGeojsonBounds(this.dataToFeature); diff --git a/src/layers/src/geojson-layer/geojson-utils.ts b/src/layers/src/geojson-layer/geojson-utils.ts index 0ee33ae2f1..7a7492052f 100644 --- a/src/layers/src/geojson-layer/geojson-utils.ts +++ b/src/layers/src/geojson-layer/geojson-utils.ts @@ -44,6 +44,7 @@ export enum FeatureTypes { type FeatureTypeMap = { [key in FeatureTypes]: boolean; }; +/* eslint-enable */ export function parseGeoJsonRawFeature(rawFeature: unknown): Feature | null { if (typeof rawFeature === 'object') { diff --git a/src/processors/src/data-processor.ts b/src/processors/src/data-processor.ts index c1cc9bd34f..311df6946f 100644 --- a/src/processors/src/data-processor.ts +++ b/src/processors/src/data-processor.ts @@ -18,7 +18,7 @@ // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN // THE SOFTWARE. -import {Table as ApacheArrowTable, Field as ArrowField, RecordBatch} from 'apache-arrow'; +import * as arrow from 'apache-arrow'; import {csvParseRows} from 'd3-dsv'; import {DATA_TYPES as AnalyzerDATA_TYPES} from 'type-analyzer'; import normalize from '@mapbox/geojson-normalize'; @@ -398,15 +398,15 @@ export function processKeplerglDataset( * @param arrowTable the arrow table to parse * @returns dataset containing `fields` and `rows` or null */ -export function processArrowTable(arrowBatches: RecordBatch[]): ProcessorResult | null { +export function processArrowTable(arrowBatches: arrow.RecordBatch[]): ProcessorResult | null { if (arrowBatches.length === 0) { return null; } - const arrowTable = new ApacheArrowTable(arrowBatches); + const arrowTable = new arrow.Table(arrowBatches); const fields: Field[] = []; // parse fields - arrowTable.schema.fields.forEach((field: ArrowField, index: number) => { + arrowTable.schema.fields.forEach((field: arrow.Field, index: number) => { const isGeometryColumn = field.metadata.get('ARROW:extension:name')?.startsWith('geoarrow'); fields.push({ name: field.name, @@ -427,7 +427,7 @@ export function processArrowTable(arrowBatches: RecordBatch[]): ProcessorResult const cols = [...Array(arrowTable.numCols).keys()].map(i => arrowTable.getChildAt(i)); // return empty rows and use raw arrow table to construct column-wise data container - return {info: {format: 'Arrow'}, fields, rows: [], cols, metadata: arrowTable.schema.metadata}; + return {fields, rows: [], cols, metadata: arrowTable.schema.metadata}; } export const DATASET_HANDLERS = { diff --git a/src/processors/src/file-handler.ts b/src/processors/src/file-handler.ts index f933dca7e1..9ac5f22723 100644 --- a/src/processors/src/file-handler.ts +++ b/src/processors/src/file-handler.ts @@ -135,6 +135,7 @@ export async function* makeProgressIterator( let rowCount = 0; for await (const batch of asyncIterator) { + // the length could be stored in `batch.length` for arrow batch const rowCountInBatch = (batch.data && (batch.data.length || batch.length)) || 0; rowCount += rowCountInBatch; const percent = Number.isFinite(batch.bytesUsed) ? batch.bytesUsed / info.size : null;