From 1cdba130293aef2213423add57feac4d0acc520d Mon Sep 17 00:00:00 2001 From: Tim Welch Date: Thu, 28 Nov 2024 22:23:38 -0800 Subject: [PATCH] Deploy website - based on f31afe7c12d28c1bb9c91d2a1568e1dbf210cf3e --- 404.html | 2 +- assets/js/351342bb.16ba5b41.js | 1 - assets/js/351342bb.9b173aec.js | 1 + assets/js/b79706ee.9f46ee55.js | 1 + assets/js/b79706ee.a2fdc56e.js | 1 - ...79d20.d16d4e8e.js => c5879d20.0279ec94.js} | 2 +- assets/js/e6688bcd.3f21ea10.js | 1 - assets/js/e6688bcd.9b588541.js | 1 + ...n.0f72ee2c.js => runtime~main.f86b006c.js} | 2 +- docs/Migrating/index.html | 2 +- docs/antimeridian/index.html | 2 +- docs/architecture/index.html | 2 +- docs/cli/index.html | 2 +- docs/concepts/index.html | 2 +- docs/contributing/index.html | 2 +- docs/extending/index.html | 2 +- docs/gip/GIP-1-i18n/index.html | 2 +- docs/gip/index.html | 2 +- docs/index.html | 2 +- docs/intro/index.html | 2 +- docs/limits/index.html | 2 +- docs/next/EdgesAndLimits/index.html | 2 +- docs/next/antimeridian/index.html | 2 +- docs/next/api/client-core/index.html | 2 +- .../client-ui/classes/ReportError/index.html | 2 +- .../api/client-ui/functions/App/index.html | 2 +- .../api/client-ui/functions/Card/index.html | 2 +- .../functions/CardDecorator/index.html | 2 +- .../functions/ChartLegend/index.html | 2 +- .../functions/CheckboxGroup/index.html | 2 +- .../api/client-ui/functions/Circle/index.html | 2 +- .../client-ui/functions/ClassTable/index.html | 2 +- .../functions/ClassTableStyled/index.html | 2 +- .../client-ui/functions/Collapse/index.html | 2 +- .../functions/CollapseGroup/index.html | 2 +- .../functions/DataDownload/index.html | 2 +- .../functions/DataDownloadToolbar/index.html | 2 +- .../client-ui/functions/Dropdown/index.html | 2 +- .../functions/DropdownContainer/index.html | 2 +- .../functions/DropdownItem/index.html | 2 +- .../functions/DropdownTrigger/index.html | 2 +- .../functions/EstimateLabel/index.html | 2 +- .../functions/FilterSelectTable/index.html | 2 +- .../FilterSelectTableStyled/index.html | 2 +- .../functions/GeographySwitcher/index.html | 2 +- .../client-ui/functions/GreenPill/index.html | 2 +- .../functions/GroupCircle/index.html | 2 +- .../functions/GroupCircleRow/index.html | 2 +- .../client-ui/functions/GroupPill/index.html | 2 +- .../functions/HorizontalStackedBar/index.html | 2 +- .../client-ui/functions/InfoStatus/index.html | 2 +- .../functions/IucnActivitiesCard/index.html | 2 +- .../functions/IucnDesignationTable/index.html | 2 +- .../functions/IucnLevelCircle/index.html | 2 +- .../functions/IucnLevelCircleRow/index.html | 2 +- .../functions/IucnLevelPill/index.html | 2 +- .../client-ui/functions/IucnMatrix/index.html | 2 +- .../client-ui/functions/KeySection/index.html | 2 +- .../functions/LanguageSwitcher/index.html | 2 +- .../functions/LayerToggle/index.html | 2 +- .../functions/ObjectiveStatus/index.html | 2 +- .../api/client-ui/functions/Pill/index.html | 2 +- .../client-ui/functions/PillColumn/index.html | 2 +- .../functions/PointyCircle/index.html | 2 +- .../functions/ProgressBar/index.html | 2 +- .../functions/ProgressBarWrapper/index.html | 2 +- .../functions/RbcsActivitiesCard/index.html | 2 +- .../client-ui/functions/RbcsIcon/index.html | 2 +- .../functions/RbcsLearnMore/index.html | 2 +- .../functions/RbcsMpaClassPanel/index.html | 2 +- .../RbcsMpaObjectiveStatus/index.html | 2 +- .../RbcsNetworkObjectiveStatus/index.html | 2 +- .../functions/RbcsZoneClassPanel/index.html | 2 +- .../functions/RbcsZoneRegIcon/index.html | 2 +- .../functions/ReportChartFigure/index.html | 2 +- .../functions/ReportDecorator/index.html | 2 +- .../client-ui/functions/ReportPage/index.html | 2 +- .../functions/ReportStoryLayout/index.html | 2 +- .../functions/ReportTableStyled/index.html | 2 +- .../functions/ReportTextDirection/index.html | 2 +- .../functions/ResultsCard/index.html | 2 +- .../functions/SegmentControl/index.html | 2 +- .../functions/SimpleButton/index.html | 2 +- .../functions/SimpleButtonStyled/index.html | 2 +- .../client-ui/functions/Skeleton/index.html | 2 +- .../functions/SketchAttributesCard/index.html | 2 +- .../functions/SketchClassTable/index.html | 2 +- .../SketchClassTableStyled/index.html | 2 +- .../SmallReportTableStyled/index.html | 2 +- .../functions/StyledCircle/index.html | 2 +- .../client-ui/functions/StyledPill/index.html | 2 +- .../StyledTwoColorPointyCircle/index.html | 2 +- .../api/client-ui/functions/Table/index.html | 2 +- .../functions/TableStyled/index.html | 2 +- .../client-ui/functions/Toolbar/index.html | 2 +- .../functions/ToolbarCard/index.html | 2 +- .../functions/ToolbarStyled/index.html | 2 +- .../client-ui/functions/Tooltip/index.html | 2 +- .../functions/TooltipContainer/index.html | 2 +- .../functions/TooltipItem/index.html | 2 +- .../functions/TooltipTrigger/index.html | 2 +- .../client-ui/functions/Translator/index.html | 2 +- .../functions/TwoColorPointyCircle/index.html | 2 +- .../functions/VerticalSpacer/index.html | 2 +- .../functions/WarningPill/index.html | 2 +- .../functions/WatersDiagram/index.html | 2 +- .../createReportDecorator/index.html | 2 +- .../client-ui/functions/finishTask/index.html | 2 +- .../client-ui/functions/runTask/index.html | 2 +- .../functions/useCheckboxes/index.html | 2 +- .../functions/useFunction/index.html | 2 +- .../functions/useLanguage/index.html | 2 +- .../functions/useSketchProperties/index.html | 2 +- docs/next/api/client-ui/index.html | 2 +- .../client-ui/interfaces/AppProps/index.html | 2 +- .../client-ui/interfaces/CardProps/index.html | 2 +- .../interfaces/CircleProps/index.html | 2 +- .../ClassTableColumnConfig/index.html | 2 +- .../interfaces/ClassTableProps/index.html | 2 +- .../interfaces/CollapseGroupProps/index.html | 2 +- .../interfaces/CollapseProps/index.html | 2 +- .../interfaces/DataDownloadProps/index.html | 2 +- .../DataDownloadToolbarProps/index.html | 2 +- .../interfaces/DataFormatters/index.html | 2 +- .../interfaces/DownloadOption/index.html | 2 +- .../DropdownContainerProps/index.html | 2 +- .../interfaces/DropdownProps/index.html | 2 +- .../interfaces/FilterSelect/index.html | 2 +- .../interfaces/FilterSelectOption/index.html | 2 +- .../FilterSelectTableOptions/index.html | 2 +- .../GeographySwitcherProps/index.html | 2 +- .../interfaces/GroupCircleProps/index.html | 2 +- .../interfaces/GroupCircleRowProps/index.html | 2 +- .../interfaces/GroupPillProps/index.html | 2 +- .../HorizontalStackedBarProps/index.html | 2 +- .../interfaces/InfoStatusProps/index.html | 2 +- .../interfaces/IucnActivityRank/index.html | 2 +- .../IucnLevelCircleProps/index.html | 2 +- .../IucnLevelCircleRowProps/index.html | 2 +- .../interfaces/IucnLevelPillProps/index.html | 2 +- .../interfaces/KeySectionProps/index.html | 2 +- .../interfaces/LabelProps/index.html | 2 +- .../interfaces/LegendProps/index.html | 2 +- .../ObjectiveStatusProps/index.html | 2 +- .../interfaces/PillColumnProps/index.html | 2 +- .../client-ui/interfaces/PillProps/index.html | 2 +- .../interfaces/RbcsIconProps/index.html | 2 +- .../interfaces/RbcsLearnMoreProps/index.html | 2 +- .../RbcsMpaClassPanelProps/index.html | 2 +- .../RbcsMpaObjectiveStatusProps/index.html | 2 +- .../RbcsNetworkObjectiveProps/index.html | 2 +- .../interfaces/RbcsPanelProps/index.html | 2 +- .../ReportChartFigureProps/index.html | 2 +- .../interfaces/ReportContextState/index.html | 2 +- .../interfaces/ReportPageProps/index.html | 2 +- .../ReportStoryLayoutProps/index.html | 2 +- .../interfaces/ResultsCardProps/index.html | 2 +- .../api/client-ui/interfaces/Row/index.html | 2 +- .../interfaces/SegmentControlProps/index.html | 2 +- .../interfaces/SimpleButtonProbs/index.html | 2 +- .../SketchAttributesCardProps/index.html | 2 +- .../SketchClassTableProps/index.html | 2 +- .../index.html | 2 +- .../interfaces/StyledLegendProps/index.html | 2 +- .../index.html | 2 +- .../interfaces/TableOptions/index.html | 2 +- .../interfaces/ToolbarCardProps/index.html | 2 +- .../interfaces/ToolbarProps/index.html | 2 +- .../TooltipContainerProps/index.html | 2 +- .../interfaces/TooltipProps/index.html | 2 +- .../TwoColorPointyCircleProps/index.html | 2 +- .../interfaces/VerticalSpacerProps/index.html | 2 +- .../client-ui/type-aliases/Block/index.html | 2 +- .../type-aliases/BlockGroup/index.html | 2 +- .../client-ui/type-aliases/Column/index.html | 2 +- .../HorizontalStackedBarRow/index.html | 2 +- .../index.html | 2 +- .../index.html | 2 +- .../type-aliases/RowConfig/index.html | 2 +- .../type-aliases/SUPPORTED_FORMAT/index.html | 2 +- .../type-aliases/StringOrNumber/index.html | 2 +- .../type-aliases/TargetFormatter/index.html | 2 +- docs/next/api/dataproviders/index.html | 2 +- .../classes/ComplexityError/index.html | 2 +- .../classes/GeoprocessingHandler/index.html | 2 +- .../classes/PreprocessingHandler/index.html | 2 +- .../classes/ProjectClientBase/index.html | 88 +++++++++++-------- .../classes/ValidationError/index.html | 2 +- .../classes/VectorDataSource/index.html | 2 +- .../GeoprocessingTaskStatus/index.html | 2 +- .../functions/anchorScore/index.html | 2 +- .../functions/aquacultureScore/index.html | 2 +- .../geoprocessing/functions/area/index.html | 2 +- .../functions/batchDelete/index.html | 2 +- .../functions/batchDeleteTasks/index.html | 2 +- .../functions/bboxOverlap/index.html | 2 +- .../functions/booleanOverlap/index.html | 2 +- .../functions/byteSize/index.html | 2 +- .../functions/capitalize/index.html | 2 +- .../geoprocessing/functions/chunk/index.html | 2 +- .../functions/classIdMapping/index.html | 2 +- .../functions/classifyMPA/index.html | 2 +- .../functions/classifyZone/index.html | 2 +- .../functions/cleanBBox/index.html | 2 +- .../functions/cleanCoords/index.html | 2 +- .../geoprocessing/functions/clip/index.html | 2 +- .../functions/clipMultiMerge/index.html | 2 +- .../clipToPolygonDatasources/index.html | 2 +- .../clipToPolygonFeatures/index.html | 2 +- .../collectionHasGeometry/index.html | 2 +- .../functions/createMetric/index.html | 2 +- .../functions/createMetrics/index.html | 2 +- .../functions/ensureValidPolygon/index.html | 2 +- .../functions/featureToSketch/index.html | 2 +- .../featureToSketchCollection/index.html | 2 +- .../functions/fetchGeoJSON/index.html | 2 +- .../functions/fgBoundingBox/index.html | 2 +- .../functions/fgbFetchAll/index.html | 2 +- .../findAndUpdateMetricValue/index.html | 2 +- .../functions/firstMatching/index.html | 2 +- .../functions/firstMatchingMetric/index.html | 2 +- .../flattenByGroupAllClass/index.html | 2 +- .../flattenByGroupSketchAllClass/index.html | 2 +- .../flattenBySketchAllClass/index.html | 2 +- .../functions/flattenSketchAllId/index.html | 2 +- .../functions/gearTypeScore/index.html | 2 +- .../functions/genClipLoader/index.html | 2 +- .../genClipToPolygonDatasources/index.html | 2 +- .../genClipToPolygonFeatures/index.html | 2 +- .../functions/genFeature/index.html | 2 +- .../functions/genFeatureCollection/index.html | 2 +- .../functions/genRandomPolygons/index.html | 2 +- .../functions/genSampleNullSketch/index.html | 2 +- .../genSampleNullSketchCollection/index.html | 2 +- .../functions/genSampleSketch/index.html | 2 +- .../genSampleSketchCollection/index.html | 2 +- .../index.html | 2 +- .../genSampleSketchContext/index.html | 2 +- .../genSampleUserAttributes/index.html | 2 +- .../functions/genSketch/index.html | 2 +- .../functions/genSketchCollection/index.html | 2 +- .../functions/genTaskCacheKey/index.html | 2 +- .../functions/genZodErrorMessage/index.html | 2 +- .../functions/getArea/index.html | 2 +- .../getClassificationLabel/index.html | 2 +- .../functions/getCogFilename/index.html | 2 +- .../functions/getDatasetBucketName/index.html | 2 +- .../functions/getDatasourceById/index.html | 2 +- .../index.html | 2 +- .../index.html | 2 +- .../functions/getFeatures/index.html | 2 +- .../getFeaturesForSketchBBoxes/index.html | 6 +- .../functions/getFirstFromParam/index.html | 2 +- .../getFlatGeobufFilename/index.html | 2 +- .../functions/getFlatGeobufPath/index.html | 2 +- .../functions/getGeopackagePath/index.html | 2 +- .../functions/getHistogram/index.html | 2 +- .../functions/getIndexIconPerc/index.html | 2 +- .../index.html | 2 +- .../index.html | 2 +- .../getIucnCategoryForActivities/index.html | 2 +- .../getIucnCategoryForSketches/index.html | 2 +- .../getIucnCategoryNameForSketches/index.html | 2 +- .../getIucnLevelNameForSketches/index.html | 2 +- .../functions/getJsonFilename/index.html | 2 +- .../functions/getJsonPath/index.html | 2 +- .../functions/getJsonUserAttribute/index.html | 2 +- .../functions/getKeys/index.html | 2 +- .../getMetricGroupObjectiveId/index.html | 2 +- .../getMetricGroupObjectiveIds/index.html | 2 +- .../functions/getMinYesCountMap/index.html | 2 +- .../getMpaClassificationName/index.html | 2 +- .../functions/getObjectiveById/index.html | 2 +- .../functions/getParamStringArray/index.html | 2 +- .../getRasterBoxSpherical/index.html | 2 +- .../getRasterDatasourceById/index.html | 2 +- .../getSketchCollectionChildIds/index.html | 2 +- .../functions/getSketchFeatures/index.html | 2 +- .../getSketchToMpaProtectionLevel/index.html | 2 +- .../geoprocessing/functions/getSum/index.html | 2 +- .../functions/getUserAttribute/index.html | 2 +- .../getVectorDatasourceById/index.html | 2 +- .../getZoneClassificationName/index.html | 2 +- .../functions/groupBy/index.html | 2 +- .../functions/hasOwnProperty/index.html | 2 +- .../functions/includeVirtualSketch/index.html | 2 +- .../functions/intersectInChunks/index.html | 2 +- .../intersectInChunksArea/index.html | 2 +- .../functions/intersectSum/index.html | 2 +- .../functions/isExternalDatasource/index.html | 2 +- .../isExternalRasterDatasource/index.html | 2 +- .../isExternalVectorDatasource/index.html | 2 +- .../functions/isFeature/index.html | 2 +- .../functions/isFeatureCollection/index.html | 2 +- .../functions/isGeometry/index.html | 2 +- .../isImportRasterDatasourceConfig/index.html | 2 +- .../isImportVectorDatasourceConfig/index.html | 2 +- .../isInternalRasterDatasource/index.html | 2 +- .../isInternalVectorDatasource/index.html | 2 +- .../functions/isLineStringFeature/index.html | 2 +- .../isLineStringSketchCollection/index.html | 2 +- .../functions/isMetric/index.html | 2 +- .../functions/isMetricArray/index.html | 2 +- .../functions/isMetricPack/index.html | 2 +- .../isMultiPolygonFeature/index.html | 2 +- .../functions/isMultiPolygonSketch/index.html | 2 +- .../isMultiPolygonSketchCollection/index.html | 2 +- .../functions/isNullSketch/index.html | 2 +- .../isNullSketchCollection/index.html | 2 +- .../functions/isObject/index.html | 2 +- .../functions/isPointFeature/index.html | 2 +- .../isPointSketchCollection/index.html | 2 +- .../isPolygonAllSketchCollection/index.html | 2 +- .../functions/isPolygonAnyFeature/index.html | 2 +- .../functions/isPolygonFeature/index.html | 2 +- .../isPolygonFeatureArray/index.html | 2 +- .../functions/isPolygonSketch/index.html | 2 +- .../isPolygonSketchCollection/index.html | 2 +- .../functions/isRasterDatasource/index.html | 2 +- .../isRbcsProtectionLevel/index.html | 2 +- .../functions/isSketch/index.html | 2 +- .../functions/isSketchCollection/index.html | 2 +- .../isTruthyAttributeValue/index.html | 2 +- .../functions/isVectorDatasource/index.html | 2 +- .../functions/isinternalDatasource/index.html | 2 +- .../geoprocessing/functions/keyBy/index.html | 2 +- .../functions/loadCog/index.html | 2 +- .../functions/loadFgb/index.html | 2 +- .../functions/maxWidth/index.html | 2 +- .../functions/metricsForSketch/index.html | 2 +- .../functions/metricsSketchIds/index.html | 2 +- .../functions/metricsWithClassId/index.html | 2 +- .../functions/metricsWithSketchId/index.html | 2 +- .../functions/minWidth/index.html | 2 +- .../functions/mpaClassMetric/index.html | 2 +- .../functions/mpaClassMetrics/index.html | 2 +- .../functions/nestMetrics/index.html | 2 +- .../functions/numberFormat/index.html | 2 +- .../functions/overlapArea/index.html | 2 +- .../overlapAreaGroupMetrics/index.html | 2 +- .../functions/overlapFeatures/index.html | 2 +- .../overlapFeaturesGroupMetrics/index.html | 2 +- .../functions/overlapGroupMetrics/index.html | 2 +- .../functions/overlapRasterClass/index.html | 2 +- .../overlapRasterGroupMetrics/index.html | 2 +- .../functions/overlapSubarea/index.html | 2 +- .../functions/packMetrics/index.html | 2 +- .../functions/parseGeoraster/index.html | 2 +- .../functions/parseLambdaResponse/index.html | 2 +- .../functions/percentGoalWithEdge/index.html | 2 +- .../functions/percentWithEdge/index.html | 2 +- .../functions/randomFloat/index.html | 2 +- .../functions/randomInt/index.html | 2 +- .../functions/rasterMetrics/index.html | 2 +- .../functions/rasterStats/index.html | 2 +- .../functions/rasterStatsToMetrics/index.html | 2 +- .../functions/rbcsMpaToMetric/index.html | 2 +- .../functions/rbcsZoneToMetric/index.html | 2 +- .../functions/rekeyMetrics/index.html | 2 +- .../functions/rekeyObject/index.html | 2 +- .../removeSketchCollPolygonHoles/index.html | 2 +- .../removeSketchPolygonHoles/index.html | 2 +- .../functions/roundDecimal/index.html | 2 +- .../functions/roundDecimalFormat/index.html | 2 +- .../functions/roundLower/index.html | 2 +- .../functions/runLambdaWorker/index.html | 2 +- .../sampleSketchReportContextValue/index.html | 2 +- .../functions/scanTasks/index.html | 2 +- .../functions/sketchToId/index.html | 2 +- .../functions/sketchToZone/index.html | 2 +- .../functions/sortMetrics/index.html | 2 +- .../sortMetricsDisplayOrder/index.html | 2 +- .../splitBBoxAntimeridian/index.html | 2 +- .../splitFeatureAntimeridian/index.html | 2 +- .../splitSketchAntimeridian/index.html | 2 +- .../squareMeterToKilometer/index.html | 2 +- .../functions/squareMeterToMile/index.html | 2 +- .../functions/testWithinPerc/index.html | 2 +- .../functions/toChildProperties/index.html | 2 +- .../functions/toFeatureArray/index.html | 2 +- .../toFeaturePolygonArray/index.html | 2 +- .../functions/toNullSketch/index.html | 2 +- .../functions/toNullSketchArray/index.html | 2 +- .../functions/toPercentMetric/index.html | 2 +- .../functions/toRasterProjection/index.html | 2 +- .../functions/toShortSketches/index.html | 2 +- .../functions/toSketchArray/index.html | 2 +- .../toSketchPropertiesArray/index.html | 2 +- .../functions/unpackMetrics/index.html | 2 +- .../functions/updateCommandsSync/index.html | 2 +- .../functions/valueFormatter/index.html | 2 +- .../functions/zeroPolygon/index.html | 2 +- .../functions/zeroSketch/index.html | 2 +- .../functions/zeroSketchArray/index.html | 2 +- .../functions/zeroSketchCollection/index.html | 2 +- .../functions/zoneClassMetrics/index.html | 2 +- docs/next/api/geoprocessing/index.html | 2 +- .../BaseImportDatasourceConfig/index.html | 2 +- .../interfaces/CalcStatsOptions/index.html | 2 +- .../interfaces/ClipOptions/index.html | 2 +- .../DatasourceClipOperation/index.html | 2 +- .../interfaces/DatasourceOptions/index.html | 2 +- .../interfaces/DefaultExtraParams/index.html | 2 +- .../interfaces/Feature/index.html | 2 +- .../FeatureClipOperation/index.html | 2 +- .../interfaces/FeatureCollection/index.html | 2 +- .../interfaces/FeatureMap/index.html | 2 +- .../interfaces/FeatureTree/index.html | 2 +- .../interfaces/FgBoundingBox/index.html | 2 +- .../interfaces/GeogProp/index.html | 2 +- .../interfaces/GeometryCollection/index.html | 2 +- .../GeoprocessingHandlerOptions/index.html | 2 +- .../GeoprocessingProject/index.html | 2 +- .../GeoprocessingRequestModel/index.html | 2 +- .../GeoprocessingServiceMetadata/index.html | 2 +- .../interfaces/GeoprocessingTask/index.html | 2 +- .../interfaces/Georaster/index.html | 2 +- .../interfaces/Histogram/index.html | 2 +- .../interfaces/HistogramOptions/index.html | 2 +- .../interfaces/IucnActivity/index.html | 2 +- .../interfaces/IucnActivityRank/index.html | 2 +- .../interfaces/IucnCategory/index.html | 2 +- .../IucnCategoryCombined/index.html | 2 +- .../interfaces/LineString/index.html | 2 +- .../interfaces/MetricGroupItem/index.html | 2 +- .../interfaces/MetricPack/index.html | 2 +- .../interfaces/MultiLineString/index.html | 2 +- .../interfaces/MultiPolygon/index.html | 2 +- .../geoprocessing/interfaces/Node/index.html | 2 +- .../interfaces/NullSketch/index.html | 2 +- .../NullSketchCollection/index.html | 2 +- .../OverlapRasterOptions/index.html | 2 +- .../interfaces/PercentEdgeOptions/index.html | 2 +- .../geoprocessing/interfaces/Point/index.html | 2 +- .../interfaces/Polygon/index.html | 2 +- .../PreprocessingHandlerOptions/index.html | 2 +- .../PreprocessingRequest/index.html | 2 +- .../PreprocessingResponse/index.html | 2 +- .../PreprocessingService/index.html | 2 +- .../PreprocessingServiceMetadata/index.html | 2 +- .../interfaces/ProjectClientConfig/index.html | 2 +- .../ProjectClientInterface/index.html | 2 +- .../interfaces/RasterStatsOptions/index.html | 2 +- .../interfaces/RbcsObjective/index.html | 2 +- .../RegBasedClassificationMetric/index.html | 2 +- .../interfaces/Report/index.html | 2 +- .../interfaces/ReportContextValue/index.html | 2 +- .../interfaces/ReportResult/index.html | 2 +- .../interfaces/ReportResultBase/index.html | 2 +- .../interfaces/RootTaskItem/index.html | 2 +- .../interfaces/RoundDecimalOptions/index.html | 2 +- .../SeaSketchReportingMessageEvent/index.html | 2 +- .../index.html | 2 +- .../index.html | 2 +- .../index.html | 2 +- .../interfaces/Sketch/index.html | 2 +- .../interfaces/SketchCollection/index.html | 2 +- .../interfaces/SketchMap/index.html | 2 +- .../interfaces/StatsObject/index.html | 2 +- .../interfaces/TestExampleOutput/index.html | 2 +- .../VectorDataSourceDetails/index.html | 2 +- .../VectorDataSourceOptions/index.html | 2 +- .../interfaces/VectorFeature/index.html | 2 +- .../VectorPropertyFilter/index.html | 2 +- .../interfaces/WindowOptions/index.html | 2 +- .../type-aliases/BBox/index.html | 2 +- .../type-aliases/BaseDatasource/index.html | 2 +- .../type-aliases/ClassStats/index.html | 2 +- .../type-aliases/ClassificationId/index.html | 2 +- .../type-aliases/ClientJsonConfig/index.html | 2 +- .../type-aliases/ClipOperations/index.html | 2 +- .../type-aliases/DataClass/index.html | 2 +- .../type-aliases/Datasource/index.html | 2 +- .../type-aliases/EXTRA_RASTER_STAT/index.html | 2 +- .../type-aliases/EezLandUnion/index.html | 2 +- .../type-aliases/ExecutionMode/index.html | 2 +- .../ExternalRasterDatasource/index.html | 2 +- .../ExternalVectorDatasource/index.html | 2 +- .../FunctionExtraParams/index.html | 2 +- .../GEOBLAZE_RASTER_STAT/index.html | 2 +- .../type-aliases/GeoJsonProperties/index.html | 2 +- .../type-aliases/GeoTypes/index.html | 2 +- .../type-aliases/Geographies/index.html | 2 +- .../type-aliases/Geography/index.html | 2 +- .../type-aliases/Geometry/index.html | 2 +- .../GeoprocessingJsonConfig/index.html | 2 +- .../GeoprocessingRequest/index.html | 2 +- .../GeoprocessingRequestParams/index.html | 2 +- .../type-aliases/GeorasterMetadata/index.html | 2 +- .../type-aliases/GroupMetricAgg/index.html | 2 +- .../GroupMetricSketchAgg/index.html | 2 +- .../type-aliases/ISO8601DateTime/index.html | 2 +- .../type-aliases/ISO8601Duration/index.html | 2 +- .../ImportRasterDatasourceConfig/index.html | 2 +- .../ImportRasterDatasourceOptions/index.html | 2 +- .../ImportVectorDatasourceConfig/index.html | 2 +- .../ImportVectorDatasourceOptions/index.html | 2 +- .../InternalRasterDatasource/index.html | 2 +- .../InternalVectorDatasource/index.html | 2 +- .../IucnActivityRankId/index.html | 2 +- .../type-aliases/JSONValue/index.html | 2 +- .../type-aliases/LoadedPackage/index.html | 2 +- .../type-aliases/Metric/index.html | 2 +- .../type-aliases/MetricDimension/index.html | 2 +- .../type-aliases/MetricGroup/index.html | 2 +- .../type-aliases/MetricGroups/index.html | 2 +- .../type-aliases/MetricIdTypes/index.html | 2 +- .../type-aliases/MetricProperty/index.html | 2 +- .../type-aliases/Metrics/index.html | 2 +- .../type-aliases/MpaClassification/index.html | 2 +- .../type-aliases/Nullable/index.html | 2 +- .../type-aliases/Objective/index.html | 2 +- .../type-aliases/ObjectiveAnswer/index.html | 2 +- .../ObjectiveAnswerMap/index.html | 2 +- .../type-aliases/ObjectiveId/index.html | 2 +- .../type-aliases/Objectives/index.html | 2 +- .../type-aliases/OsmLandFeature/index.html | 2 +- .../type-aliases/Package/index.html | 2 +- .../PartialReportContextValue/index.html | 2 +- .../type-aliases/Position/index.html | 2 +- .../type-aliases/Project/index.html | 2 +- .../type-aliases/RasterDatasource/index.html | 2 +- .../RbcsMpaObjectiveAnswerMap/index.html | 2 +- .../RbcsMpaProtectionLevel/index.html | 2 +- .../SUPPORTED_RASTER_STAT/index.html | 2 +- .../SketchGeometryTypes/index.html | 2 +- .../type-aliases/SketchProperties/index.html | 2 +- .../type-aliases/Stats-1/index.html | 2 +- .../type-aliases/SupportedFormats/index.html | 2 +- .../type-aliases/TaskKey/index.html | 2 +- .../type-aliases/TypedArray/index.html | 2 +- .../type-aliases/UserAttribute/index.html | 2 +- .../type-aliases/ValueFormatter/index.html | 2 +- .../type-aliases/VectorDatasource/index.html | 2 +- .../type-aliases/Zone/index.html | 2 +- .../type-aliases/ZoneColor/index.html | 2 +- .../type-aliases/ZoneId/index.html | 2 +- .../type-aliases/ZoneName/index.html | 2 +- .../type-aliases/bandArithmetic/index.html | 2 +- .../geoprocessing/type-aliases/get/index.html | 2 +- .../type-aliases/histogram/index.html | 2 +- .../type-aliases/identify/index.html | 2 +- .../type-aliases/load/index.html | 2 +- .../geoprocessing/type-aliases/max/index.html | 2 +- .../type-aliases/mean/index.html | 2 +- .../type-aliases/median/index.html | 2 +- .../geoprocessing/type-aliases/min/index.html | 2 +- .../type-aliases/mode/index.html | 2 +- .../type-aliases/rasterCalculator/index.html | 2 +- .../type-aliases/stats/index.html | 2 +- .../geoprocessing/type-aliases/sum/index.html | 2 +- .../variables/DEFAULTS/index.html | 2 +- .../variables/EXTRA_RASTER_STATS/index.html | 2 +- .../FULLY_PROTECTED_LEVEL/index.html | 2 +- .../GEOBLAZE_RASTER_STATS/index.html | 2 +- .../HIGHLY_PROTECTED_LEVEL/index.html | 2 +- .../MODERATELY_PROTECTED_LEVEL/index.html | 2 +- .../variables/MetricDimensions/index.html | 2 +- .../variables/MetricProperties/index.html | 2 +- .../variables/OBJECTIVE_GREEN/index.html | 2 +- .../variables/OBJECTIVE_MAYBE/index.html | 2 +- .../variables/OBJECTIVE_NO/index.html | 2 +- .../variables/OBJECTIVE_RED/index.html | 2 +- .../variables/OBJECTIVE_YELLOW/index.html | 2 +- .../variables/OBJECTIVE_YES/index.html | 2 +- .../variables/PLANNING_AREA_TYPES/index.html | 2 +- .../POORLY_PROTECTED_LEVEL/index.html | 2 +- .../variables/ReportContext/index.html | 2 +- .../SUPPORTED_RASTER_STATS/index.html | 2 +- .../variables/UNPROTECTED_LEVEL/index.html | 2 +- .../variables/activityRanks/index.html | 2 +- .../variables/baseDatasourceSchema/index.html | 2 +- .../variables/bboxSchema/index.html | 2 +- .../variables/box2dSchema/index.html | 2 +- .../variables/box3dSchema/index.html | 2 +- .../variables/classStatsSchema/index.html | 2 +- .../clientJsonConfigSchema/index.html | 2 +- .../variables/commonHeaders/index.html | 2 +- .../variables/dataClassSchema/index.html | 2 +- .../variables/datasourceConfig/index.html | 2 +- .../datasourceFormatDescriptions/index.html | 2 +- .../variables/datasourceSchema/index.html | 2 +- .../variables/datasourcesSchema/index.html | 2 +- .../variables/defaultReportContext/index.html | 2 +- .../variables/defaultStatValues/index.html | 2 +- .../externalDatasourceSchema/index.html | 2 +- .../externalRasterDatasourceSchema/index.html | 2 +- .../externalVectorDatasourceSchema/index.html | 2 +- .../variables/extraParamsSchema/index.html | 2 +- .../variables/fcSchema/index.html | 2 +- .../variables/featureSchema/index.html | 2 +- .../variables/featuresSchema/index.html | 2 +- .../variables/fixtures/index.html | 2 +- .../variables/fullColor/index.html | 2 +- .../variables/geoTypesSchema/index.html | 2 +- .../geoblazeDefaultStatValues/index.html | 2 +- .../variables/geographiesSchema/index.html | 2 +- .../variables/geographySchema/index.html | 2 +- .../geoprocessingConfigSchema/index.html | 2 +- .../variables/globalDatasources/index.html | 2 +- .../globalDatasourcesById/index.html | 2 +- .../variables/highColor/index.html | 2 +- .../index.html | 2 +- .../index.html | 2 +- .../internalDatasourceSchema/index.html | 2 +- .../variables/internalImportSchema/index.html | 2 +- .../internalRasterDatasourceSchema/index.html | 2 +- .../internalVectorDatasourceSchema/index.html | 2 +- .../internalVectorImportSchema/index.html | 2 +- .../variables/iucnActivities/index.html | 2 +- .../iucnActivityCategories/index.html | 2 +- .../variables/iucnCategoriesList/index.html | 2 +- .../variables/iucnCategoriesMap/index.html | 2 +- .../variables/iucnCategoryNames/index.html | 2 +- .../variables/iucnLevels/index.html | 2 +- .../variables/jsonSchema/index.html | 2 +- .../variables/loadedPackageSchema/index.html | 2 +- .../variables/lowColor/index.html | 2 +- .../measurementScalesSchema/index.html | 2 +- .../measurementTypesSchema/index.html | 2 +- .../variables/metricGroupSchema/index.html | 2 +- .../variables/metricGroupsSchema/index.html | 2 +- .../variables/metricSchema/index.html | 2 +- .../variables/metricsSchema/index.html | 2 +- .../variables/multipolygonSchema/index.html | 2 +- .../objectiveAnswerMapSchema/index.html | 2 +- .../objectiveAnswerSchema/index.html | 2 +- .../objectiveCountsAnswers/index.html | 2 +- .../objectiveCountsColorMap/index.html | 2 +- .../variables/objectiveSchema/index.html | 2 +- .../variables/objectivesSchema/index.html | 2 +- .../variables/packageSchema/index.html | 2 +- .../planningAreaTypesSchema/index.html | 2 +- .../variables/polygonSchema/index.html | 2 +- .../variables/projectSchema/index.html | 2 +- .../rasterDatasourceSchema/index.html | 2 +- .../rbcsAnchoringActivities/index.html | 2 +- .../rbcsAquacultureActivities/index.html | 2 +- .../variables/rbcsConstants/index.html | 2 +- .../variables/rbcsGearTypes/index.html | 2 +- .../rbcsMpaProtectionLevels/index.html | 2 +- .../variables/rbcsScores/index.html | 2 +- .../index.html | 2 +- .../index.html | 2 +- .../index.html | 2 +- .../variables/statsSchema/index.html | 2 +- .../supportedFormatsSchema/index.html | 2 +- .../vectorDatasourceSchema/index.html | 2 +- .../variables/version/index.html | 2 +- docs/next/api/index.html | 2 +- docs/next/architecture/index.html | 2 +- docs/next/cli/index.html | 2 +- docs/next/codespaces/index.html | 2 +- .../next/concepts/AdvancedConcepts/index.html | 2 +- docs/next/concepts/index.html | 2 +- docs/next/contributing/index.html | 2 +- docs/next/dataimport/index.html | 2 +- docs/next/dataproviders/index.html | 2 +- docs/next/devcontainer/index.html | 2 +- docs/next/extending/index.html | 2 +- docs/next/geoprocessing/index.html | 2 +- docs/next/gip/GIP-1-i18n/index.html | 2 +- docs/next/gip/index.html | 2 +- docs/next/index.html | 2 +- docs/next/intro/index.html | 2 +- docs/next/linkData/index.html | 2 +- docs/next/multiBoundary/index.html | 2 +- docs/next/precalc/index.html | 2 +- docs/next/preprocessing/index.html | 2 +- docs/next/projectclient/index.html | 2 +- docs/next/reportclient/index.html | 2 +- docs/next/skills/index.html | 2 +- docs/next/structure/index.html | 2 +- docs/next/testing/index.html | 2 +- docs/next/thirdpartydata/index.html | 2 +- docs/next/toolbox/index.html | 2 +- .../congratulations/index.html | 2 +- .../create-a-blog-post/index.html | 2 +- .../create-a-document/index.html | 2 +- .../tutorial-basics/create-a-page/index.html | 2 +- .../deploy-your-site/index.html | 2 +- .../markdown-features/index.html | 2 +- .../manage-docs-versions/index.html | 2 +- .../translate-your-site/index.html | 2 +- docs/next/tutorials/deploy/index.html | 2 +- .../next/tutorials/existingproject/index.html | 2 +- docs/next/tutorials/extraParams/index.html | 2 +- docs/next/tutorials/index.html | 2 +- docs/next/tutorials/newproject/index.html | 4 +- docs/next/tutorials/sampleproject/index.html | 80 +++++++++-------- .../tutorials/sketchAttributes/index.html | 2 +- docs/next/tutorials/storybook/index.html | 2 +- .../tutorials/updateDatasource/index.html | 2 +- docs/next/upgrade/index.html | 2 +- docs/next/workers/index.html | 2 +- docs/testing/index.html | 2 +- docs/tipsandtricks/index.html | 2 +- .../congratulations/index.html | 2 +- .../create-a-blog-post/index.html | 2 +- .../create-a-document/index.html | 2 +- docs/tutorial-basics/create-a-page/index.html | 2 +- .../deploy-your-site/index.html | 2 +- .../markdown-features/index.html | 2 +- .../manage-docs-versions/index.html | 2 +- .../translate-your-site/index.html | 2 +- docs/tutorials/index.html | 2 +- index.html | 2 +- markdown-page/index.html | 2 +- storybook/index.html | 2 +- 709 files changed, 804 insertions(+), 778 deletions(-) delete mode 100644 assets/js/351342bb.16ba5b41.js create mode 100644 assets/js/351342bb.9b173aec.js create mode 100644 assets/js/b79706ee.9f46ee55.js delete mode 100644 assets/js/b79706ee.a2fdc56e.js rename assets/js/{c5879d20.d16d4e8e.js => c5879d20.0279ec94.js} (99%) delete mode 100644 assets/js/e6688bcd.3f21ea10.js create mode 100644 assets/js/e6688bcd.9b588541.js rename assets/js/{runtime~main.0f72ee2c.js => runtime~main.f86b006c.js} (99%) diff --git a/404.html b/404.html index dbf1d4841..fec8b9e2e 100644 --- a/404.html +++ b/404.html @@ -4,7 +4,7 @@ Page Not Found | SeaSketch Geoprocessing - + diff --git a/assets/js/351342bb.16ba5b41.js b/assets/js/351342bb.16ba5b41.js deleted file mode 100644 index 491cbfa72..000000000 --- a/assets/js/351342bb.16ba5b41.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[32897],{3455:(e,r,s)=>{s.r(r),s.d(r,{assets:()=>t,contentTitle:()=>i,default:()=>h,frontMatter:()=>a,metadata:()=>l,toc:()=>c});var n=s(74848),d=s(28453);const a={},i="ProjectClientBase",l={id:"api/geoprocessing/classes/ProjectClientBase",title:"ProjectClientBase",description:"Client for reading project configuration/metadata.",source:"@site/docs/api/geoprocessing/classes/ProjectClientBase.md",sourceDirName:"api/geoprocessing/classes",slug:"/api/geoprocessing/classes/ProjectClientBase",permalink:"/geoprocessing/docs/next/api/geoprocessing/classes/ProjectClientBase",draft:!1,unlisted:!1,editUrl:"https://github.com/seasketch/geoprocessing/tree/main/website/templates/shared/docs/api/geoprocessing/classes/ProjectClientBase.md",tags:[],version:"current",frontMatter:{}},t={},c=[{value:"Implements",id:"implements",level:2},{value:"Accessors",id:"accessors",level:2},{value:"basic",id:"basic",level:3},{value:"Returns",id:"returns",level:4},{value:"bbox",id:"bbox",level:5},{value:"externalLinks",id:"externallinks",level:5},{value:"languages",id:"languages",level:5},{value:"planningAreaId",id:"planningareaid",level:5},{value:"planningAreaName",id:"planningareaname",level:5},{value:"planningAreaType",id:"planningareatype",level:5},{value:"datasources",id:"datasources",level:3},{value:"Returns",id:"returns-1",level:4},{value:"externalDatasources",id:"externaldatasources",level:3},{value:"Returns",id:"returns-2",level:4},{value:"geographies",id:"geographies",level:3},{value:"Returns",id:"returns-3",level:4},{value:"geoprocessing",id:"geoprocessing",level:3},{value:"Returns",id:"returns-4",level:4},{value:"author",id:"author",level:5},{value:"clients",id:"clients",level:5},{value:"geoprocessingFunctions",id:"geoprocessingfunctions",level:5},{value:"organization?",id:"organization",level:5},{value:"preprocessingFunctions",id:"preprocessingfunctions",level:5},{value:"region",id:"region",level:5},{value:"internalDatasources",id:"internaldatasources",level:3},{value:"Returns",id:"returns-5",level:4},{value:"metricGroups",id:"metricgroups",level:3},{value:"Returns",id:"returns-6",level:4},{value:"objectives",id:"objectives",level:3},{value:"Returns",id:"returns-7",level:4},{value:"package",id:"package",level:3},{value:"Returns",id:"returns-8",level:4},{value:"author",id:"author-1",level:5},{value:"bugs?",id:"bugs",level:5},{value:"dependencies?",id:"dependencies",level:5},{value:"description",id:"description",level:5},{value:"devDependencies?",id:"devdependencies",level:5},{value:"homepage?",id:"homepage",level:5},{value:"keywords?",id:"keywords",level:5},{value:"license",id:"license",level:5},{value:"name",id:"name",level:5},{value:"private?",id:"private",level:5},{value:"repository?",id:"repository",level:5},{value:"repositoryUrl?",id:"repositoryurl",level:5},{value:"scripts?",id:"scripts",level:5},{value:"type?",id:"type",level:5},{value:"version",id:"version",level:5},{value:"precalc",id:"precalc",level:3},{value:"Returns",id:"returns-9",level:4},{value:"Constructors",id:"constructors",level:2},{value:"new ProjectClientBase()",id:"new-projectclientbase",level:3},{value:"Parameters",id:"parameters",level:4},{value:"Returns",id:"returns-10",level:4},{value:"Methods",id:"methods",level:2},{value:"dataBucketUrl()",id:"databucketurl",level:3},{value:"Parameters",id:"parameters-1",level:4},{value:"Returns",id:"returns-11",level:4},{value:"Implementation of",id:"implementation-of",level:4},{value:"getDatasourceById()",id:"getdatasourcebyid",level:3},{value:"Parameters",id:"parameters-2",level:4},{value:"Returns",id:"returns-12",level:4},{value:"Implementation of",id:"implementation-of-1",level:4},{value:"getDatasourceUrl()",id:"getdatasourceurl",level:3},{value:"Parameters",id:"parameters-3",level:4},{value:"Returns",id:"returns-13",level:4},{value:"Implementation of",id:"implementation-of-2",level:4},{value:"getExternalRasterDatasourceById()",id:"getexternalrasterdatasourcebyid",level:3},{value:"Parameters",id:"parameters-4",level:4},{value:"Returns",id:"returns-14",level:4},{value:"getExternalVectorDatasourceById()",id:"getexternalvectordatasourcebyid",level:3},{value:"Parameters",id:"parameters-5",level:4},{value:"Returns",id:"returns-15",level:4},{value:"getFgbPath()",id:"getfgbpath",level:3},{value:"Parameters",id:"parameters-6",level:4},{value:"Returns",id:"returns-16",level:4},{value:"getGeographyByGroup()",id:"getgeographybygroup",level:3},{value:"Parameters",id:"parameters-7",level:4},{value:"Returns",id:"returns-17",level:4},{value:"getGeographyById()",id:"getgeographybyid",level:3},{value:"Parameters",id:"parameters-8",level:4},{value:"Returns",id:"returns-18",level:4},{value:"bboxFilter?",id:"bboxfilter",level:5},{value:"datasourceId",id:"datasourceid",level:5},{value:"display",id:"display",level:5},{value:"geographyId",id:"geographyid",level:5},{value:"groups?",id:"groups",level:5},{value:"layerId?",id:"layerid",level:5},{value:"precalc",id:"precalc-1",level:5},{value:"propertyFilter?",id:"propertyfilter",level:5},{value:"propertyFilter.property",id:"propertyfilterproperty",level:5},{value:"propertyFilter.values",id:"propertyfiltervalues",level:5},{value:"Throws",id:"throws",level:4},{value:"getInternalRasterDatasourceById()",id:"getinternalrasterdatasourcebyid",level:3},{value:"Parameters",id:"parameters-9",level:4},{value:"Returns",id:"returns-19",level:4},{value:"band",id:"band",level:5},{value:"created",id:"created",level:5},{value:"datasourceId",id:"datasourceid-1",level:5},{value:"formats",id:"formats",level:5},{value:"geo_type",id:"geo_type",level:5},{value:"lastUpdated",id:"lastupdated",level:5},{value:"measurementType",id:"measurementtype",level:5},{value:"metadata?",id:"metadata",level:5},{value:"metadata.description?",id:"metadatadescription",level:5},{value:"metadata.name",id:"metadataname",level:5},{value:"metadata.publishDate",id:"metadatapublishdate",level:5},{value:"metadata.publisher",id:"metadatapublisher",level:5},{value:"metadata.publishLink",id:"metadatapublishlink",level:5},{value:"metadata.version",id:"metadataversion",level:5},{value:"noDataValue?",id:"nodatavalue",level:5},{value:"precalc",id:"precalc-2",level:5},{value:"src",id:"src",level:5},{value:"getInternalVectorDatasourceById()",id:"getinternalvectordatasourcebyid",level:3},{value:"Parameters",id:"parameters-10",level:4},{value:"Returns",id:"returns-20",level:4},{value:"bboxFilter?",id:"bboxfilter-1",level:5},{value:"classKeys",id:"classkeys",level:5},{value:"created",id:"created-1",level:5},{value:"datasourceId",id:"datasourceid-2",level:5},{value:"explodeMulti",id:"explodemulti",level:5},{value:"formats",id:"formats-1",level:5},{value:"geo_type",id:"geo_type-1",level:5},{value:"idProperty?",id:"idproperty",level:5},{value:"lastUpdated",id:"lastupdated-1",level:5},{value:"layerName?",id:"layername",level:5},{value:"metadata?",id:"metadata-1",level:5},{value:"metadata.description?",id:"metadatadescription-1",level:5},{value:"metadata.name",id:"metadataname-1",level:5},{value:"metadata.publishDate",id:"metadatapublishdate-1",level:5},{value:"metadata.publisher",id:"metadatapublisher-1",level:5},{value:"metadata.publishLink",id:"metadatapublishlink-1",level:5},{value:"metadata.version",id:"metadataversion-1",level:5},{value:"nameProperty?",id:"nameproperty",level:5},{value:"precalc",id:"precalc-3",level:5},{value:"propertiesToKeep",id:"propertiestokeep",level:5},{value:"propertyFilter?",id:"propertyfilter-1",level:5},{value:"propertyFilter.property",id:"propertyfilterproperty-1",level:5},{value:"propertyFilter.values",id:"propertyfiltervalues-1",level:5},{value:"src",id:"src-1",level:5},{value:"getMetricGroup()",id:"getmetricgroup",level:3},{value:"Parameters",id:"parameters-11",level:4},{value:"Returns",id:"returns-21",level:4},{value:"classes",id:"classes",level:5},{value:"classKey?",id:"classkey",level:5},{value:"datasourceId?",id:"datasourceid-3",level:5},{value:"layerId?",id:"layerid-1",level:5},{value:"metricId",id:"metricid",level:5},{value:"objectiveId?",id:"objectiveid",level:5},{value:"type?",id:"type-1",level:5},{value:"getMetricGroupObjectives()",id:"getmetricgroupobjectives",level:3},{value:"Parameters",id:"parameters-12",level:4},{value:"Returns",id:"returns-22",level:4},{value:"getMetricGroupPercId()",id:"getmetricgrouppercid",level:3},{value:"Parameters",id:"parameters-13",level:4},{value:"Returns",id:"returns-23",level:4},{value:"getObjectiveById()",id:"getobjectivebyid",level:3},{value:"Parameters",id:"parameters-14",level:4},{value:"Returns",id:"returns-24",level:4},{value:"countsToward",id:"countstoward",level:5},{value:"objectiveId",id:"objectiveid-1",level:5},{value:"shortDesc",id:"shortdesc",level:5},{value:"target",id:"target",level:5},{value:"getPrecalcMetrics()",id:"getprecalcmetrics",level:3},{value:"Parameters",id:"parameters-15",level:4},{value:"Returns",id:"returns-25",level:4},{value:"getRasterDatasourceById()",id:"getrasterdatasourcebyid",level:3},{value:"Parameters",id:"parameters-16",level:4},{value:"Returns",id:"returns-26",level:4},{value:"band",id:"band-1",level:5},{value:"datasourceId",id:"datasourceid-4",level:5},{value:"formats",id:"formats-2",level:5},{value:"geo_type",id:"geo_type-2",level:5},{value:"measurementType",id:"measurementtype-1",level:5},{value:"metadata?",id:"metadata-2",level:5},{value:"metadata.description?",id:"metadatadescription-2",level:5},{value:"metadata.name",id:"metadataname-2",level:5},{value:"metadata.publishDate",id:"metadatapublishdate-2",level:5},{value:"metadata.publisher",id:"metadatapublisher-2",level:5},{value:"metadata.publishLink",id:"metadatapublishlink-2",level:5},{value:"metadata.version",id:"metadataversion-2",level:5},{value:"noDataValue?",id:"nodatavalue-1",level:5},{value:"precalc",id:"precalc-4",level:5},{value:"Implementation of",id:"implementation-of-3",level:4},{value:"getVectorDatasourceById()",id:"getvectordatasourcebyid",level:3},{value:"Parameters",id:"parameters-17",level:4},{value:"Returns",id:"returns-27",level:4},{value:"bboxFilter?",id:"bboxfilter-2",level:5},{value:"classKeys",id:"classkeys-1",level:5},{value:"datasourceId",id:"datasourceid-5",level:5},{value:"formats",id:"formats-3",level:5},{value:"geo_type",id:"geo_type-3",level:5},{value:"idProperty?",id:"idproperty-1",level:5},{value:"layerName?",id:"layername-1",level:5},{value:"metadata?",id:"metadata-3",level:5},{value:"metadata.description?",id:"metadatadescription-3",level:5},{value:"metadata.name",id:"metadataname-3",level:5},{value:"metadata.publishDate",id:"metadatapublishdate-3",level:5},{value:"metadata.publisher",id:"metadatapublisher-3",level:5},{value:"metadata.publishLink",id:"metadatapublishlink-3",level:5},{value:"metadata.version",id:"metadataversion-3",level:5},{value:"nameProperty?",id:"nameproperty-1",level:5},{value:"precalc",id:"precalc-5",level:5},{value:"propertyFilter?",id:"propertyfilter-2",level:5},{value:"propertyFilter.property",id:"propertyfilterproperty-2",level:5},{value:"propertyFilter.values",id:"propertyfiltervalues-2",level:5},{value:"Implementation of",id:"implementation-of-4",level:4}];function o(e){const r={a:"a",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",h5:"h5",header:"header",hr:"hr",li:"li",p:"p",pre:"pre",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,d.R)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(r.header,{children:(0,n.jsx)(r.h1,{id:"projectclientbase",children:"ProjectClientBase"})}),"\n",(0,n.jsx)(r.p,{children:"Client for reading project configuration/metadata."}),"\n",(0,n.jsx)(r.h2,{id:"implements",children:"Implements"}),"\n",(0,n.jsxs)(r.ul,{children:["\n",(0,n.jsx)(r.li,{children:(0,n.jsx)(r.a,{href:"/geoprocessing/docs/next/api/geoprocessing/interfaces/ProjectClientInterface",children:(0,n.jsx)(r.code,{children:"ProjectClientInterface"})})}),"\n"]}),"\n",(0,n.jsx)(r.h2,{id:"accessors",children:"Accessors"}),"\n",(0,n.jsx)(r.h3,{id:"basic",children:"basic"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"get basic(): object\n"})}),"\n",(0,n.jsx)(r.p,{children:"Returns typed config from project.json"}),"\n",(0,n.jsx)(r.h4,{id:"returns",children:"Returns"}),"\n",(0,n.jsx)(r.p,{children:(0,n.jsx)(r.code,{children:"object"})}),"\n",(0,n.jsx)(r.h5,{id:"bbox",children:"bbox"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"bbox: [number, number, number, number] | [number, number, number, number, number, number] = bboxSchema;\n"})}),"\n",(0,n.jsx)(r.h5,{id:"externallinks",children:"externalLinks"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"externalLinks: Record;\n"})}),"\n",(0,n.jsx)(r.h5,{id:"languages",children:"languages"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"languages: string[];\n"})}),"\n",(0,n.jsx)(r.h5,{id:"planningareaid",children:"planningAreaId"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"planningAreaId: string;\n"})}),"\n",(0,n.jsx)(r.h5,{id:"planningareaname",children:"planningAreaName"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"planningAreaName: string;\n"})}),"\n",(0,n.jsx)(r.h5,{id:"planningareatype",children:"planningAreaType"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:'planningAreaType: "eez" | "other" = planningAreaTypesSchema;\n'})}),"\n",(0,n.jsx)(r.hr,{}),"\n",(0,n.jsx)(r.h3,{id:"datasources",children:"datasources"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"get datasources(): (object | object | object & object | object & object)[]\n"})}),"\n",(0,n.jsx)(r.p,{children:"Returns typed config from datasources.json"}),"\n",(0,n.jsx)(r.h4,{id:"returns-1",children:"Returns"}),"\n",(0,n.jsxs)(r.p,{children:["(",(0,n.jsx)(r.code,{children:"object"})," | ",(0,n.jsx)(r.code,{children:"object"})," | ",(0,n.jsx)(r.code,{children:"object"})," & ",(0,n.jsx)(r.code,{children:"object"})," | ",(0,n.jsx)(r.code,{children:"object"})," & ",(0,n.jsx)(r.code,{children:"object"}),")[]"]}),"\n",(0,n.jsx)(r.hr,{}),"\n",(0,n.jsx)(r.h3,{id:"externaldatasources",children:"externalDatasources"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"get externalDatasources(): (object | object | object & object | object & object)[]\n"})}),"\n",(0,n.jsx)(r.p,{children:"Return external datasources from datasources.json"}),"\n",(0,n.jsx)(r.h4,{id:"returns-2",children:"Returns"}),"\n",(0,n.jsxs)(r.p,{children:["(",(0,n.jsx)(r.code,{children:"object"})," | ",(0,n.jsx)(r.code,{children:"object"})," | ",(0,n.jsx)(r.code,{children:"object"})," & ",(0,n.jsx)(r.code,{children:"object"})," | ",(0,n.jsx)(r.code,{children:"object"})," & ",(0,n.jsx)(r.code,{children:"object"}),")[]"]}),"\n",(0,n.jsx)(r.hr,{}),"\n",(0,n.jsx)(r.h3,{id:"geographies",children:"geographies"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"get geographies(): object[]\n"})}),"\n",(0,n.jsx)(r.p,{children:"Returns typed config from geographies.json"}),"\n",(0,n.jsx)(r.h4,{id:"returns-3",children:"Returns"}),"\n",(0,n.jsxs)(r.p,{children:[(0,n.jsx)(r.code,{children:"object"}),"[]"]}),"\n",(0,n.jsx)(r.hr,{}),"\n",(0,n.jsx)(r.h3,{id:"geoprocessing",children:"geoprocessing"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"get geoprocessing(): object\n"})}),"\n",(0,n.jsx)(r.p,{children:"Returns typed config from geoprocessing.json"}),"\n",(0,n.jsx)(r.h4,{id:"returns-4",children:"Returns"}),"\n",(0,n.jsx)(r.p,{children:(0,n.jsx)(r.code,{children:"object"})}),"\n",(0,n.jsx)(r.h5,{id:"author",children:"author"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"author: string;\n"})}),"\n",(0,n.jsx)(r.h5,{id:"clients",children:"clients"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"clients: object[];\n"})}),"\n",(0,n.jsx)(r.h5,{id:"geoprocessingfunctions",children:"geoprocessingFunctions"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"geoprocessingFunctions: string[];\n"})}),"\n",(0,n.jsx)(r.h5,{id:"organization",children:"organization?"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"optional organization: string;\n"})}),"\n",(0,n.jsx)(r.h5,{id:"preprocessingfunctions",children:"preprocessingFunctions"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"preprocessingFunctions: string[];\n"})}),"\n",(0,n.jsx)(r.h5,{id:"region",children:"region"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"region: string;\n"})}),"\n",(0,n.jsx)(r.hr,{}),"\n",(0,n.jsx)(r.h3,{id:"internaldatasources",children:"internalDatasources"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"get internalDatasources(): (object | object | object & object | object & object)[]\n"})}),"\n",(0,n.jsx)(r.p,{children:"Returns internal datasources from datasources.json"}),"\n",(0,n.jsx)(r.h4,{id:"returns-5",children:"Returns"}),"\n",(0,n.jsxs)(r.p,{children:["(",(0,n.jsx)(r.code,{children:"object"})," | ",(0,n.jsx)(r.code,{children:"object"})," | ",(0,n.jsx)(r.code,{children:"object"})," & ",(0,n.jsx)(r.code,{children:"object"})," | ",(0,n.jsx)(r.code,{children:"object"})," & ",(0,n.jsx)(r.code,{children:"object"}),")[]"]}),"\n",(0,n.jsx)(r.hr,{}),"\n",(0,n.jsx)(r.h3,{id:"metricgroups",children:"metricGroups"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"get metricGroups(): object[]\n"})}),"\n",(0,n.jsx)(r.p,{children:"Returns typed config from metrics.json"}),"\n",(0,n.jsx)(r.h4,{id:"returns-6",children:"Returns"}),"\n",(0,n.jsxs)(r.p,{children:[(0,n.jsx)(r.code,{children:"object"}),"[]"]}),"\n",(0,n.jsx)(r.hr,{}),"\n",(0,n.jsx)(r.h3,{id:"objectives",children:"objectives"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"get objectives(): object[]\n"})}),"\n",(0,n.jsx)(r.p,{children:"Returns typed config from objectives.json"}),"\n",(0,n.jsx)(r.h4,{id:"returns-7",children:"Returns"}),"\n",(0,n.jsxs)(r.p,{children:[(0,n.jsx)(r.code,{children:"object"}),"[]"]}),"\n",(0,n.jsx)(r.hr,{}),"\n",(0,n.jsx)(r.h3,{id:"package",children:"package"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"get package(): object\n"})}),"\n",(0,n.jsx)(r.p,{children:"Returns typed config from package.json"}),"\n",(0,n.jsx)(r.h4,{id:"returns-8",children:"Returns"}),"\n",(0,n.jsx)(r.p,{children:(0,n.jsx)(r.code,{children:"object"})}),"\n",(0,n.jsx)(r.h5,{id:"author-1",children:"author"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"author: string;\n"})}),"\n",(0,n.jsx)(r.h5,{id:"bugs",children:"bugs?"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"optional bugs: Record;\n"})}),"\n",(0,n.jsx)(r.h5,{id:"dependencies",children:"dependencies?"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"optional dependencies: Record;\n"})}),"\n",(0,n.jsx)(r.h5,{id:"description",children:"description"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"description: string;\n"})}),"\n",(0,n.jsx)(r.h5,{id:"devdependencies",children:"devDependencies?"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"optional devDependencies: Record;\n"})}),"\n",(0,n.jsx)(r.h5,{id:"homepage",children:"homepage?"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"optional homepage: string;\n"})}),"\n",(0,n.jsx)(r.h5,{id:"keywords",children:"keywords?"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"optional keywords: string[];\n"})}),"\n",(0,n.jsx)(r.h5,{id:"license",children:"license"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"license: string;\n"})}),"\n",(0,n.jsx)(r.h5,{id:"name",children:"name"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"name: string;\n"})}),"\n",(0,n.jsx)(r.h5,{id:"private",children:"private?"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"optional private: boolean;\n"})}),"\n",(0,n.jsx)(r.h5,{id:"repository",children:"repository?"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"optional repository: Record;\n"})}),"\n",(0,n.jsx)(r.h5,{id:"repositoryurl",children:"repositoryUrl?"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"optional repositoryUrl: string;\n"})}),"\n",(0,n.jsx)(r.h5,{id:"scripts",children:"scripts?"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"optional scripts: Record;\n"})}),"\n",(0,n.jsx)(r.h5,{id:"type",children:"type?"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"optional type: string;\n"})}),"\n",(0,n.jsx)(r.h5,{id:"version",children:"version"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"version: string;\n"})}),"\n",(0,n.jsx)(r.hr,{}),"\n",(0,n.jsx)(r.h3,{id:"precalc",children:"precalc"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"get precalc(): object[]\n"})}),"\n",(0,n.jsx)(r.p,{children:"Returns precalculated metrics from precalc.json"}),"\n",(0,n.jsx)(r.h4,{id:"returns-9",children:"Returns"}),"\n",(0,n.jsxs)(r.p,{children:[(0,n.jsx)(r.code,{children:"object"}),"[]"]}),"\n",(0,n.jsx)(r.h2,{id:"constructors",children:"Constructors"}),"\n",(0,n.jsx)(r.h3,{id:"new-projectclientbase",children:"new ProjectClientBase()"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"new ProjectClientBase(config): ProjectClientBase\n"})}),"\n",(0,n.jsx)(r.h4,{id:"parameters",children:"Parameters"}),"\n",(0,n.jsxs)(r.table,{children:[(0,n.jsx)(r.thead,{children:(0,n.jsxs)(r.tr,{children:[(0,n.jsx)(r.th,{children:"Parameter"}),(0,n.jsx)(r.th,{children:"Type"})]})}),(0,n.jsx)(r.tbody,{children:(0,n.jsxs)(r.tr,{children:[(0,n.jsx)(r.td,{children:(0,n.jsx)(r.code,{children:"config"})}),(0,n.jsx)(r.td,{children:(0,n.jsx)(r.a,{href:"/geoprocessing/docs/next/api/geoprocessing/interfaces/ProjectClientConfig",children:(0,n.jsx)(r.code,{children:"ProjectClientConfig"})})})]})})]}),"\n",(0,n.jsx)(r.h4,{id:"returns-10",children:"Returns"}),"\n",(0,n.jsx)(r.p,{children:(0,n.jsx)(r.a,{href:"/geoprocessing/docs/next/api/geoprocessing/classes/ProjectClientBase",children:(0,n.jsx)(r.code,{children:"ProjectClientBase"})})}),"\n",(0,n.jsx)(r.h2,{id:"methods",children:"Methods"}),"\n",(0,n.jsx)(r.h3,{id:"databucketurl",children:"dataBucketUrl()"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"dataBucketUrl(options): string\n"})}),"\n",(0,n.jsx)(r.p,{children:"Returns URL to dataset bucket for project. In test environment or if local parameter is true, will\nreturn local URL expected to serve up dist data folder"}),"\n",(0,n.jsx)(r.h4,{id:"parameters-1",children:"Parameters"}),"\n",(0,n.jsxs)(r.table,{children:[(0,n.jsx)(r.thead,{children:(0,n.jsxs)(r.tr,{children:[(0,n.jsx)(r.th,{children:"Parameter"}),(0,n.jsx)(r.th,{children:"Type"})]})}),(0,n.jsx)(r.tbody,{children:(0,n.jsxs)(r.tr,{children:[(0,n.jsx)(r.td,{children:(0,n.jsx)(r.code,{children:"options"})}),(0,n.jsx)(r.td,{children:(0,n.jsx)(r.code,{children:"DataBucketUrlOptions"})})]})})]}),"\n",(0,n.jsx)(r.h4,{id:"returns-11",children:"Returns"}),"\n",(0,n.jsx)(r.p,{children:(0,n.jsx)(r.code,{children:"string"})}),"\n",(0,n.jsx)(r.h4,{id:"implementation-of",children:"Implementation of"}),"\n",(0,n.jsxs)(r.p,{children:[(0,n.jsx)(r.a,{href:"/geoprocessing/docs/next/api/geoprocessing/interfaces/ProjectClientInterface",children:(0,n.jsx)(r.code,{children:"ProjectClientInterface"})}),".",(0,n.jsx)(r.a,{href:"/geoprocessing/docs/next/api/geoprocessing/interfaces/ProjectClientInterface#databucketurl",children:(0,n.jsx)(r.code,{children:"dataBucketUrl"})})]}),"\n",(0,n.jsx)(r.hr,{}),"\n",(0,n.jsx)(r.h3,{id:"getdatasourcebyid",children:"getDatasourceById()"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"getDatasourceById(datasourceId): object | object | object & object | object & object\n"})}),"\n",(0,n.jsx)(r.p,{children:"Returns Datasource given datasourceId"}),"\n",(0,n.jsx)(r.h4,{id:"parameters-2",children:"Parameters"}),"\n",(0,n.jsxs)(r.table,{children:[(0,n.jsx)(r.thead,{children:(0,n.jsxs)(r.tr,{children:[(0,n.jsx)(r.th,{children:"Parameter"}),(0,n.jsx)(r.th,{children:"Type"})]})}),(0,n.jsx)(r.tbody,{children:(0,n.jsxs)(r.tr,{children:[(0,n.jsx)(r.td,{children:(0,n.jsx)(r.code,{children:"datasourceId"})}),(0,n.jsx)(r.td,{children:(0,n.jsx)(r.code,{children:"string"})})]})})]}),"\n",(0,n.jsx)(r.h4,{id:"returns-12",children:"Returns"}),"\n",(0,n.jsxs)(r.p,{children:[(0,n.jsx)(r.code,{children:"object"})," | ",(0,n.jsx)(r.code,{children:"object"})," | ",(0,n.jsx)(r.code,{children:"object"})," & ",(0,n.jsx)(r.code,{children:"object"})," | ",(0,n.jsx)(r.code,{children:"object"})," & ",(0,n.jsx)(r.code,{children:"object"})]}),"\n",(0,n.jsx)(r.h4,{id:"implementation-of-1",children:"Implementation of"}),"\n",(0,n.jsxs)(r.p,{children:[(0,n.jsx)(r.a,{href:"/geoprocessing/docs/next/api/geoprocessing/interfaces/ProjectClientInterface",children:(0,n.jsx)(r.code,{children:"ProjectClientInterface"})}),".",(0,n.jsx)(r.a,{href:"/geoprocessing/docs/next/api/geoprocessing/interfaces/ProjectClientInterface#getdatasourcebyid",children:(0,n.jsx)(r.code,{children:"getDatasourceById"})})]}),"\n",(0,n.jsx)(r.hr,{}),"\n",(0,n.jsx)(r.h3,{id:"getdatasourceurl",children:"getDatasourceUrl()"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"getDatasourceUrl(ds, options): string\n"})}),"\n",(0,n.jsx)(r.h4,{id:"parameters-3",children:"Parameters"}),"\n",(0,n.jsxs)(r.table,{children:[(0,n.jsx)(r.thead,{children:(0,n.jsxs)(r.tr,{children:[(0,n.jsx)(r.th,{children:"Parameter"}),(0,n.jsx)(r.th,{children:"Type"})]})}),(0,n.jsxs)(r.tbody,{children:[(0,n.jsxs)(r.tr,{children:[(0,n.jsx)(r.td,{children:(0,n.jsx)(r.code,{children:"ds"})}),(0,n.jsxs)(r.td,{children:["| ",(0,n.jsx)(r.code,{children:"object"})," | ",(0,n.jsx)(r.code,{children:"object"})," | ",(0,n.jsx)(r.code,{children:"object"})," | ",(0,n.jsx)(r.code,{children:"object"})," | ",(0,n.jsx)(r.code,{children:"object"})," & ",(0,n.jsx)(r.code,{children:"object"})," | ",(0,n.jsx)(r.code,{children:"object"})," & ",(0,n.jsx)(r.code,{children:"object"})," | ",(0,n.jsx)(r.a,{href:"/geoprocessing/docs/next/api/geoprocessing/type-aliases/ImportVectorDatasourceConfig",children:(0,n.jsx)(r.code,{children:"ImportVectorDatasourceConfig"})})," | ",(0,n.jsx)(r.a,{href:"/geoprocessing/docs/next/api/geoprocessing/type-aliases/ImportRasterDatasourceConfig",children:(0,n.jsx)(r.code,{children:"ImportRasterDatasourceConfig"})})]})]}),(0,n.jsxs)(r.tr,{children:[(0,n.jsx)(r.td,{children:(0,n.jsx)(r.code,{children:"options"})}),(0,n.jsx)(r.td,{children:(0,n.jsx)(r.code,{children:"object"})})]}),(0,n.jsxs)(r.tr,{children:[(0,n.jsxs)(r.td,{children:[(0,n.jsx)(r.code,{children:"options.format"}),"?"]}),(0,n.jsxs)(r.td,{children:[(0,n.jsx)(r.code,{children:'"fgb"'})," | ",(0,n.jsx)(r.code,{children:'"json"'})," | ",(0,n.jsx)(r.code,{children:'"tif"'})," | ",(0,n.jsx)(r.code,{children:'"subdivided"'})]})]}),(0,n.jsxs)(r.tr,{children:[(0,n.jsxs)(r.td,{children:[(0,n.jsx)(r.code,{children:"options.local"}),"?"]}),(0,n.jsx)(r.td,{children:(0,n.jsx)(r.code,{children:"boolean"})})]}),(0,n.jsxs)(r.tr,{children:[(0,n.jsxs)(r.td,{children:[(0,n.jsx)(r.code,{children:"options.port"}),"?"]}),(0,n.jsx)(r.td,{children:(0,n.jsx)(r.code,{children:"number"})})]}),(0,n.jsxs)(r.tr,{children:[(0,n.jsxs)(r.td,{children:[(0,n.jsx)(r.code,{children:"options.subPath"}),"?"]}),(0,n.jsx)(r.td,{children:(0,n.jsx)(r.code,{children:"string"})})]})]})]}),"\n",(0,n.jsx)(r.h4,{id:"returns-13",children:"Returns"}),"\n",(0,n.jsx)(r.p,{children:(0,n.jsx)(r.code,{children:"string"})}),"\n",(0,n.jsx)(r.h4,{id:"implementation-of-2",children:"Implementation of"}),"\n",(0,n.jsxs)(r.p,{children:[(0,n.jsx)(r.a,{href:"/geoprocessing/docs/next/api/geoprocessing/interfaces/ProjectClientInterface",children:(0,n.jsx)(r.code,{children:"ProjectClientInterface"})}),".",(0,n.jsx)(r.a,{href:"/geoprocessing/docs/next/api/geoprocessing/interfaces/ProjectClientInterface#getdatasourceurl",children:(0,n.jsx)(r.code,{children:"getDatasourceUrl"})})]}),"\n",(0,n.jsx)(r.hr,{}),"\n",(0,n.jsx)(r.h3,{id:"getexternalrasterdatasourcebyid",children:"getExternalRasterDatasourceById()"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"getExternalRasterDatasourceById(datasourceId): object & object\n"})}),"\n",(0,n.jsx)(r.p,{children:"Returns ExternalRasterDatasource given datasourceId, throws if not found"}),"\n",(0,n.jsx)(r.h4,{id:"parameters-4",children:"Parameters"}),"\n",(0,n.jsxs)(r.table,{children:[(0,n.jsx)(r.thead,{children:(0,n.jsxs)(r.tr,{children:[(0,n.jsx)(r.th,{children:"Parameter"}),(0,n.jsx)(r.th,{children:"Type"})]})}),(0,n.jsx)(r.tbody,{children:(0,n.jsxs)(r.tr,{children:[(0,n.jsx)(r.td,{children:(0,n.jsx)(r.code,{children:"datasourceId"})}),(0,n.jsx)(r.td,{children:(0,n.jsx)(r.code,{children:"string"})})]})})]}),"\n",(0,n.jsx)(r.h4,{id:"returns-14",children:"Returns"}),"\n",(0,n.jsxs)(r.p,{children:[(0,n.jsx)(r.code,{children:"object"})," & ",(0,n.jsx)(r.code,{children:"object"})]}),"\n",(0,n.jsx)(r.hr,{}),"\n",(0,n.jsx)(r.h3,{id:"getexternalvectordatasourcebyid",children:"getExternalVectorDatasourceById()"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"getExternalVectorDatasourceById(datasourceId): object & object\n"})}),"\n",(0,n.jsx)(r.p,{children:"Returns ExternalVectorDatasource given datasourceId, throws if not found"}),"\n",(0,n.jsx)(r.h4,{id:"parameters-5",children:"Parameters"}),"\n",(0,n.jsxs)(r.table,{children:[(0,n.jsx)(r.thead,{children:(0,n.jsxs)(r.tr,{children:[(0,n.jsx)(r.th,{children:"Parameter"}),(0,n.jsx)(r.th,{children:"Type"})]})}),(0,n.jsx)(r.tbody,{children:(0,n.jsxs)(r.tr,{children:[(0,n.jsx)(r.td,{children:(0,n.jsx)(r.code,{children:"datasourceId"})}),(0,n.jsx)(r.td,{children:(0,n.jsx)(r.code,{children:"string"})})]})})]}),"\n",(0,n.jsx)(r.h4,{id:"returns-15",children:"Returns"}),"\n",(0,n.jsxs)(r.p,{children:[(0,n.jsx)(r.code,{children:"object"})," & ",(0,n.jsx)(r.code,{children:"object"})]}),"\n",(0,n.jsx)(r.hr,{}),"\n",(0,n.jsx)(r.h3,{id:"getfgbpath",children:"getFgbPath()"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"getFgbPath(ds): string\n"})}),"\n",(0,n.jsx)(r.h4,{id:"parameters-6",children:"Parameters"}),"\n",(0,n.jsxs)(r.table,{children:[(0,n.jsx)(r.thead,{children:(0,n.jsxs)(r.tr,{children:[(0,n.jsx)(r.th,{children:"Parameter"}),(0,n.jsx)(r.th,{children:"Type"})]})}),(0,n.jsx)(r.tbody,{children:(0,n.jsxs)(r.tr,{children:[(0,n.jsx)(r.td,{children:(0,n.jsx)(r.code,{children:"ds"})}),(0,n.jsxs)(r.td,{children:["| ",(0,n.jsx)(r.code,{children:"object"})," | ",(0,n.jsx)(r.code,{children:"object"})," | ",(0,n.jsx)(r.code,{children:"object"})," | ",(0,n.jsx)(r.code,{children:"object"})," | ",(0,n.jsx)(r.code,{children:"object"})," & ",(0,n.jsx)(r.code,{children:"object"})," | ",(0,n.jsx)(r.code,{children:"object"})," & ",(0,n.jsx)(r.code,{children:"object"})," | ",(0,n.jsx)(r.a,{href:"/geoprocessing/docs/next/api/geoprocessing/type-aliases/ImportVectorDatasourceConfig",children:(0,n.jsx)(r.code,{children:"ImportVectorDatasourceConfig"})})," | ",(0,n.jsx)(r.a,{href:"/geoprocessing/docs/next/api/geoprocessing/type-aliases/ImportRasterDatasourceConfig",children:(0,n.jsx)(r.code,{children:"ImportRasterDatasourceConfig"})})]})]})})]}),"\n",(0,n.jsx)(r.h4,{id:"returns-16",children:"Returns"}),"\n",(0,n.jsx)(r.p,{children:(0,n.jsx)(r.code,{children:"string"})}),"\n",(0,n.jsx)(r.hr,{}),"\n",(0,n.jsx)(r.h3,{id:"getgeographybygroup",children:"getGeographyByGroup()"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"getGeographyByGroup(group): object[]\n"})}),"\n",(0,n.jsx)(r.h4,{id:"parameters-7",children:"Parameters"}),"\n",(0,n.jsxs)(r.table,{children:[(0,n.jsx)(r.thead,{children:(0,n.jsxs)(r.tr,{children:[(0,n.jsx)(r.th,{children:"Parameter"}),(0,n.jsx)(r.th,{children:"Type"}),(0,n.jsx)(r.th,{children:"Description"})]})}),(0,n.jsx)(r.tbody,{children:(0,n.jsxs)(r.tr,{children:[(0,n.jsx)(r.td,{children:(0,n.jsx)(r.code,{children:"group"})}),(0,n.jsx)(r.td,{children:(0,n.jsx)(r.code,{children:"string"})}),(0,n.jsx)(r.td,{children:"the name of the geography group"})]})})]}),"\n",(0,n.jsx)(r.h4,{id:"returns-17",children:"Returns"}),"\n",(0,n.jsxs)(r.p,{children:[(0,n.jsx)(r.code,{children:"object"}),"[]"]}),"\n",(0,n.jsx)(r.p,{children:"geographies with group name assigned"}),"\n",(0,n.jsx)(r.hr,{}),"\n",(0,n.jsx)(r.h3,{id:"getgeographybyid",children:"getGeographyById()"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"getGeographyById(geographyId?, options?): object\n"})}),"\n",(0,n.jsx)(r.p,{children:"Returns project geography matching the provided ID, with optional fallback geography using fallbackGroup parameter"}),"\n",(0,n.jsx)(r.h4,{id:"parameters-8",children:"Parameters"}),"\n",(0,n.jsxs)(r.table,{children:[(0,n.jsx)(r.thead,{children:(0,n.jsxs)(r.tr,{children:[(0,n.jsx)(r.th,{children:"Parameter"}),(0,n.jsx)(r.th,{children:"Type"}),(0,n.jsx)(r.th,{children:"Description"})]})}),(0,n.jsxs)(r.tbody,{children:[(0,n.jsxs)(r.tr,{children:[(0,n.jsxs)(r.td,{children:[(0,n.jsx)(r.code,{children:"geographyId"}),"?"]}),(0,n.jsx)(r.td,{children:(0,n.jsx)(r.code,{children:"string"})}),(0,n.jsx)(r.td,{children:"The geography ID to search for"})]}),(0,n.jsxs)(r.tr,{children:[(0,n.jsxs)(r.td,{children:[(0,n.jsx)(r.code,{children:"options"}),"?"]}),(0,n.jsx)(r.td,{children:(0,n.jsx)(r.code,{children:"object"})}),(0,n.jsx)(r.td,{})]}),(0,n.jsxs)(r.tr,{children:[(0,n.jsxs)(r.td,{children:[(0,n.jsx)(r.code,{children:"options.fallbackGroup"}),"?"]}),(0,n.jsx)(r.td,{children:(0,n.jsx)(r.code,{children:"string"})}),(0,n.jsx)(r.td,{children:"The default group name to lookup if no geographyId is provided. expects there is only one geography with that group name"})]})]})]}),"\n",(0,n.jsx)(r.h4,{id:"returns-18",children:"Returns"}),"\n",(0,n.jsx)(r.p,{children:(0,n.jsx)(r.code,{children:"object"})}),"\n",(0,n.jsx)(r.h5,{id:"bboxfilter",children:"bboxFilter?"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"optional bboxFilter: [number, number, number, number] | [number, number, number, number, number, number];\n"})}),"\n",(0,n.jsx)(r.p,{children:"Optional, constrain geography to only features within a bounding box"}),"\n",(0,n.jsx)(r.h5,{id:"datasourceid",children:"datasourceId"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"datasourceId: string;\n"})}),"\n",(0,n.jsx)(r.p,{children:"ID of datasource containing geography boundary"}),"\n",(0,n.jsx)(r.h5,{id:"display",children:"display"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"display: string;\n"})}),"\n",(0,n.jsx)(r.p,{children:"Display name for the geography"}),"\n",(0,n.jsx)(r.h5,{id:"geographyid",children:"geographyId"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"geographyId: string;\n"})}),"\n",(0,n.jsx)(r.p,{children:"Unique name of the geography"}),"\n",(0,n.jsx)(r.h5,{id:"groups",children:"groups?"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"optional groups: string[];\n"})}),"\n",(0,n.jsx)(r.p,{children:"Optional, sub-geography identifier. Useful when you have multiple groupings/levels of geographies and want to select for a specific group"}),"\n",(0,n.jsx)(r.h5,{id:"layerid",children:"layerId?"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"optional layerId: string;\n"})}),"\n",(0,n.jsx)(r.p,{children:"Optional, defines external layer for visualizing the geography"}),"\n",(0,n.jsx)(r.h5,{id:"precalc-1",children:"precalc"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"precalc: boolean;\n"})}),"\n",(0,n.jsx)(r.p,{children:"Optional, defines whether or not precalc should be run for this geography"}),"\n",(0,n.jsx)(r.h5,{id:"propertyfilter",children:"propertyFilter?"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"optional propertyFilter: object;\n"})}),"\n",(0,n.jsx)(r.p,{children:"Required if external datasource used, defines filter to constrain geography features, matches feature property having one or more specific values"}),"\n",(0,n.jsx)(r.h5,{id:"propertyfilterproperty",children:"propertyFilter.property"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"property: string;\n"})}),"\n",(0,n.jsx)(r.h5,{id:"propertyfiltervalues",children:"propertyFilter.values"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"values: (string | number)[];\n"})}),"\n",(0,n.jsx)(r.h4,{id:"throws",children:"Throws"}),"\n",(0,n.jsx)(r.p,{children:"if geography does not exist"}),"\n",(0,n.jsx)(r.hr,{}),"\n",(0,n.jsx)(r.h3,{id:"getinternalrasterdatasourcebyid",children:"getInternalRasterDatasourceById()"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"getInternalRasterDatasourceById(datasourceId): object\n"})}),"\n",(0,n.jsx)(r.p,{children:"Returns InternalRasterDatasource given datasourceId, throws if not found"}),"\n",(0,n.jsx)(r.h4,{id:"parameters-9",children:"Parameters"}),"\n",(0,n.jsxs)(r.table,{children:[(0,n.jsx)(r.thead,{children:(0,n.jsxs)(r.tr,{children:[(0,n.jsx)(r.th,{children:"Parameter"}),(0,n.jsx)(r.th,{children:"Type"})]})}),(0,n.jsx)(r.tbody,{children:(0,n.jsxs)(r.tr,{children:[(0,n.jsx)(r.td,{children:(0,n.jsx)(r.code,{children:"datasourceId"})}),(0,n.jsx)(r.td,{children:(0,n.jsx)(r.code,{children:"string"})})]})})]}),"\n",(0,n.jsx)(r.h4,{id:"returns-19",children:"Returns"}),"\n",(0,n.jsx)(r.p,{children:(0,n.jsx)(r.code,{children:"object"})}),"\n",(0,n.jsx)(r.h5,{id:"band",children:"band"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"band: number;\n"})}),"\n",(0,n.jsx)(r.p,{children:"Import - band within raster datasource to extract"}),"\n",(0,n.jsx)(r.h5,{id:"created",children:"created"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"created: string;\n"})}),"\n",(0,n.jsx)(r.p,{children:"Datasource creation timestamp"}),"\n",(0,n.jsx)(r.h5,{id:"datasourceid-1",children:"datasourceId"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"datasourceId: string;\n"})}),"\n",(0,n.jsx)(r.p,{children:"Unique id of datasource in project"}),"\n",(0,n.jsx)(r.h5,{id:"formats",children:"formats"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:'formats: ("fgb" | "json" | "tif" | "subdivided")[];\n'})}),"\n",(0,n.jsx)(r.p,{children:"Available formats"}),"\n",(0,n.jsx)(r.h5,{id:"geo_type",children:"geo_type"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:'geo_type: "vector" | "raster" = geoTypesSchema;\n'})}),"\n",(0,n.jsx)(r.p,{children:"basic geospatial type"}),"\n",(0,n.jsx)(r.h5,{id:"lastupdated",children:"lastUpdated"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"lastUpdated: string;\n"})}),"\n",(0,n.jsx)(r.p,{children:"Datasource updated timestamp"}),"\n",(0,n.jsx)(r.h5,{id:"measurementtype",children:"measurementType"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:'measurementType: "quantitative" | "categorical" = measurementTypesSchema;\n'})}),"\n",(0,n.jsx)(r.p,{children:"Type of measurements that the raster values represent"}),"\n",(0,n.jsx)(r.h5,{id:"metadata",children:"metadata?"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"optional metadata: object;\n"})}),"\n",(0,n.jsx)(r.h5,{id:"metadatadescription",children:"metadata.description?"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"optional description: string;\n"})}),"\n",(0,n.jsx)(r.p,{children:"Description of datasource"}),"\n",(0,n.jsx)(r.h5,{id:"metadataname",children:"metadata.name"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"name: string;\n"})}),"\n",(0,n.jsx)(r.p,{children:"Human-readable name of datasource"}),"\n",(0,n.jsx)(r.h5,{id:"metadatapublishdate",children:"metadata.publishDate"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"publishDate: string;\n"})}),"\n",(0,n.jsx)(r.p,{children:"ISO 8601 publish date"}),"\n",(0,n.jsx)(r.h5,{id:"metadatapublisher",children:"metadata.publisher"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"publisher: string;\n"})}),"\n",(0,n.jsx)(r.p,{children:"Publisher name"}),"\n",(0,n.jsx)(r.h5,{id:"metadatapublishlink",children:"metadata.publishLink"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"publishLink: string;\n"})}),"\n",(0,n.jsx)(r.p,{children:"Public URL to access published data"}),"\n",(0,n.jsx)(r.h5,{id:"metadataversion",children:"metadata.version"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"version: string;\n"})}),"\n",(0,n.jsx)(r.p,{children:"Publisher-provided version number or ISO 8601 date"}),"\n",(0,n.jsx)(r.h5,{id:"nodatavalue",children:"noDataValue?"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"optional noDataValue: number;\n"})}),"\n",(0,n.jsx)(r.p,{children:"Nodata value"}),"\n",(0,n.jsx)(r.h5,{id:"precalc-2",children:"precalc"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"precalc: boolean;\n"})}),"\n",(0,n.jsx)(r.p,{children:"Optional, defines whether or not precalc should be run for this datasource"}),"\n",(0,n.jsx)(r.h5,{id:"src",children:"src"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"src: string;\n"})}),"\n",(0,n.jsx)(r.p,{children:"Import - Path to source data, with filename"}),"\n",(0,n.jsx)(r.hr,{}),"\n",(0,n.jsx)(r.h3,{id:"getinternalvectordatasourcebyid",children:"getInternalVectorDatasourceById()"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"getInternalVectorDatasourceById(datasourceId): object\n"})}),"\n",(0,n.jsx)(r.p,{children:"Returns InternalVectorDatasource given datasourceId, throws if not found"}),"\n",(0,n.jsx)(r.h4,{id:"parameters-10",children:"Parameters"}),"\n",(0,n.jsxs)(r.table,{children:[(0,n.jsx)(r.thead,{children:(0,n.jsxs)(r.tr,{children:[(0,n.jsx)(r.th,{children:"Parameter"}),(0,n.jsx)(r.th,{children:"Type"})]})}),(0,n.jsx)(r.tbody,{children:(0,n.jsxs)(r.tr,{children:[(0,n.jsx)(r.td,{children:(0,n.jsx)(r.code,{children:"datasourceId"})}),(0,n.jsx)(r.td,{children:(0,n.jsx)(r.code,{children:"string"})})]})})]}),"\n",(0,n.jsx)(r.h4,{id:"returns-20",children:"Returns"}),"\n",(0,n.jsx)(r.p,{children:(0,n.jsx)(r.code,{children:"object"})}),"\n",(0,n.jsx)(r.h5,{id:"bboxfilter-1",children:"bboxFilter?"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"optional bboxFilter: [number, number, number, number] | [number, number, number, number, number, number];\n"})}),"\n",(0,n.jsx)(r.p,{children:"Optional, constrain datasource to smaller bbox"}),"\n",(0,n.jsx)(r.h5,{id:"classkeys",children:"classKeys"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"classKeys: string[];\n"})}),"\n",(0,n.jsx)(r.p,{children:"keys to generate classes for. Vector - property names"}),"\n",(0,n.jsx)(r.h5,{id:"created-1",children:"created"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"created: string;\n"})}),"\n",(0,n.jsx)(r.p,{children:"Datasource creation timestamp"}),"\n",(0,n.jsx)(r.h5,{id:"datasourceid-2",children:"datasourceId"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"datasourceId: string;\n"})}),"\n",(0,n.jsx)(r.p,{children:"Unique id of datasource in project"}),"\n",(0,n.jsx)(r.h5,{id:"explodemulti",children:"explodeMulti"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"explodeMulti: boolean;\n"})}),"\n",(0,n.jsx)(r.p,{children:"Import - Whether to explode multi-geometries into single e.g. MultiPolygon to Polygon. Defaults to true"}),"\n",(0,n.jsx)(r.h5,{id:"formats-1",children:"formats"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:'formats: ("fgb" | "json" | "tif" | "subdivided")[];\n'})}),"\n",(0,n.jsx)(r.p,{children:"Available formats"}),"\n",(0,n.jsx)(r.h5,{id:"geo_type-1",children:"geo_type"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:'geo_type: "vector" | "raster" = geoTypesSchema;\n'})}),"\n",(0,n.jsx)(r.p,{children:"basic geospatial type"}),"\n",(0,n.jsx)(r.h5,{id:"idproperty",children:"idProperty?"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"optional idProperty: string;\n"})}),"\n",(0,n.jsx)(r.p,{children:"Optional, name of property containing unique ID value for each vector feature"}),"\n",(0,n.jsx)(r.h5,{id:"lastupdated-1",children:"lastUpdated"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"lastUpdated: string;\n"})}),"\n",(0,n.jsx)(r.p,{children:"Datasource updated timestamp"}),"\n",(0,n.jsx)(r.h5,{id:"layername",children:"layerName?"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"optional layerName: string;\n"})}),"\n",(0,n.jsx)(r.p,{children:"Import - Name of layer within vector datasource to extract"}),"\n",(0,n.jsx)(r.h5,{id:"metadata-1",children:"metadata?"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"optional metadata: object;\n"})}),"\n",(0,n.jsx)(r.h5,{id:"metadatadescription-1",children:"metadata.description?"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"optional description: string;\n"})}),"\n",(0,n.jsx)(r.p,{children:"Description of datasource"}),"\n",(0,n.jsx)(r.h5,{id:"metadataname-1",children:"metadata.name"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"name: string;\n"})}),"\n",(0,n.jsx)(r.p,{children:"Human-readable name of datasource"}),"\n",(0,n.jsx)(r.h5,{id:"metadatapublishdate-1",children:"metadata.publishDate"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"publishDate: string;\n"})}),"\n",(0,n.jsx)(r.p,{children:"ISO 8601 publish date"}),"\n",(0,n.jsx)(r.h5,{id:"metadatapublisher-1",children:"metadata.publisher"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"publisher: string;\n"})}),"\n",(0,n.jsx)(r.p,{children:"Publisher name"}),"\n",(0,n.jsx)(r.h5,{id:"metadatapublishlink-1",children:"metadata.publishLink"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"publishLink: string;\n"})}),"\n",(0,n.jsx)(r.p,{children:"Public URL to access published data"}),"\n",(0,n.jsx)(r.h5,{id:"metadataversion-1",children:"metadata.version"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"version: string;\n"})}),"\n",(0,n.jsx)(r.p,{children:"Publisher-provided version number or ISO 8601 date"}),"\n",(0,n.jsx)(r.h5,{id:"nameproperty",children:"nameProperty?"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"optional nameProperty: string;\n"})}),"\n",(0,n.jsx)(r.p,{children:"Optional, name of property containing name for each vector feature"}),"\n",(0,n.jsx)(r.h5,{id:"precalc-3",children:"precalc"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"precalc: boolean;\n"})}),"\n",(0,n.jsx)(r.p,{children:"Optional, defines whether or not precalc should be run for this datasource"}),"\n",(0,n.jsx)(r.h5,{id:"propertiestokeep",children:"propertiesToKeep"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"propertiesToKeep: string[];\n"})}),"\n",(0,n.jsx)(r.p,{children:"Import - What to keep in final dataset. Vector - properties, all else removed"}),"\n",(0,n.jsx)(r.h5,{id:"propertyfilter-1",children:"propertyFilter?"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"optional propertyFilter: object;\n"})}),"\n",(0,n.jsx)(r.p,{children:"Optional, constrain datasource features by property having one or more specific values"}),"\n",(0,n.jsx)(r.h5,{id:"propertyfilterproperty-1",children:"propertyFilter.property"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"property: string;\n"})}),"\n",(0,n.jsx)(r.h5,{id:"propertyfiltervalues-1",children:"propertyFilter.values"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"values: (string | number)[];\n"})}),"\n",(0,n.jsx)(r.h5,{id:"src-1",children:"src"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"src: string;\n"})}),"\n",(0,n.jsx)(r.p,{children:"Import - Path to source data, with filename"}),"\n",(0,n.jsx)(r.hr,{}),"\n",(0,n.jsx)(r.h3,{id:"getmetricgroup",children:"getMetricGroup()"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"getMetricGroup(metricId, t?): object\n"})}),"\n",(0,n.jsx)(r.p,{children:"Returns MetricGroup given metricId, optional translating display name, given i18n t function"}),"\n",(0,n.jsx)(r.h4,{id:"parameters-11",children:"Parameters"}),"\n",(0,n.jsxs)(r.table,{children:[(0,n.jsx)(r.thead,{children:(0,n.jsxs)(r.tr,{children:[(0,n.jsx)(r.th,{children:"Parameter"}),(0,n.jsx)(r.th,{children:"Type"})]})}),(0,n.jsxs)(r.tbody,{children:[(0,n.jsxs)(r.tr,{children:[(0,n.jsx)(r.td,{children:(0,n.jsx)(r.code,{children:"metricId"})}),(0,n.jsx)(r.td,{children:(0,n.jsx)(r.code,{children:"string"})})]}),(0,n.jsxs)(r.tr,{children:[(0,n.jsxs)(r.td,{children:[(0,n.jsx)(r.code,{children:"t"}),"?"]}),(0,n.jsxs)(r.td,{children:[(0,n.jsx)(r.code,{children:"TFunction"}),"<",(0,n.jsx)(r.code,{children:'"translation"'}),", ",(0,n.jsx)(r.code,{children:"undefined"}),">"]})]})]})]}),"\n",(0,n.jsx)(r.h4,{id:"returns-21",children:"Returns"}),"\n",(0,n.jsx)(r.p,{children:(0,n.jsx)(r.code,{children:"object"})}),"\n",(0,n.jsx)(r.h5,{id:"classes",children:"classes"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"classes: object[];\n"})}),"\n",(0,n.jsx)(r.p,{children:"data classes used by group"}),"\n",(0,n.jsx)(r.h5,{id:"classkey",children:"classKey?"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"optional classKey: string;\n"})}),"\n",(0,n.jsx)(r.p,{children:"Optional datasource class key used to source classIds"}),"\n",(0,n.jsx)(r.h5,{id:"datasourceid-3",children:"datasourceId?"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"optional datasourceId: string;\n"})}),"\n",(0,n.jsx)(r.p,{children:"Datasource to generate metrics from"}),"\n",(0,n.jsx)(r.h5,{id:"layerid-1",children:"layerId?"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"optional layerId: string;\n"})}),"\n",(0,n.jsx)(r.p,{children:"Optional ID of map layer associated with this metric"}),"\n",(0,n.jsx)(r.h5,{id:"metricid",children:"metricId"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"metricId: string;\n"})}),"\n",(0,n.jsx)(r.p,{children:"Unique id of metric in project"}),"\n",(0,n.jsx)(r.h5,{id:"objectiveid",children:"objectiveId?"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"optional objectiveId: string;\n"})}),"\n",(0,n.jsx)(r.p,{children:"group level objective, applies to all classes"}),"\n",(0,n.jsx)(r.h5,{id:"type-1",children:"type?"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"optional type: string;\n"})}),"\n",(0,n.jsx)(r.p,{children:"unique identifier of what the metric represents, such as its type and method for calculation - e.g. areaOverlap, valueOverlap. To be defined by the user"}),"\n",(0,n.jsx)(r.hr,{}),"\n",(0,n.jsx)(r.h3,{id:"getmetricgroupobjectives",children:"getMetricGroupObjectives()"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"getMetricGroupObjectives(metricGroup, t?): object[]\n"})}),"\n",(0,n.jsx)(r.p,{children:"Returns all Objectives for MetricGroup, optionally translating short description, given i18n t function"}),"\n",(0,n.jsx)(r.h4,{id:"parameters-12",children:"Parameters"}),"\n",(0,n.jsxs)(r.table,{children:[(0,n.jsx)(r.thead,{children:(0,n.jsxs)(r.tr,{children:[(0,n.jsx)(r.th,{children:"Parameter"}),(0,n.jsx)(r.th,{children:"Type"}),(0,n.jsx)(r.th,{children:"Description"})]})}),(0,n.jsxs)(r.tbody,{children:[(0,n.jsxs)(r.tr,{children:[(0,n.jsx)(r.td,{children:(0,n.jsx)(r.code,{children:"metricGroup"})}),(0,n.jsx)(r.td,{children:(0,n.jsx)(r.code,{children:"object"})}),(0,n.jsx)(r.td,{children:"-"})]}),(0,n.jsxs)(r.tr,{children:[(0,n.jsx)(r.td,{children:(0,n.jsx)(r.code,{children:"metricGroup.classes"})}),(0,n.jsxs)(r.td,{children:[(0,n.jsx)(r.code,{children:"object"}),"[]"]}),(0,n.jsx)(r.td,{children:"data classes used by group"})]}),(0,n.jsxs)(r.tr,{children:[(0,n.jsxs)(r.td,{children:[(0,n.jsx)(r.code,{children:"metricGroup.classKey"}),"?"]}),(0,n.jsx)(r.td,{children:(0,n.jsx)(r.code,{children:"string"})}),(0,n.jsx)(r.td,{children:"Optional datasource class key used to source classIds"})]}),(0,n.jsxs)(r.tr,{children:[(0,n.jsxs)(r.td,{children:[(0,n.jsx)(r.code,{children:"metricGroup.datasourceId"}),"?"]}),(0,n.jsx)(r.td,{children:(0,n.jsx)(r.code,{children:"string"})}),(0,n.jsx)(r.td,{children:"Datasource to generate metrics from"})]}),(0,n.jsxs)(r.tr,{children:[(0,n.jsxs)(r.td,{children:[(0,n.jsx)(r.code,{children:"metricGroup.layerId"}),"?"]}),(0,n.jsx)(r.td,{children:(0,n.jsx)(r.code,{children:"string"})}),(0,n.jsx)(r.td,{children:"Optional ID of map layer associated with this metric"})]}),(0,n.jsxs)(r.tr,{children:[(0,n.jsxs)(r.td,{children:[(0,n.jsx)(r.code,{children:"metricGroup.metricId"}),"?"]}),(0,n.jsx)(r.td,{children:(0,n.jsx)(r.code,{children:"string"})}),(0,n.jsx)(r.td,{children:"Unique id of metric in project"})]}),(0,n.jsxs)(r.tr,{children:[(0,n.jsxs)(r.td,{children:[(0,n.jsx)(r.code,{children:"metricGroup.objectiveId"}),"?"]}),(0,n.jsx)(r.td,{children:(0,n.jsx)(r.code,{children:"string"})}),(0,n.jsx)(r.td,{children:"group level objective, applies to all classes"})]}),(0,n.jsxs)(r.tr,{children:[(0,n.jsxs)(r.td,{children:[(0,n.jsx)(r.code,{children:"metricGroup.type"}),"?"]}),(0,n.jsx)(r.td,{children:(0,n.jsx)(r.code,{children:"string"})}),(0,n.jsx)(r.td,{children:"unique identifier of what the metric represents, such as its type and method for calculation - e.g. areaOverlap, valueOverlap. To be defined by the user"})]}),(0,n.jsxs)(r.tr,{children:[(0,n.jsxs)(r.td,{children:[(0,n.jsx)(r.code,{children:"t"}),"?"]}),(0,n.jsxs)(r.td,{children:[(0,n.jsx)(r.code,{children:"TFunction"}),"<",(0,n.jsx)(r.code,{children:'"translation"'}),", ",(0,n.jsx)(r.code,{children:"undefined"}),">"]}),(0,n.jsx)(r.td,{children:"-"})]})]})]}),"\n",(0,n.jsx)(r.h4,{id:"returns-22",children:"Returns"}),"\n",(0,n.jsxs)(r.p,{children:[(0,n.jsx)(r.code,{children:"object"}),"[]"]}),"\n",(0,n.jsx)(r.hr,{}),"\n",(0,n.jsx)(r.h3,{id:"getmetricgrouppercid",children:"getMetricGroupPercId()"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"getMetricGroupPercId(mg): string\n"})}),"\n",(0,n.jsx)(r.p,{children:"Simple helper that given MetricGroup, returns a consistent ID string for a percent metric, defaults to metricId + 'Perc' added to the end"}),"\n",(0,n.jsx)(r.h4,{id:"parameters-13",children:"Parameters"}),"\n",(0,n.jsxs)(r.table,{children:[(0,n.jsx)(r.thead,{children:(0,n.jsxs)(r.tr,{children:[(0,n.jsx)(r.th,{children:"Parameter"}),(0,n.jsx)(r.th,{children:"Type"}),(0,n.jsx)(r.th,{children:"Description"})]})}),(0,n.jsxs)(r.tbody,{children:[(0,n.jsxs)(r.tr,{children:[(0,n.jsx)(r.td,{children:(0,n.jsx)(r.code,{children:"mg"})}),(0,n.jsx)(r.td,{children:(0,n.jsx)(r.code,{children:"object"})}),(0,n.jsx)(r.td,{children:"the MetricGroup"})]}),(0,n.jsxs)(r.tr,{children:[(0,n.jsx)(r.td,{children:(0,n.jsx)(r.code,{children:"mg.classes"})}),(0,n.jsxs)(r.td,{children:[(0,n.jsx)(r.code,{children:"object"}),"[]"]}),(0,n.jsx)(r.td,{children:"data classes used by group"})]}),(0,n.jsxs)(r.tr,{children:[(0,n.jsxs)(r.td,{children:[(0,n.jsx)(r.code,{children:"mg.classKey"}),"?"]}),(0,n.jsx)(r.td,{children:(0,n.jsx)(r.code,{children:"string"})}),(0,n.jsx)(r.td,{children:"Optional datasource class key used to source classIds"})]}),(0,n.jsxs)(r.tr,{children:[(0,n.jsxs)(r.td,{children:[(0,n.jsx)(r.code,{children:"mg.datasourceId"}),"?"]}),(0,n.jsx)(r.td,{children:(0,n.jsx)(r.code,{children:"string"})}),(0,n.jsx)(r.td,{children:"Datasource to generate metrics from"})]}),(0,n.jsxs)(r.tr,{children:[(0,n.jsxs)(r.td,{children:[(0,n.jsx)(r.code,{children:"mg.layerId"}),"?"]}),(0,n.jsx)(r.td,{children:(0,n.jsx)(r.code,{children:"string"})}),(0,n.jsx)(r.td,{children:"Optional ID of map layer associated with this metric"})]}),(0,n.jsxs)(r.tr,{children:[(0,n.jsx)(r.td,{children:(0,n.jsx)(r.code,{children:"mg.metricId"})}),(0,n.jsx)(r.td,{children:(0,n.jsx)(r.code,{children:"string"})}),(0,n.jsx)(r.td,{children:"Unique id of metric in project"})]}),(0,n.jsxs)(r.tr,{children:[(0,n.jsxs)(r.td,{children:[(0,n.jsx)(r.code,{children:"mg.objectiveId"}),"?"]}),(0,n.jsx)(r.td,{children:(0,n.jsx)(r.code,{children:"string"})}),(0,n.jsx)(r.td,{children:"group level objective, applies to all classes"})]}),(0,n.jsxs)(r.tr,{children:[(0,n.jsxs)(r.td,{children:[(0,n.jsx)(r.code,{children:"mg.type"}),"?"]}),(0,n.jsx)(r.td,{children:(0,n.jsx)(r.code,{children:"string"})}),(0,n.jsx)(r.td,{children:"unique identifier of what the metric represents, such as its type and method for calculation - e.g. areaOverlap, valueOverlap. To be defined by the user"})]})]})]}),"\n",(0,n.jsx)(r.h4,{id:"returns-23",children:"Returns"}),"\n",(0,n.jsx)(r.p,{children:(0,n.jsx)(r.code,{children:"string"})}),"\n",(0,n.jsxs)(r.ul,{children:["\n",(0,n.jsx)(r.li,{children:"ID string"}),"\n"]}),"\n",(0,n.jsx)(r.hr,{}),"\n",(0,n.jsx)(r.h3,{id:"getobjectivebyid",children:"getObjectiveById()"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"getObjectiveById(objectiveId): object\n"})}),"\n",(0,n.jsx)(r.p,{children:"Returns Objective given objectiveId"}),"\n",(0,n.jsx)(r.h4,{id:"parameters-14",children:"Parameters"}),"\n",(0,n.jsxs)(r.table,{children:[(0,n.jsx)(r.thead,{children:(0,n.jsxs)(r.tr,{children:[(0,n.jsx)(r.th,{children:"Parameter"}),(0,n.jsx)(r.th,{children:"Type"})]})}),(0,n.jsx)(r.tbody,{children:(0,n.jsxs)(r.tr,{children:[(0,n.jsx)(r.td,{children:(0,n.jsx)(r.code,{children:"objectiveId"})}),(0,n.jsx)(r.td,{children:(0,n.jsx)(r.code,{children:"string"})})]})})]}),"\n",(0,n.jsx)(r.h4,{id:"returns-24",children:"Returns"}),"\n",(0,n.jsx)(r.p,{children:(0,n.jsx)(r.code,{children:"object"})}),"\n",(0,n.jsx)(r.h5,{id:"countstoward",children:"countsToward"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:'countsToward: Record = objectiveAnswerMapSchema;\n'})}),"\n",(0,n.jsx)(r.p,{children:"Generic map of MPA protection levels to whether they count towards objective"}),"\n",(0,n.jsx)(r.h5,{id:"objectiveid-1",children:"objectiveId"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"objectiveId: string;\n"})}),"\n",(0,n.jsx)(r.p,{children:"Unique identifier for objective"}),"\n",(0,n.jsx)(r.h5,{id:"shortdesc",children:"shortDesc"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"shortDesc: string;\n"})}),"\n",(0,n.jsx)(r.h5,{id:"target",children:"target"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"target: number;\n"})}),"\n",(0,n.jsx)(r.p,{children:"Value required for objective to be met"}),"\n",(0,n.jsx)(r.hr,{}),"\n",(0,n.jsx)(r.h3,{id:"getprecalcmetrics",children:"getPrecalcMetrics()"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"getPrecalcMetrics(\n mg?, \n metricId?, \n geographyId?): object[]\n"})}),"\n",(0,n.jsx)(r.p,{children:"Returns precalc metrics from precalc.json. Optionally filters down to specific metricGroup and geographyId"}),"\n",(0,n.jsx)(r.h4,{id:"parameters-15",children:"Parameters"}),"\n",(0,n.jsxs)(r.table,{children:[(0,n.jsx)(r.thead,{children:(0,n.jsxs)(r.tr,{children:[(0,n.jsx)(r.th,{children:"Parameter"}),(0,n.jsx)(r.th,{children:"Type"}),(0,n.jsx)(r.th,{children:"Description"})]})}),(0,n.jsxs)(r.tbody,{children:[(0,n.jsxs)(r.tr,{children:[(0,n.jsxs)(r.td,{children:[(0,n.jsx)(r.code,{children:"mg"}),"?"]}),(0,n.jsx)(r.td,{children:(0,n.jsx)(r.code,{children:"object"})}),(0,n.jsx)(r.td,{children:"MetricGroup to get precalculated metrics for"})]}),(0,n.jsxs)(r.tr,{children:[(0,n.jsxs)(r.td,{children:[(0,n.jsx)(r.code,{children:"mg.classes"}),"?"]}),(0,n.jsxs)(r.td,{children:[(0,n.jsx)(r.code,{children:"object"}),"[]"]}),(0,n.jsx)(r.td,{children:"data classes used by group"})]}),(0,n.jsxs)(r.tr,{children:[(0,n.jsxs)(r.td,{children:[(0,n.jsx)(r.code,{children:"mg.classKey"}),"?"]}),(0,n.jsx)(r.td,{children:(0,n.jsx)(r.code,{children:"string"})}),(0,n.jsx)(r.td,{children:"Optional datasource class key used to source classIds"})]}),(0,n.jsxs)(r.tr,{children:[(0,n.jsxs)(r.td,{children:[(0,n.jsx)(r.code,{children:"mg.datasourceId"}),"?"]}),(0,n.jsx)(r.td,{children:(0,n.jsx)(r.code,{children:"string"})}),(0,n.jsx)(r.td,{children:"Datasource to generate metrics from"})]}),(0,n.jsxs)(r.tr,{children:[(0,n.jsxs)(r.td,{children:[(0,n.jsx)(r.code,{children:"mg.layerId"}),"?"]}),(0,n.jsx)(r.td,{children:(0,n.jsx)(r.code,{children:"string"})}),(0,n.jsx)(r.td,{children:"Optional ID of map layer associated with this metric"})]}),(0,n.jsxs)(r.tr,{children:[(0,n.jsxs)(r.td,{children:[(0,n.jsx)(r.code,{children:"mg.metricId"}),"?"]}),(0,n.jsx)(r.td,{children:(0,n.jsx)(r.code,{children:"string"})}),(0,n.jsx)(r.td,{children:"Unique id of metric in project"})]}),(0,n.jsxs)(r.tr,{children:[(0,n.jsxs)(r.td,{children:[(0,n.jsx)(r.code,{children:"mg.objectiveId"}),"?"]}),(0,n.jsx)(r.td,{children:(0,n.jsx)(r.code,{children:"string"})}),(0,n.jsx)(r.td,{children:"group level objective, applies to all classes"})]}),(0,n.jsxs)(r.tr,{children:[(0,n.jsxs)(r.td,{children:[(0,n.jsx)(r.code,{children:"mg.type"}),"?"]}),(0,n.jsx)(r.td,{children:(0,n.jsx)(r.code,{children:"string"})}),(0,n.jsx)(r.td,{children:"unique identifier of what the metric represents, such as its type and method for calculation - e.g. areaOverlap, valueOverlap. To be defined by the user"})]}),(0,n.jsxs)(r.tr,{children:[(0,n.jsxs)(r.td,{children:[(0,n.jsx)(r.code,{children:"metricId"}),"?"]}),(0,n.jsx)(r.td,{children:(0,n.jsx)(r.code,{children:"string"})}),(0,n.jsx)(r.td,{children:'string, "area", "count", or "sum"'})]}),(0,n.jsxs)(r.tr,{children:[(0,n.jsxs)(r.td,{children:[(0,n.jsx)(r.code,{children:"geographyId"}),"?"]}),(0,n.jsx)(r.td,{children:(0,n.jsx)(r.code,{children:"string"})}),(0,n.jsx)(r.td,{children:"string, geographyId to get precalculated metrics for"})]})]})]}),"\n",(0,n.jsx)(r.h4,{id:"returns-25",children:"Returns"}),"\n",(0,n.jsxs)(r.p,{children:[(0,n.jsx)(r.code,{children:"object"}),"[]"]}),"\n",(0,n.jsx)(r.p,{children:"Metric[] of precalculated metrics"}),"\n",(0,n.jsx)(r.hr,{}),"\n",(0,n.jsx)(r.h3,{id:"getrasterdatasourcebyid",children:"getRasterDatasourceById()"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"getRasterDatasourceById(datasourceId): object\n"})}),"\n",(0,n.jsx)(r.p,{children:"Returns RasterDatasource given datasourceId, throws if not found"}),"\n",(0,n.jsx)(r.h4,{id:"parameters-16",children:"Parameters"}),"\n",(0,n.jsxs)(r.table,{children:[(0,n.jsx)(r.thead,{children:(0,n.jsxs)(r.tr,{children:[(0,n.jsx)(r.th,{children:"Parameter"}),(0,n.jsx)(r.th,{children:"Type"})]})}),(0,n.jsx)(r.tbody,{children:(0,n.jsxs)(r.tr,{children:[(0,n.jsx)(r.td,{children:(0,n.jsx)(r.code,{children:"datasourceId"})}),(0,n.jsx)(r.td,{children:(0,n.jsx)(r.code,{children:"string"})})]})})]}),"\n",(0,n.jsx)(r.h4,{id:"returns-26",children:"Returns"}),"\n",(0,n.jsx)(r.p,{children:(0,n.jsx)(r.code,{children:"object"})}),"\n",(0,n.jsx)(r.h5,{id:"band-1",children:"band"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"band: number;\n"})}),"\n",(0,n.jsx)(r.p,{children:"Import - band within raster datasource to extract"}),"\n",(0,n.jsx)(r.h5,{id:"datasourceid-4",children:"datasourceId"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"datasourceId: string;\n"})}),"\n",(0,n.jsx)(r.p,{children:"Unique id of datasource in project"}),"\n",(0,n.jsx)(r.h5,{id:"formats-2",children:"formats"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:'formats: ("fgb" | "json" | "tif" | "subdivided")[];\n'})}),"\n",(0,n.jsx)(r.p,{children:"Available formats"}),"\n",(0,n.jsx)(r.h5,{id:"geo_type-2",children:"geo_type"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:'geo_type: "vector" | "raster" = geoTypesSchema;\n'})}),"\n",(0,n.jsx)(r.p,{children:"basic geospatial type"}),"\n",(0,n.jsx)(r.h5,{id:"measurementtype-1",children:"measurementType"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:'measurementType: "quantitative" | "categorical" = measurementTypesSchema;\n'})}),"\n",(0,n.jsx)(r.p,{children:"Type of measurements that the raster values represent"}),"\n",(0,n.jsx)(r.h5,{id:"metadata-2",children:"metadata?"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"optional metadata: object;\n"})}),"\n",(0,n.jsx)(r.h5,{id:"metadatadescription-2",children:"metadata.description?"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"optional description: string;\n"})}),"\n",(0,n.jsx)(r.p,{children:"Description of datasource"}),"\n",(0,n.jsx)(r.h5,{id:"metadataname-2",children:"metadata.name"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"name: string;\n"})}),"\n",(0,n.jsx)(r.p,{children:"Human-readable name of datasource"}),"\n",(0,n.jsx)(r.h5,{id:"metadatapublishdate-2",children:"metadata.publishDate"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"publishDate: string;\n"})}),"\n",(0,n.jsx)(r.p,{children:"ISO 8601 publish date"}),"\n",(0,n.jsx)(r.h5,{id:"metadatapublisher-2",children:"metadata.publisher"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"publisher: string;\n"})}),"\n",(0,n.jsx)(r.p,{children:"Publisher name"}),"\n",(0,n.jsx)(r.h5,{id:"metadatapublishlink-2",children:"metadata.publishLink"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"publishLink: string;\n"})}),"\n",(0,n.jsx)(r.p,{children:"Public URL to access published data"}),"\n",(0,n.jsx)(r.h5,{id:"metadataversion-2",children:"metadata.version"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"version: string;\n"})}),"\n",(0,n.jsx)(r.p,{children:"Publisher-provided version number or ISO 8601 date"}),"\n",(0,n.jsx)(r.h5,{id:"nodatavalue-1",children:"noDataValue?"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"optional noDataValue: number;\n"})}),"\n",(0,n.jsx)(r.p,{children:"Nodata value"}),"\n",(0,n.jsx)(r.h5,{id:"precalc-4",children:"precalc"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"precalc: boolean;\n"})}),"\n",(0,n.jsx)(r.p,{children:"Optional, defines whether or not precalc should be run for this datasource"}),"\n",(0,n.jsx)(r.h4,{id:"implementation-of-3",children:"Implementation of"}),"\n",(0,n.jsxs)(r.p,{children:[(0,n.jsx)(r.a,{href:"/geoprocessing/docs/next/api/geoprocessing/interfaces/ProjectClientInterface",children:(0,n.jsx)(r.code,{children:"ProjectClientInterface"})}),".",(0,n.jsx)(r.a,{href:"/geoprocessing/docs/next/api/geoprocessing/interfaces/ProjectClientInterface#getrasterdatasourcebyid",children:(0,n.jsx)(r.code,{children:"getRasterDatasourceById"})})]}),"\n",(0,n.jsx)(r.hr,{}),"\n",(0,n.jsx)(r.h3,{id:"getvectordatasourcebyid",children:"getVectorDatasourceById()"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"getVectorDatasourceById(datasourceId): object\n"})}),"\n",(0,n.jsx)(r.p,{children:"Returns VectorDatasource given datasourceId, throws if not found"}),"\n",(0,n.jsx)(r.h4,{id:"parameters-17",children:"Parameters"}),"\n",(0,n.jsxs)(r.table,{children:[(0,n.jsx)(r.thead,{children:(0,n.jsxs)(r.tr,{children:[(0,n.jsx)(r.th,{children:"Parameter"}),(0,n.jsx)(r.th,{children:"Type"})]})}),(0,n.jsx)(r.tbody,{children:(0,n.jsxs)(r.tr,{children:[(0,n.jsx)(r.td,{children:(0,n.jsx)(r.code,{children:"datasourceId"})}),(0,n.jsx)(r.td,{children:(0,n.jsx)(r.code,{children:"string"})})]})})]}),"\n",(0,n.jsx)(r.h4,{id:"returns-27",children:"Returns"}),"\n",(0,n.jsx)(r.p,{children:(0,n.jsx)(r.code,{children:"object"})}),"\n",(0,n.jsx)(r.h5,{id:"bboxfilter-2",children:"bboxFilter?"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"optional bboxFilter: [number, number, number, number] | [number, number, number, number, number, number];\n"})}),"\n",(0,n.jsx)(r.p,{children:"Optional, constrain datasource to smaller bbox"}),"\n",(0,n.jsx)(r.h5,{id:"classkeys-1",children:"classKeys"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"classKeys: string[];\n"})}),"\n",(0,n.jsx)(r.p,{children:"keys to generate classes for. Vector - property names"}),"\n",(0,n.jsx)(r.h5,{id:"datasourceid-5",children:"datasourceId"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"datasourceId: string;\n"})}),"\n",(0,n.jsx)(r.p,{children:"Unique id of datasource in project"}),"\n",(0,n.jsx)(r.h5,{id:"formats-3",children:"formats"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:'formats: ("fgb" | "json" | "tif" | "subdivided")[];\n'})}),"\n",(0,n.jsx)(r.p,{children:"Available formats"}),"\n",(0,n.jsx)(r.h5,{id:"geo_type-3",children:"geo_type"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:'geo_type: "vector" | "raster" = geoTypesSchema;\n'})}),"\n",(0,n.jsx)(r.p,{children:"basic geospatial type"}),"\n",(0,n.jsx)(r.h5,{id:"idproperty-1",children:"idProperty?"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"optional idProperty: string;\n"})}),"\n",(0,n.jsx)(r.p,{children:"Optional, name of property containing unique ID value for each vector feature"}),"\n",(0,n.jsx)(r.h5,{id:"layername-1",children:"layerName?"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"optional layerName: string;\n"})}),"\n",(0,n.jsx)(r.p,{children:"Import - Name of layer within vector datasource to extract"}),"\n",(0,n.jsx)(r.h5,{id:"metadata-3",children:"metadata?"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"optional metadata: object;\n"})}),"\n",(0,n.jsx)(r.h5,{id:"metadatadescription-3",children:"metadata.description?"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"optional description: string;\n"})}),"\n",(0,n.jsx)(r.p,{children:"Description of datasource"}),"\n",(0,n.jsx)(r.h5,{id:"metadataname-3",children:"metadata.name"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"name: string;\n"})}),"\n",(0,n.jsx)(r.p,{children:"Human-readable name of datasource"}),"\n",(0,n.jsx)(r.h5,{id:"metadatapublishdate-3",children:"metadata.publishDate"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"publishDate: string;\n"})}),"\n",(0,n.jsx)(r.p,{children:"ISO 8601 publish date"}),"\n",(0,n.jsx)(r.h5,{id:"metadatapublisher-3",children:"metadata.publisher"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"publisher: string;\n"})}),"\n",(0,n.jsx)(r.p,{children:"Publisher name"}),"\n",(0,n.jsx)(r.h5,{id:"metadatapublishlink-3",children:"metadata.publishLink"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"publishLink: string;\n"})}),"\n",(0,n.jsx)(r.p,{children:"Public URL to access published data"}),"\n",(0,n.jsx)(r.h5,{id:"metadataversion-3",children:"metadata.version"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"version: string;\n"})}),"\n",(0,n.jsx)(r.p,{children:"Publisher-provided version number or ISO 8601 date"}),"\n",(0,n.jsx)(r.h5,{id:"nameproperty-1",children:"nameProperty?"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"optional nameProperty: string;\n"})}),"\n",(0,n.jsx)(r.p,{children:"Optional, name of property containing name for each vector feature"}),"\n",(0,n.jsx)(r.h5,{id:"precalc-5",children:"precalc"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"precalc: boolean;\n"})}),"\n",(0,n.jsx)(r.p,{children:"Optional, defines whether or not precalc should be run for this datasource"}),"\n",(0,n.jsx)(r.h5,{id:"propertyfilter-2",children:"propertyFilter?"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"optional propertyFilter: object;\n"})}),"\n",(0,n.jsx)(r.p,{children:"Optional, constrain datasource features by property having one or more specific values"}),"\n",(0,n.jsx)(r.h5,{id:"propertyfilterproperty-2",children:"propertyFilter.property"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"property: string;\n"})}),"\n",(0,n.jsx)(r.h5,{id:"propertyfiltervalues-2",children:"propertyFilter.values"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"values: (string | number)[];\n"})}),"\n",(0,n.jsx)(r.h4,{id:"implementation-of-4",children:"Implementation of"}),"\n",(0,n.jsxs)(r.p,{children:[(0,n.jsx)(r.a,{href:"/geoprocessing/docs/next/api/geoprocessing/interfaces/ProjectClientInterface",children:(0,n.jsx)(r.code,{children:"ProjectClientInterface"})}),".",(0,n.jsx)(r.a,{href:"/geoprocessing/docs/next/api/geoprocessing/interfaces/ProjectClientInterface#getvectordatasourcebyid",children:(0,n.jsx)(r.code,{children:"getVectorDatasourceById"})})]})]})}function h(e={}){const{wrapper:r}={...(0,d.R)(),...e.components};return r?(0,n.jsx)(r,{...e,children:(0,n.jsx)(o,{...e})}):o(e)}},28453:(e,r,s)=>{s.d(r,{R:()=>i,x:()=>l});var n=s(96540);const d={},a=n.createContext(d);function i(e){const r=n.useContext(a);return n.useMemo((function(){return"function"==typeof e?e(r):{...r,...e}}),[r,e])}function l(e){let r;return r=e.disableParentContext?"function"==typeof e.components?e.components(d):e.components||d:i(e.components),n.createElement(a.Provider,{value:r},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/351342bb.9b173aec.js b/assets/js/351342bb.9b173aec.js new file mode 100644 index 000000000..90ed20204 --- /dev/null +++ b/assets/js/351342bb.9b173aec.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[32897],{3455:(e,r,s)=>{s.r(r),s.d(r,{assets:()=>a,contentTitle:()=>l,default:()=>h,frontMatter:()=>i,metadata:()=>t,toc:()=>c});var n=s(74848),d=s(28453);const i={},l="ProjectClientBase",t={id:"api/geoprocessing/classes/ProjectClientBase",title:"ProjectClientBase",description:"Client for reading project configuration/metadata.",source:"@site/docs/api/geoprocessing/classes/ProjectClientBase.md",sourceDirName:"api/geoprocessing/classes",slug:"/api/geoprocessing/classes/ProjectClientBase",permalink:"/geoprocessing/docs/next/api/geoprocessing/classes/ProjectClientBase",draft:!1,unlisted:!1,editUrl:"https://github.com/seasketch/geoprocessing/tree/main/website/templates/shared/docs/api/geoprocessing/classes/ProjectClientBase.md",tags:[],version:"current",frontMatter:{}},a={},c=[{value:"Implements",id:"implements",level:2},{value:"Accessors",id:"accessors",level:2},{value:"basic",id:"basic",level:3},{value:"Returns",id:"returns",level:4},{value:"bbox",id:"bbox",level:5},{value:"externalLinks",id:"externallinks",level:5},{value:"languages",id:"languages",level:5},{value:"planningAreaId",id:"planningareaid",level:5},{value:"planningAreaName",id:"planningareaname",level:5},{value:"planningAreaType",id:"planningareatype",level:5},{value:"datasources",id:"datasources",level:3},{value:"Returns",id:"returns-1",level:4},{value:"externalDatasources",id:"externaldatasources",level:3},{value:"Returns",id:"returns-2",level:4},{value:"geographies",id:"geographies",level:3},{value:"Returns",id:"returns-3",level:4},{value:"geoprocessing",id:"geoprocessing",level:3},{value:"Returns",id:"returns-4",level:4},{value:"author",id:"author",level:5},{value:"clients",id:"clients",level:5},{value:"geoprocessingFunctions",id:"geoprocessingfunctions",level:5},{value:"organization?",id:"organization",level:5},{value:"preprocessingFunctions",id:"preprocessingfunctions",level:5},{value:"region",id:"region",level:5},{value:"internalDatasources",id:"internaldatasources",level:3},{value:"Returns",id:"returns-5",level:4},{value:"metricGroups",id:"metricgroups",level:3},{value:"Returns",id:"returns-6",level:4},{value:"objectives",id:"objectives",level:3},{value:"Returns",id:"returns-7",level:4},{value:"package",id:"package",level:3},{value:"Returns",id:"returns-8",level:4},{value:"author",id:"author-1",level:5},{value:"bugs?",id:"bugs",level:5},{value:"dependencies?",id:"dependencies",level:5},{value:"description",id:"description",level:5},{value:"devDependencies?",id:"devdependencies",level:5},{value:"homepage?",id:"homepage",level:5},{value:"keywords?",id:"keywords",level:5},{value:"license",id:"license",level:5},{value:"name",id:"name",level:5},{value:"private?",id:"private",level:5},{value:"repository?",id:"repository",level:5},{value:"repositoryUrl?",id:"repositoryurl",level:5},{value:"scripts?",id:"scripts",level:5},{value:"type?",id:"type",level:5},{value:"version",id:"version",level:5},{value:"precalc",id:"precalc",level:3},{value:"Returns",id:"returns-9",level:4},{value:"Constructors",id:"constructors",level:2},{value:"new ProjectClientBase()",id:"new-projectclientbase",level:3},{value:"Parameters",id:"parameters",level:4},{value:"Returns",id:"returns-10",level:4},{value:"Methods",id:"methods",level:2},{value:"dataBucketUrl()",id:"databucketurl",level:3},{value:"Parameters",id:"parameters-1",level:4},{value:"Returns",id:"returns-11",level:4},{value:"Implementation of",id:"implementation-of",level:4},{value:"getClassDatasource()",id:"getclassdatasource",level:3},{value:"Parameters",id:"parameters-2",level:4},{value:"Returns",id:"returns-12",level:4},{value:"getClassKey()",id:"getclasskey",level:3},{value:"Parameters",id:"parameters-3",level:4},{value:"Returns",id:"returns-13",level:4},{value:"getDatasourceById()",id:"getdatasourcebyid",level:3},{value:"Parameters",id:"parameters-4",level:4},{value:"Returns",id:"returns-14",level:4},{value:"Implementation of",id:"implementation-of-1",level:4},{value:"getDatasourceUrl()",id:"getdatasourceurl",level:3},{value:"Parameters",id:"parameters-5",level:4},{value:"Returns",id:"returns-15",level:4},{value:"Implementation of",id:"implementation-of-2",level:4},{value:"getExternalRasterDatasourceById()",id:"getexternalrasterdatasourcebyid",level:3},{value:"Parameters",id:"parameters-6",level:4},{value:"Returns",id:"returns-16",level:4},{value:"getExternalVectorDatasourceById()",id:"getexternalvectordatasourcebyid",level:3},{value:"Parameters",id:"parameters-7",level:4},{value:"Returns",id:"returns-17",level:4},{value:"getFgbPath()",id:"getfgbpath",level:3},{value:"Parameters",id:"parameters-8",level:4},{value:"Returns",id:"returns-18",level:4},{value:"getGeographyByGroup()",id:"getgeographybygroup",level:3},{value:"Parameters",id:"parameters-9",level:4},{value:"Returns",id:"returns-19",level:4},{value:"getGeographyById()",id:"getgeographybyid",level:3},{value:"Parameters",id:"parameters-10",level:4},{value:"Returns",id:"returns-20",level:4},{value:"bboxFilter?",id:"bboxfilter",level:5},{value:"datasourceId",id:"datasourceid",level:5},{value:"display",id:"display",level:5},{value:"geographyId",id:"geographyid",level:5},{value:"groups?",id:"groups",level:5},{value:"layerId?",id:"layerid",level:5},{value:"precalc",id:"precalc-1",level:5},{value:"propertyFilter?",id:"propertyfilter",level:5},{value:"propertyFilter.property",id:"propertyfilterproperty",level:5},{value:"propertyFilter.values",id:"propertyfiltervalues",level:5},{value:"Throws",id:"throws",level:4},{value:"getInternalRasterDatasourceById()",id:"getinternalrasterdatasourcebyid",level:3},{value:"Parameters",id:"parameters-11",level:4},{value:"Returns",id:"returns-21",level:4},{value:"band",id:"band",level:5},{value:"created",id:"created",level:5},{value:"datasourceId",id:"datasourceid-1",level:5},{value:"formats",id:"formats",level:5},{value:"geo_type",id:"geo_type",level:5},{value:"lastUpdated",id:"lastupdated",level:5},{value:"measurementType",id:"measurementtype",level:5},{value:"metadata?",id:"metadata",level:5},{value:"metadata.description?",id:"metadatadescription",level:5},{value:"metadata.name",id:"metadataname",level:5},{value:"metadata.publishDate",id:"metadatapublishdate",level:5},{value:"metadata.publisher",id:"metadatapublisher",level:5},{value:"metadata.publishLink",id:"metadatapublishlink",level:5},{value:"metadata.version",id:"metadataversion",level:5},{value:"noDataValue?",id:"nodatavalue",level:5},{value:"precalc",id:"precalc-2",level:5},{value:"src",id:"src",level:5},{value:"getInternalVectorDatasourceById()",id:"getinternalvectordatasourcebyid",level:3},{value:"Parameters",id:"parameters-12",level:4},{value:"Returns",id:"returns-22",level:4},{value:"bboxFilter?",id:"bboxfilter-1",level:5},{value:"classKeys",id:"classkeys",level:5},{value:"created",id:"created-1",level:5},{value:"datasourceId",id:"datasourceid-2",level:5},{value:"explodeMulti",id:"explodemulti",level:5},{value:"formats",id:"formats-1",level:5},{value:"geo_type",id:"geo_type-1",level:5},{value:"idProperty?",id:"idproperty",level:5},{value:"lastUpdated",id:"lastupdated-1",level:5},{value:"layerName?",id:"layername",level:5},{value:"metadata?",id:"metadata-1",level:5},{value:"metadata.description?",id:"metadatadescription-1",level:5},{value:"metadata.name",id:"metadataname-1",level:5},{value:"metadata.publishDate",id:"metadatapublishdate-1",level:5},{value:"metadata.publisher",id:"metadatapublisher-1",level:5},{value:"metadata.publishLink",id:"metadatapublishlink-1",level:5},{value:"metadata.version",id:"metadataversion-1",level:5},{value:"nameProperty?",id:"nameproperty",level:5},{value:"precalc",id:"precalc-3",level:5},{value:"propertiesToKeep",id:"propertiestokeep",level:5},{value:"propertyFilter?",id:"propertyfilter-1",level:5},{value:"propertyFilter.property",id:"propertyfilterproperty-1",level:5},{value:"propertyFilter.values",id:"propertyfiltervalues-1",level:5},{value:"src",id:"src-1",level:5},{value:"getMetricGroup()",id:"getmetricgroup",level:3},{value:"Parameters",id:"parameters-13",level:4},{value:"Returns",id:"returns-23",level:4},{value:"classes",id:"classes",level:5},{value:"classKey?",id:"classkey",level:5},{value:"datasourceId?",id:"datasourceid-3",level:5},{value:"layerId?",id:"layerid-1",level:5},{value:"metricId",id:"metricid",level:5},{value:"objectiveId?",id:"objectiveid",level:5},{value:"type?",id:"type-1",level:5},{value:"getMetricGroupObjectives()",id:"getmetricgroupobjectives",level:3},{value:"Parameters",id:"parameters-14",level:4},{value:"Returns",id:"returns-24",level:4},{value:"getMetricGroupPercId()",id:"getmetricgrouppercid",level:3},{value:"Parameters",id:"parameters-15",level:4},{value:"Returns",id:"returns-25",level:4},{value:"getObjectiveById()",id:"getobjectivebyid",level:3},{value:"Parameters",id:"parameters-16",level:4},{value:"Returns",id:"returns-26",level:4},{value:"countsToward",id:"countstoward",level:5},{value:"objectiveId",id:"objectiveid-1",level:5},{value:"shortDesc",id:"shortdesc",level:5},{value:"target",id:"target",level:5},{value:"getPrecalcMetrics()",id:"getprecalcmetrics",level:3},{value:"Parameters",id:"parameters-17",level:4},{value:"Returns",id:"returns-27",level:4},{value:"getRasterDatasourceById()",id:"getrasterdatasourcebyid",level:3},{value:"Parameters",id:"parameters-18",level:4},{value:"Returns",id:"returns-28",level:4},{value:"band",id:"band-1",level:5},{value:"datasourceId",id:"datasourceid-4",level:5},{value:"formats",id:"formats-2",level:5},{value:"geo_type",id:"geo_type-2",level:5},{value:"measurementType",id:"measurementtype-1",level:5},{value:"metadata?",id:"metadata-2",level:5},{value:"metadata.description?",id:"metadatadescription-2",level:5},{value:"metadata.name",id:"metadataname-2",level:5},{value:"metadata.publishDate",id:"metadatapublishdate-2",level:5},{value:"metadata.publisher",id:"metadatapublisher-2",level:5},{value:"metadata.publishLink",id:"metadatapublishlink-2",level:5},{value:"metadata.version",id:"metadataversion-2",level:5},{value:"noDataValue?",id:"nodatavalue-1",level:5},{value:"precalc",id:"precalc-4",level:5},{value:"Implementation of",id:"implementation-of-3",level:4},{value:"getVectorDatasourceById()",id:"getvectordatasourcebyid",level:3},{value:"Parameters",id:"parameters-19",level:4},{value:"Returns",id:"returns-29",level:4},{value:"bboxFilter?",id:"bboxfilter-2",level:5},{value:"classKeys",id:"classkeys-1",level:5},{value:"datasourceId",id:"datasourceid-5",level:5},{value:"formats",id:"formats-3",level:5},{value:"geo_type",id:"geo_type-3",level:5},{value:"idProperty?",id:"idproperty-1",level:5},{value:"layerName?",id:"layername-1",level:5},{value:"metadata?",id:"metadata-3",level:5},{value:"metadata.description?",id:"metadatadescription-3",level:5},{value:"metadata.name",id:"metadataname-3",level:5},{value:"metadata.publishDate",id:"metadatapublishdate-3",level:5},{value:"metadata.publisher",id:"metadatapublisher-3",level:5},{value:"metadata.publishLink",id:"metadatapublishlink-3",level:5},{value:"metadata.version",id:"metadataversion-3",level:5},{value:"nameProperty?",id:"nameproperty-1",level:5},{value:"precalc",id:"precalc-5",level:5},{value:"propertyFilter?",id:"propertyfilter-2",level:5},{value:"propertyFilter.property",id:"propertyfilterproperty-2",level:5},{value:"propertyFilter.values",id:"propertyfiltervalues-2",level:5},{value:"Implementation of",id:"implementation-of-4",level:4}];function o(e){const r={a:"a",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",h5:"h5",header:"header",hr:"hr",li:"li",p:"p",pre:"pre",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,d.R)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(r.header,{children:(0,n.jsx)(r.h1,{id:"projectclientbase",children:"ProjectClientBase"})}),"\n",(0,n.jsx)(r.p,{children:"Client for reading project configuration/metadata."}),"\n",(0,n.jsx)(r.h2,{id:"implements",children:"Implements"}),"\n",(0,n.jsxs)(r.ul,{children:["\n",(0,n.jsx)(r.li,{children:(0,n.jsx)(r.a,{href:"/geoprocessing/docs/next/api/geoprocessing/interfaces/ProjectClientInterface",children:(0,n.jsx)(r.code,{children:"ProjectClientInterface"})})}),"\n"]}),"\n",(0,n.jsx)(r.h2,{id:"accessors",children:"Accessors"}),"\n",(0,n.jsx)(r.h3,{id:"basic",children:"basic"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"get basic(): object\n"})}),"\n",(0,n.jsx)(r.p,{children:"Returns typed config from project.json"}),"\n",(0,n.jsx)(r.h4,{id:"returns",children:"Returns"}),"\n",(0,n.jsx)(r.p,{children:(0,n.jsx)(r.code,{children:"object"})}),"\n",(0,n.jsx)(r.h5,{id:"bbox",children:"bbox"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"bbox: [number, number, number, number] | [number, number, number, number, number, number] = bboxSchema;\n"})}),"\n",(0,n.jsx)(r.h5,{id:"externallinks",children:"externalLinks"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"externalLinks: Record;\n"})}),"\n",(0,n.jsx)(r.h5,{id:"languages",children:"languages"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"languages: string[];\n"})}),"\n",(0,n.jsx)(r.h5,{id:"planningareaid",children:"planningAreaId"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"planningAreaId: string;\n"})}),"\n",(0,n.jsx)(r.h5,{id:"planningareaname",children:"planningAreaName"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"planningAreaName: string;\n"})}),"\n",(0,n.jsx)(r.h5,{id:"planningareatype",children:"planningAreaType"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:'planningAreaType: "eez" | "other" = planningAreaTypesSchema;\n'})}),"\n",(0,n.jsx)(r.hr,{}),"\n",(0,n.jsx)(r.h3,{id:"datasources",children:"datasources"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"get datasources(): (object | object | object & object | object & object)[]\n"})}),"\n",(0,n.jsx)(r.p,{children:"Returns typed config from datasources.json"}),"\n",(0,n.jsx)(r.h4,{id:"returns-1",children:"Returns"}),"\n",(0,n.jsxs)(r.p,{children:["(",(0,n.jsx)(r.code,{children:"object"})," | ",(0,n.jsx)(r.code,{children:"object"})," | ",(0,n.jsx)(r.code,{children:"object"})," & ",(0,n.jsx)(r.code,{children:"object"})," | ",(0,n.jsx)(r.code,{children:"object"})," & ",(0,n.jsx)(r.code,{children:"object"}),")[]"]}),"\n",(0,n.jsx)(r.hr,{}),"\n",(0,n.jsx)(r.h3,{id:"externaldatasources",children:"externalDatasources"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"get externalDatasources(): (object | object | object & object | object & object)[]\n"})}),"\n",(0,n.jsx)(r.p,{children:"Return external datasources from datasources.json"}),"\n",(0,n.jsx)(r.h4,{id:"returns-2",children:"Returns"}),"\n",(0,n.jsxs)(r.p,{children:["(",(0,n.jsx)(r.code,{children:"object"})," | ",(0,n.jsx)(r.code,{children:"object"})," | ",(0,n.jsx)(r.code,{children:"object"})," & ",(0,n.jsx)(r.code,{children:"object"})," | ",(0,n.jsx)(r.code,{children:"object"})," & ",(0,n.jsx)(r.code,{children:"object"}),")[]"]}),"\n",(0,n.jsx)(r.hr,{}),"\n",(0,n.jsx)(r.h3,{id:"geographies",children:"geographies"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"get geographies(): object[]\n"})}),"\n",(0,n.jsx)(r.p,{children:"Returns typed config from geographies.json"}),"\n",(0,n.jsx)(r.h4,{id:"returns-3",children:"Returns"}),"\n",(0,n.jsxs)(r.p,{children:[(0,n.jsx)(r.code,{children:"object"}),"[]"]}),"\n",(0,n.jsx)(r.hr,{}),"\n",(0,n.jsx)(r.h3,{id:"geoprocessing",children:"geoprocessing"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"get geoprocessing(): object\n"})}),"\n",(0,n.jsx)(r.p,{children:"Returns typed config from geoprocessing.json"}),"\n",(0,n.jsx)(r.h4,{id:"returns-4",children:"Returns"}),"\n",(0,n.jsx)(r.p,{children:(0,n.jsx)(r.code,{children:"object"})}),"\n",(0,n.jsx)(r.h5,{id:"author",children:"author"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"author: string;\n"})}),"\n",(0,n.jsx)(r.h5,{id:"clients",children:"clients"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"clients: object[];\n"})}),"\n",(0,n.jsx)(r.h5,{id:"geoprocessingfunctions",children:"geoprocessingFunctions"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"geoprocessingFunctions: string[];\n"})}),"\n",(0,n.jsx)(r.h5,{id:"organization",children:"organization?"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"optional organization: string;\n"})}),"\n",(0,n.jsx)(r.h5,{id:"preprocessingfunctions",children:"preprocessingFunctions"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"preprocessingFunctions: string[];\n"})}),"\n",(0,n.jsx)(r.h5,{id:"region",children:"region"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"region: string;\n"})}),"\n",(0,n.jsx)(r.hr,{}),"\n",(0,n.jsx)(r.h3,{id:"internaldatasources",children:"internalDatasources"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"get internalDatasources(): (object | object | object & object | object & object)[]\n"})}),"\n",(0,n.jsx)(r.p,{children:"Returns internal datasources from datasources.json"}),"\n",(0,n.jsx)(r.h4,{id:"returns-5",children:"Returns"}),"\n",(0,n.jsxs)(r.p,{children:["(",(0,n.jsx)(r.code,{children:"object"})," | ",(0,n.jsx)(r.code,{children:"object"})," | ",(0,n.jsx)(r.code,{children:"object"})," & ",(0,n.jsx)(r.code,{children:"object"})," | ",(0,n.jsx)(r.code,{children:"object"})," & ",(0,n.jsx)(r.code,{children:"object"}),")[]"]}),"\n",(0,n.jsx)(r.hr,{}),"\n",(0,n.jsx)(r.h3,{id:"metricgroups",children:"metricGroups"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"get metricGroups(): object[]\n"})}),"\n",(0,n.jsx)(r.p,{children:"Returns typed config from metrics.json"}),"\n",(0,n.jsx)(r.h4,{id:"returns-6",children:"Returns"}),"\n",(0,n.jsxs)(r.p,{children:[(0,n.jsx)(r.code,{children:"object"}),"[]"]}),"\n",(0,n.jsx)(r.hr,{}),"\n",(0,n.jsx)(r.h3,{id:"objectives",children:"objectives"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"get objectives(): object[]\n"})}),"\n",(0,n.jsx)(r.p,{children:"Returns typed config from objectives.json"}),"\n",(0,n.jsx)(r.h4,{id:"returns-7",children:"Returns"}),"\n",(0,n.jsxs)(r.p,{children:[(0,n.jsx)(r.code,{children:"object"}),"[]"]}),"\n",(0,n.jsx)(r.hr,{}),"\n",(0,n.jsx)(r.h3,{id:"package",children:"package"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"get package(): object\n"})}),"\n",(0,n.jsx)(r.p,{children:"Returns typed config from package.json"}),"\n",(0,n.jsx)(r.h4,{id:"returns-8",children:"Returns"}),"\n",(0,n.jsx)(r.p,{children:(0,n.jsx)(r.code,{children:"object"})}),"\n",(0,n.jsx)(r.h5,{id:"author-1",children:"author"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"author: string;\n"})}),"\n",(0,n.jsx)(r.h5,{id:"bugs",children:"bugs?"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"optional bugs: Record;\n"})}),"\n",(0,n.jsx)(r.h5,{id:"dependencies",children:"dependencies?"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"optional dependencies: Record;\n"})}),"\n",(0,n.jsx)(r.h5,{id:"description",children:"description"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"description: string;\n"})}),"\n",(0,n.jsx)(r.h5,{id:"devdependencies",children:"devDependencies?"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"optional devDependencies: Record;\n"})}),"\n",(0,n.jsx)(r.h5,{id:"homepage",children:"homepage?"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"optional homepage: string;\n"})}),"\n",(0,n.jsx)(r.h5,{id:"keywords",children:"keywords?"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"optional keywords: string[];\n"})}),"\n",(0,n.jsx)(r.h5,{id:"license",children:"license"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"license: string;\n"})}),"\n",(0,n.jsx)(r.h5,{id:"name",children:"name"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"name: string;\n"})}),"\n",(0,n.jsx)(r.h5,{id:"private",children:"private?"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"optional private: boolean;\n"})}),"\n",(0,n.jsx)(r.h5,{id:"repository",children:"repository?"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"optional repository: Record;\n"})}),"\n",(0,n.jsx)(r.h5,{id:"repositoryurl",children:"repositoryUrl?"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"optional repositoryUrl: string;\n"})}),"\n",(0,n.jsx)(r.h5,{id:"scripts",children:"scripts?"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"optional scripts: Record;\n"})}),"\n",(0,n.jsx)(r.h5,{id:"type",children:"type?"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"optional type: string;\n"})}),"\n",(0,n.jsx)(r.h5,{id:"version",children:"version"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"version: string;\n"})}),"\n",(0,n.jsx)(r.hr,{}),"\n",(0,n.jsx)(r.h3,{id:"precalc",children:"precalc"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"get precalc(): object[]\n"})}),"\n",(0,n.jsx)(r.p,{children:"Returns precalculated metrics from precalc.json"}),"\n",(0,n.jsx)(r.h4,{id:"returns-9",children:"Returns"}),"\n",(0,n.jsxs)(r.p,{children:[(0,n.jsx)(r.code,{children:"object"}),"[]"]}),"\n",(0,n.jsx)(r.h2,{id:"constructors",children:"Constructors"}),"\n",(0,n.jsx)(r.h3,{id:"new-projectclientbase",children:"new ProjectClientBase()"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"new ProjectClientBase(config): ProjectClientBase\n"})}),"\n",(0,n.jsx)(r.h4,{id:"parameters",children:"Parameters"}),"\n",(0,n.jsxs)(r.table,{children:[(0,n.jsx)(r.thead,{children:(0,n.jsxs)(r.tr,{children:[(0,n.jsx)(r.th,{children:"Parameter"}),(0,n.jsx)(r.th,{children:"Type"})]})}),(0,n.jsx)(r.tbody,{children:(0,n.jsxs)(r.tr,{children:[(0,n.jsx)(r.td,{children:(0,n.jsx)(r.code,{children:"config"})}),(0,n.jsx)(r.td,{children:(0,n.jsx)(r.a,{href:"/geoprocessing/docs/next/api/geoprocessing/interfaces/ProjectClientConfig",children:(0,n.jsx)(r.code,{children:"ProjectClientConfig"})})})]})})]}),"\n",(0,n.jsx)(r.h4,{id:"returns-10",children:"Returns"}),"\n",(0,n.jsx)(r.p,{children:(0,n.jsx)(r.a,{href:"/geoprocessing/docs/next/api/geoprocessing/classes/ProjectClientBase",children:(0,n.jsx)(r.code,{children:"ProjectClientBase"})})}),"\n",(0,n.jsx)(r.h2,{id:"methods",children:"Methods"}),"\n",(0,n.jsx)(r.h3,{id:"databucketurl",children:"dataBucketUrl()"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"dataBucketUrl(options): string\n"})}),"\n",(0,n.jsx)(r.p,{children:"Returns URL to dataset bucket for project. In test environment or if local parameter is true, will\nreturn local URL expected to serve up dist data folder"}),"\n",(0,n.jsx)(r.h4,{id:"parameters-1",children:"Parameters"}),"\n",(0,n.jsxs)(r.table,{children:[(0,n.jsx)(r.thead,{children:(0,n.jsxs)(r.tr,{children:[(0,n.jsx)(r.th,{children:"Parameter"}),(0,n.jsx)(r.th,{children:"Type"})]})}),(0,n.jsx)(r.tbody,{children:(0,n.jsxs)(r.tr,{children:[(0,n.jsx)(r.td,{children:(0,n.jsx)(r.code,{children:"options"})}),(0,n.jsx)(r.td,{children:(0,n.jsx)(r.code,{children:"DataBucketUrlOptions"})})]})})]}),"\n",(0,n.jsx)(r.h4,{id:"returns-11",children:"Returns"}),"\n",(0,n.jsx)(r.p,{children:(0,n.jsx)(r.code,{children:"string"})}),"\n",(0,n.jsx)(r.h4,{id:"implementation-of",children:"Implementation of"}),"\n",(0,n.jsxs)(r.p,{children:[(0,n.jsx)(r.a,{href:"/geoprocessing/docs/next/api/geoprocessing/interfaces/ProjectClientInterface",children:(0,n.jsx)(r.code,{children:"ProjectClientInterface"})}),".",(0,n.jsx)(r.a,{href:"/geoprocessing/docs/next/api/geoprocessing/interfaces/ProjectClientInterface#databucketurl",children:(0,n.jsx)(r.code,{children:"dataBucketUrl"})})]}),"\n",(0,n.jsx)(r.hr,{}),"\n",(0,n.jsx)(r.h3,{id:"getclassdatasource",children:"getClassDatasource()"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"getClassDatasource(mg, classId): object | object | object & object | object & object\n"})}),"\n",(0,n.jsx)(r.p,{children:"Returns datasource for given metric group with class with given classId. Uses class datasourceId if available, otherwise falls back to metricGroup datasourceId"}),"\n",(0,n.jsx)(r.h4,{id:"parameters-2",children:"Parameters"}),"\n",(0,n.jsxs)(r.table,{children:[(0,n.jsx)(r.thead,{children:(0,n.jsxs)(r.tr,{children:[(0,n.jsx)(r.th,{children:"Parameter"}),(0,n.jsx)(r.th,{children:"Type"}),(0,n.jsx)(r.th,{children:"Description"})]})}),(0,n.jsxs)(r.tbody,{children:[(0,n.jsxs)(r.tr,{children:[(0,n.jsx)(r.td,{children:(0,n.jsx)(r.code,{children:"mg"})}),(0,n.jsx)(r.td,{children:(0,n.jsx)(r.code,{children:"object"})}),(0,n.jsx)(r.td,{children:"metricGroup to get datasource for"})]}),(0,n.jsxs)(r.tr,{children:[(0,n.jsx)(r.td,{children:(0,n.jsx)(r.code,{children:"mg.classes"})}),(0,n.jsxs)(r.td,{children:[(0,n.jsx)(r.code,{children:"object"}),"[]"]}),(0,n.jsx)(r.td,{children:"data classes used by group"})]}),(0,n.jsxs)(r.tr,{children:[(0,n.jsxs)(r.td,{children:[(0,n.jsx)(r.code,{children:"mg.classKey"}),"?"]}),(0,n.jsx)(r.td,{children:(0,n.jsx)(r.code,{children:"string"})}),(0,n.jsx)(r.td,{children:"Optional datasource class key used to source classIds"})]}),(0,n.jsxs)(r.tr,{children:[(0,n.jsxs)(r.td,{children:[(0,n.jsx)(r.code,{children:"mg.datasourceId"}),"?"]}),(0,n.jsx)(r.td,{children:(0,n.jsx)(r.code,{children:"string"})}),(0,n.jsx)(r.td,{children:"Datasource to generate metrics from"})]}),(0,n.jsxs)(r.tr,{children:[(0,n.jsxs)(r.td,{children:[(0,n.jsx)(r.code,{children:"mg.layerId"}),"?"]}),(0,n.jsx)(r.td,{children:(0,n.jsx)(r.code,{children:"string"})}),(0,n.jsx)(r.td,{children:"Optional ID of map layer associated with this metric"})]}),(0,n.jsxs)(r.tr,{children:[(0,n.jsx)(r.td,{children:(0,n.jsx)(r.code,{children:"mg.metricId"})}),(0,n.jsx)(r.td,{children:(0,n.jsx)(r.code,{children:"string"})}),(0,n.jsx)(r.td,{children:"Unique id of metric in project"})]}),(0,n.jsxs)(r.tr,{children:[(0,n.jsxs)(r.td,{children:[(0,n.jsx)(r.code,{children:"mg.objectiveId"}),"?"]}),(0,n.jsx)(r.td,{children:(0,n.jsx)(r.code,{children:"string"})}),(0,n.jsx)(r.td,{children:"group level objective, applies to all classes"})]}),(0,n.jsxs)(r.tr,{children:[(0,n.jsxs)(r.td,{children:[(0,n.jsx)(r.code,{children:"mg.type"}),"?"]}),(0,n.jsx)(r.td,{children:(0,n.jsx)(r.code,{children:"string"})}),(0,n.jsx)(r.td,{children:"unique identifier of what the metric represents, such as its type and method for calculation - e.g. areaOverlap, valueOverlap. To be defined by the user"})]}),(0,n.jsxs)(r.tr,{children:[(0,n.jsx)(r.td,{children:(0,n.jsx)(r.code,{children:"classId"})}),(0,n.jsx)(r.td,{children:(0,n.jsx)(r.code,{children:"string"})}),(0,n.jsx)(r.td,{children:"classId to get datasource for"})]})]})]}),"\n",(0,n.jsx)(r.h4,{id:"returns-12",children:"Returns"}),"\n",(0,n.jsxs)(r.p,{children:[(0,n.jsx)(r.code,{children:"object"})," | ",(0,n.jsx)(r.code,{children:"object"})," | ",(0,n.jsx)(r.code,{children:"object"})," & ",(0,n.jsx)(r.code,{children:"object"})," | ",(0,n.jsx)(r.code,{children:"object"})," & ",(0,n.jsx)(r.code,{children:"object"})]}),"\n",(0,n.jsx)(r.p,{children:"the datasource object"}),"\n",(0,n.jsx)(r.hr,{}),"\n",(0,n.jsx)(r.h3,{id:"getclasskey",children:"getClassKey()"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"getClassKey(mg, classId): undefined | string\n"})}),"\n",(0,n.jsx)(r.p,{children:"Returns classKey name for given metric group with class with given classId. Uses class level classKey if available, otherwise falls back to metricGroup classKey"}),"\n",(0,n.jsx)(r.h4,{id:"parameters-3",children:"Parameters"}),"\n",(0,n.jsxs)(r.table,{children:[(0,n.jsx)(r.thead,{children:(0,n.jsxs)(r.tr,{children:[(0,n.jsx)(r.th,{children:"Parameter"}),(0,n.jsx)(r.th,{children:"Type"}),(0,n.jsx)(r.th,{children:"Description"})]})}),(0,n.jsxs)(r.tbody,{children:[(0,n.jsxs)(r.tr,{children:[(0,n.jsx)(r.td,{children:(0,n.jsx)(r.code,{children:"mg"})}),(0,n.jsx)(r.td,{children:(0,n.jsx)(r.code,{children:"object"})}),(0,n.jsx)(r.td,{children:"metricGroup to search for class and classKey"})]}),(0,n.jsxs)(r.tr,{children:[(0,n.jsx)(r.td,{children:(0,n.jsx)(r.code,{children:"mg.classes"})}),(0,n.jsxs)(r.td,{children:[(0,n.jsx)(r.code,{children:"object"}),"[]"]}),(0,n.jsx)(r.td,{children:"data classes used by group"})]}),(0,n.jsxs)(r.tr,{children:[(0,n.jsxs)(r.td,{children:[(0,n.jsx)(r.code,{children:"mg.classKey"}),"?"]}),(0,n.jsx)(r.td,{children:(0,n.jsx)(r.code,{children:"string"})}),(0,n.jsx)(r.td,{children:"Optional datasource class key used to source classIds"})]}),(0,n.jsxs)(r.tr,{children:[(0,n.jsxs)(r.td,{children:[(0,n.jsx)(r.code,{children:"mg.datasourceId"}),"?"]}),(0,n.jsx)(r.td,{children:(0,n.jsx)(r.code,{children:"string"})}),(0,n.jsx)(r.td,{children:"Datasource to generate metrics from"})]}),(0,n.jsxs)(r.tr,{children:[(0,n.jsxs)(r.td,{children:[(0,n.jsx)(r.code,{children:"mg.layerId"}),"?"]}),(0,n.jsx)(r.td,{children:(0,n.jsx)(r.code,{children:"string"})}),(0,n.jsx)(r.td,{children:"Optional ID of map layer associated with this metric"})]}),(0,n.jsxs)(r.tr,{children:[(0,n.jsx)(r.td,{children:(0,n.jsx)(r.code,{children:"mg.metricId"})}),(0,n.jsx)(r.td,{children:(0,n.jsx)(r.code,{children:"string"})}),(0,n.jsx)(r.td,{children:"Unique id of metric in project"})]}),(0,n.jsxs)(r.tr,{children:[(0,n.jsxs)(r.td,{children:[(0,n.jsx)(r.code,{children:"mg.objectiveId"}),"?"]}),(0,n.jsx)(r.td,{children:(0,n.jsx)(r.code,{children:"string"})}),(0,n.jsx)(r.td,{children:"group level objective, applies to all classes"})]}),(0,n.jsxs)(r.tr,{children:[(0,n.jsxs)(r.td,{children:[(0,n.jsx)(r.code,{children:"mg.type"}),"?"]}),(0,n.jsx)(r.td,{children:(0,n.jsx)(r.code,{children:"string"})}),(0,n.jsx)(r.td,{children:"unique identifier of what the metric represents, such as its type and method for calculation - e.g. areaOverlap, valueOverlap. To be defined by the user"})]}),(0,n.jsxs)(r.tr,{children:[(0,n.jsx)(r.td,{children:(0,n.jsx)(r.code,{children:"classId"})}),(0,n.jsx)(r.td,{children:(0,n.jsx)(r.code,{children:"string"})}),(0,n.jsx)(r.td,{children:"classId to get classKey for"})]})]})]}),"\n",(0,n.jsx)(r.h4,{id:"returns-13",children:"Returns"}),"\n",(0,n.jsxs)(r.p,{children:[(0,n.jsx)(r.code,{children:"undefined"})," | ",(0,n.jsx)(r.code,{children:"string"})]}),"\n",(0,n.jsx)(r.p,{children:"the classKey name or undefined"}),"\n",(0,n.jsx)(r.hr,{}),"\n",(0,n.jsx)(r.h3,{id:"getdatasourcebyid",children:"getDatasourceById()"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"getDatasourceById(datasourceId): object | object | object & object | object & object\n"})}),"\n",(0,n.jsx)(r.p,{children:"Returns Datasource given datasourceId"}),"\n",(0,n.jsx)(r.h4,{id:"parameters-4",children:"Parameters"}),"\n",(0,n.jsxs)(r.table,{children:[(0,n.jsx)(r.thead,{children:(0,n.jsxs)(r.tr,{children:[(0,n.jsx)(r.th,{children:"Parameter"}),(0,n.jsx)(r.th,{children:"Type"})]})}),(0,n.jsx)(r.tbody,{children:(0,n.jsxs)(r.tr,{children:[(0,n.jsx)(r.td,{children:(0,n.jsx)(r.code,{children:"datasourceId"})}),(0,n.jsx)(r.td,{children:(0,n.jsx)(r.code,{children:"string"})})]})})]}),"\n",(0,n.jsx)(r.h4,{id:"returns-14",children:"Returns"}),"\n",(0,n.jsxs)(r.p,{children:[(0,n.jsx)(r.code,{children:"object"})," | ",(0,n.jsx)(r.code,{children:"object"})," | ",(0,n.jsx)(r.code,{children:"object"})," & ",(0,n.jsx)(r.code,{children:"object"})," | ",(0,n.jsx)(r.code,{children:"object"})," & ",(0,n.jsx)(r.code,{children:"object"})]}),"\n",(0,n.jsx)(r.h4,{id:"implementation-of-1",children:"Implementation of"}),"\n",(0,n.jsxs)(r.p,{children:[(0,n.jsx)(r.a,{href:"/geoprocessing/docs/next/api/geoprocessing/interfaces/ProjectClientInterface",children:(0,n.jsx)(r.code,{children:"ProjectClientInterface"})}),".",(0,n.jsx)(r.a,{href:"/geoprocessing/docs/next/api/geoprocessing/interfaces/ProjectClientInterface#getdatasourcebyid",children:(0,n.jsx)(r.code,{children:"getDatasourceById"})})]}),"\n",(0,n.jsx)(r.hr,{}),"\n",(0,n.jsx)(r.h3,{id:"getdatasourceurl",children:"getDatasourceUrl()"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"getDatasourceUrl(ds, options): string\n"})}),"\n",(0,n.jsx)(r.h4,{id:"parameters-5",children:"Parameters"}),"\n",(0,n.jsxs)(r.table,{children:[(0,n.jsx)(r.thead,{children:(0,n.jsxs)(r.tr,{children:[(0,n.jsx)(r.th,{children:"Parameter"}),(0,n.jsx)(r.th,{children:"Type"})]})}),(0,n.jsxs)(r.tbody,{children:[(0,n.jsxs)(r.tr,{children:[(0,n.jsx)(r.td,{children:(0,n.jsx)(r.code,{children:"ds"})}),(0,n.jsxs)(r.td,{children:["| ",(0,n.jsx)(r.code,{children:"object"})," | ",(0,n.jsx)(r.code,{children:"object"})," | ",(0,n.jsx)(r.code,{children:"object"})," | ",(0,n.jsx)(r.code,{children:"object"})," | ",(0,n.jsx)(r.code,{children:"object"})," & ",(0,n.jsx)(r.code,{children:"object"})," | ",(0,n.jsx)(r.code,{children:"object"})," & ",(0,n.jsx)(r.code,{children:"object"})," | ",(0,n.jsx)(r.a,{href:"/geoprocessing/docs/next/api/geoprocessing/type-aliases/ImportVectorDatasourceConfig",children:(0,n.jsx)(r.code,{children:"ImportVectorDatasourceConfig"})})," | ",(0,n.jsx)(r.a,{href:"/geoprocessing/docs/next/api/geoprocessing/type-aliases/ImportRasterDatasourceConfig",children:(0,n.jsx)(r.code,{children:"ImportRasterDatasourceConfig"})})]})]}),(0,n.jsxs)(r.tr,{children:[(0,n.jsx)(r.td,{children:(0,n.jsx)(r.code,{children:"options"})}),(0,n.jsx)(r.td,{children:(0,n.jsx)(r.code,{children:"object"})})]}),(0,n.jsxs)(r.tr,{children:[(0,n.jsxs)(r.td,{children:[(0,n.jsx)(r.code,{children:"options.format"}),"?"]}),(0,n.jsxs)(r.td,{children:[(0,n.jsx)(r.code,{children:'"fgb"'})," | ",(0,n.jsx)(r.code,{children:'"json"'})," | ",(0,n.jsx)(r.code,{children:'"tif"'})," | ",(0,n.jsx)(r.code,{children:'"subdivided"'})]})]}),(0,n.jsxs)(r.tr,{children:[(0,n.jsxs)(r.td,{children:[(0,n.jsx)(r.code,{children:"options.local"}),"?"]}),(0,n.jsx)(r.td,{children:(0,n.jsx)(r.code,{children:"boolean"})})]}),(0,n.jsxs)(r.tr,{children:[(0,n.jsxs)(r.td,{children:[(0,n.jsx)(r.code,{children:"options.port"}),"?"]}),(0,n.jsx)(r.td,{children:(0,n.jsx)(r.code,{children:"number"})})]}),(0,n.jsxs)(r.tr,{children:[(0,n.jsxs)(r.td,{children:[(0,n.jsx)(r.code,{children:"options.subPath"}),"?"]}),(0,n.jsx)(r.td,{children:(0,n.jsx)(r.code,{children:"string"})})]})]})]}),"\n",(0,n.jsx)(r.h4,{id:"returns-15",children:"Returns"}),"\n",(0,n.jsx)(r.p,{children:(0,n.jsx)(r.code,{children:"string"})}),"\n",(0,n.jsx)(r.h4,{id:"implementation-of-2",children:"Implementation of"}),"\n",(0,n.jsxs)(r.p,{children:[(0,n.jsx)(r.a,{href:"/geoprocessing/docs/next/api/geoprocessing/interfaces/ProjectClientInterface",children:(0,n.jsx)(r.code,{children:"ProjectClientInterface"})}),".",(0,n.jsx)(r.a,{href:"/geoprocessing/docs/next/api/geoprocessing/interfaces/ProjectClientInterface#getdatasourceurl",children:(0,n.jsx)(r.code,{children:"getDatasourceUrl"})})]}),"\n",(0,n.jsx)(r.hr,{}),"\n",(0,n.jsx)(r.h3,{id:"getexternalrasterdatasourcebyid",children:"getExternalRasterDatasourceById()"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"getExternalRasterDatasourceById(datasourceId): object & object\n"})}),"\n",(0,n.jsx)(r.p,{children:"Returns ExternalRasterDatasource given datasourceId, throws if not found"}),"\n",(0,n.jsx)(r.h4,{id:"parameters-6",children:"Parameters"}),"\n",(0,n.jsxs)(r.table,{children:[(0,n.jsx)(r.thead,{children:(0,n.jsxs)(r.tr,{children:[(0,n.jsx)(r.th,{children:"Parameter"}),(0,n.jsx)(r.th,{children:"Type"})]})}),(0,n.jsx)(r.tbody,{children:(0,n.jsxs)(r.tr,{children:[(0,n.jsx)(r.td,{children:(0,n.jsx)(r.code,{children:"datasourceId"})}),(0,n.jsx)(r.td,{children:(0,n.jsx)(r.code,{children:"string"})})]})})]}),"\n",(0,n.jsx)(r.h4,{id:"returns-16",children:"Returns"}),"\n",(0,n.jsxs)(r.p,{children:[(0,n.jsx)(r.code,{children:"object"})," & ",(0,n.jsx)(r.code,{children:"object"})]}),"\n",(0,n.jsx)(r.hr,{}),"\n",(0,n.jsx)(r.h3,{id:"getexternalvectordatasourcebyid",children:"getExternalVectorDatasourceById()"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"getExternalVectorDatasourceById(datasourceId): object & object\n"})}),"\n",(0,n.jsx)(r.p,{children:"Returns ExternalVectorDatasource given datasourceId, throws if not found"}),"\n",(0,n.jsx)(r.h4,{id:"parameters-7",children:"Parameters"}),"\n",(0,n.jsxs)(r.table,{children:[(0,n.jsx)(r.thead,{children:(0,n.jsxs)(r.tr,{children:[(0,n.jsx)(r.th,{children:"Parameter"}),(0,n.jsx)(r.th,{children:"Type"})]})}),(0,n.jsx)(r.tbody,{children:(0,n.jsxs)(r.tr,{children:[(0,n.jsx)(r.td,{children:(0,n.jsx)(r.code,{children:"datasourceId"})}),(0,n.jsx)(r.td,{children:(0,n.jsx)(r.code,{children:"string"})})]})})]}),"\n",(0,n.jsx)(r.h4,{id:"returns-17",children:"Returns"}),"\n",(0,n.jsxs)(r.p,{children:[(0,n.jsx)(r.code,{children:"object"})," & ",(0,n.jsx)(r.code,{children:"object"})]}),"\n",(0,n.jsx)(r.hr,{}),"\n",(0,n.jsx)(r.h3,{id:"getfgbpath",children:"getFgbPath()"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"getFgbPath(ds): string\n"})}),"\n",(0,n.jsx)(r.h4,{id:"parameters-8",children:"Parameters"}),"\n",(0,n.jsxs)(r.table,{children:[(0,n.jsx)(r.thead,{children:(0,n.jsxs)(r.tr,{children:[(0,n.jsx)(r.th,{children:"Parameter"}),(0,n.jsx)(r.th,{children:"Type"})]})}),(0,n.jsx)(r.tbody,{children:(0,n.jsxs)(r.tr,{children:[(0,n.jsx)(r.td,{children:(0,n.jsx)(r.code,{children:"ds"})}),(0,n.jsxs)(r.td,{children:["| ",(0,n.jsx)(r.code,{children:"object"})," | ",(0,n.jsx)(r.code,{children:"object"})," | ",(0,n.jsx)(r.code,{children:"object"})," | ",(0,n.jsx)(r.code,{children:"object"})," | ",(0,n.jsx)(r.code,{children:"object"})," & ",(0,n.jsx)(r.code,{children:"object"})," | ",(0,n.jsx)(r.code,{children:"object"})," & ",(0,n.jsx)(r.code,{children:"object"})," | ",(0,n.jsx)(r.a,{href:"/geoprocessing/docs/next/api/geoprocessing/type-aliases/ImportVectorDatasourceConfig",children:(0,n.jsx)(r.code,{children:"ImportVectorDatasourceConfig"})})," | ",(0,n.jsx)(r.a,{href:"/geoprocessing/docs/next/api/geoprocessing/type-aliases/ImportRasterDatasourceConfig",children:(0,n.jsx)(r.code,{children:"ImportRasterDatasourceConfig"})})]})]})})]}),"\n",(0,n.jsx)(r.h4,{id:"returns-18",children:"Returns"}),"\n",(0,n.jsx)(r.p,{children:(0,n.jsx)(r.code,{children:"string"})}),"\n",(0,n.jsx)(r.hr,{}),"\n",(0,n.jsx)(r.h3,{id:"getgeographybygroup",children:"getGeographyByGroup()"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"getGeographyByGroup(group): object[]\n"})}),"\n",(0,n.jsx)(r.h4,{id:"parameters-9",children:"Parameters"}),"\n",(0,n.jsxs)(r.table,{children:[(0,n.jsx)(r.thead,{children:(0,n.jsxs)(r.tr,{children:[(0,n.jsx)(r.th,{children:"Parameter"}),(0,n.jsx)(r.th,{children:"Type"}),(0,n.jsx)(r.th,{children:"Description"})]})}),(0,n.jsx)(r.tbody,{children:(0,n.jsxs)(r.tr,{children:[(0,n.jsx)(r.td,{children:(0,n.jsx)(r.code,{children:"group"})}),(0,n.jsx)(r.td,{children:(0,n.jsx)(r.code,{children:"string"})}),(0,n.jsx)(r.td,{children:"the name of the geography group"})]})})]}),"\n",(0,n.jsx)(r.h4,{id:"returns-19",children:"Returns"}),"\n",(0,n.jsxs)(r.p,{children:[(0,n.jsx)(r.code,{children:"object"}),"[]"]}),"\n",(0,n.jsx)(r.p,{children:"geographies with group name assigned"}),"\n",(0,n.jsx)(r.hr,{}),"\n",(0,n.jsx)(r.h3,{id:"getgeographybyid",children:"getGeographyById()"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"getGeographyById(geographyId?, options?): object\n"})}),"\n",(0,n.jsx)(r.p,{children:"Returns project geography matching the provided ID, with optional fallback geography using fallbackGroup parameter"}),"\n",(0,n.jsx)(r.h4,{id:"parameters-10",children:"Parameters"}),"\n",(0,n.jsxs)(r.table,{children:[(0,n.jsx)(r.thead,{children:(0,n.jsxs)(r.tr,{children:[(0,n.jsx)(r.th,{children:"Parameter"}),(0,n.jsx)(r.th,{children:"Type"}),(0,n.jsx)(r.th,{children:"Description"})]})}),(0,n.jsxs)(r.tbody,{children:[(0,n.jsxs)(r.tr,{children:[(0,n.jsxs)(r.td,{children:[(0,n.jsx)(r.code,{children:"geographyId"}),"?"]}),(0,n.jsx)(r.td,{children:(0,n.jsx)(r.code,{children:"string"})}),(0,n.jsx)(r.td,{children:"The geography ID to search for"})]}),(0,n.jsxs)(r.tr,{children:[(0,n.jsxs)(r.td,{children:[(0,n.jsx)(r.code,{children:"options"}),"?"]}),(0,n.jsx)(r.td,{children:(0,n.jsx)(r.code,{children:"object"})}),(0,n.jsx)(r.td,{})]}),(0,n.jsxs)(r.tr,{children:[(0,n.jsxs)(r.td,{children:[(0,n.jsx)(r.code,{children:"options.fallbackGroup"}),"?"]}),(0,n.jsx)(r.td,{children:(0,n.jsx)(r.code,{children:"string"})}),(0,n.jsx)(r.td,{children:"The default group name to lookup if no geographyId is provided. expects there is only one geography with that group name"})]})]})]}),"\n",(0,n.jsx)(r.h4,{id:"returns-20",children:"Returns"}),"\n",(0,n.jsx)(r.p,{children:(0,n.jsx)(r.code,{children:"object"})}),"\n",(0,n.jsx)(r.h5,{id:"bboxfilter",children:"bboxFilter?"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"optional bboxFilter: [number, number, number, number] | [number, number, number, number, number, number];\n"})}),"\n",(0,n.jsx)(r.p,{children:"Optional, constrain geography to only features within a bounding box"}),"\n",(0,n.jsx)(r.h5,{id:"datasourceid",children:"datasourceId"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"datasourceId: string;\n"})}),"\n",(0,n.jsx)(r.p,{children:"ID of datasource containing geography boundary"}),"\n",(0,n.jsx)(r.h5,{id:"display",children:"display"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"display: string;\n"})}),"\n",(0,n.jsx)(r.p,{children:"Display name for the geography"}),"\n",(0,n.jsx)(r.h5,{id:"geographyid",children:"geographyId"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"geographyId: string;\n"})}),"\n",(0,n.jsx)(r.p,{children:"Unique name of the geography"}),"\n",(0,n.jsx)(r.h5,{id:"groups",children:"groups?"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"optional groups: string[];\n"})}),"\n",(0,n.jsx)(r.p,{children:"Optional, sub-geography identifier. Useful when you have multiple groupings/levels of geographies and want to select for a specific group"}),"\n",(0,n.jsx)(r.h5,{id:"layerid",children:"layerId?"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"optional layerId: string;\n"})}),"\n",(0,n.jsx)(r.p,{children:"Optional, defines external layer for visualizing the geography"}),"\n",(0,n.jsx)(r.h5,{id:"precalc-1",children:"precalc"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"precalc: boolean;\n"})}),"\n",(0,n.jsx)(r.p,{children:"Optional, defines whether or not precalc should be run for this geography"}),"\n",(0,n.jsx)(r.h5,{id:"propertyfilter",children:"propertyFilter?"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"optional propertyFilter: object;\n"})}),"\n",(0,n.jsx)(r.p,{children:"Required if external datasource used, defines filter to constrain geography features, matches feature property having one or more specific values"}),"\n",(0,n.jsx)(r.h5,{id:"propertyfilterproperty",children:"propertyFilter.property"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"property: string;\n"})}),"\n",(0,n.jsx)(r.h5,{id:"propertyfiltervalues",children:"propertyFilter.values"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"values: (string | number)[];\n"})}),"\n",(0,n.jsx)(r.h4,{id:"throws",children:"Throws"}),"\n",(0,n.jsx)(r.p,{children:"if geography does not exist"}),"\n",(0,n.jsx)(r.hr,{}),"\n",(0,n.jsx)(r.h3,{id:"getinternalrasterdatasourcebyid",children:"getInternalRasterDatasourceById()"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"getInternalRasterDatasourceById(datasourceId): object\n"})}),"\n",(0,n.jsx)(r.p,{children:"Returns InternalRasterDatasource given datasourceId, throws if not found"}),"\n",(0,n.jsx)(r.h4,{id:"parameters-11",children:"Parameters"}),"\n",(0,n.jsxs)(r.table,{children:[(0,n.jsx)(r.thead,{children:(0,n.jsxs)(r.tr,{children:[(0,n.jsx)(r.th,{children:"Parameter"}),(0,n.jsx)(r.th,{children:"Type"})]})}),(0,n.jsx)(r.tbody,{children:(0,n.jsxs)(r.tr,{children:[(0,n.jsx)(r.td,{children:(0,n.jsx)(r.code,{children:"datasourceId"})}),(0,n.jsx)(r.td,{children:(0,n.jsx)(r.code,{children:"string"})})]})})]}),"\n",(0,n.jsx)(r.h4,{id:"returns-21",children:"Returns"}),"\n",(0,n.jsx)(r.p,{children:(0,n.jsx)(r.code,{children:"object"})}),"\n",(0,n.jsx)(r.h5,{id:"band",children:"band"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"band: number;\n"})}),"\n",(0,n.jsx)(r.p,{children:"Import - band within raster datasource to extract"}),"\n",(0,n.jsx)(r.h5,{id:"created",children:"created"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"created: string;\n"})}),"\n",(0,n.jsx)(r.p,{children:"Datasource creation timestamp"}),"\n",(0,n.jsx)(r.h5,{id:"datasourceid-1",children:"datasourceId"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"datasourceId: string;\n"})}),"\n",(0,n.jsx)(r.p,{children:"Unique id of datasource in project"}),"\n",(0,n.jsx)(r.h5,{id:"formats",children:"formats"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:'formats: ("fgb" | "json" | "tif" | "subdivided")[];\n'})}),"\n",(0,n.jsx)(r.p,{children:"Available formats"}),"\n",(0,n.jsx)(r.h5,{id:"geo_type",children:"geo_type"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:'geo_type: "vector" | "raster" = geoTypesSchema;\n'})}),"\n",(0,n.jsx)(r.p,{children:"basic geospatial type"}),"\n",(0,n.jsx)(r.h5,{id:"lastupdated",children:"lastUpdated"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"lastUpdated: string;\n"})}),"\n",(0,n.jsx)(r.p,{children:"Datasource updated timestamp"}),"\n",(0,n.jsx)(r.h5,{id:"measurementtype",children:"measurementType"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:'measurementType: "quantitative" | "categorical" = measurementTypesSchema;\n'})}),"\n",(0,n.jsx)(r.p,{children:"Type of measurements that the raster values represent"}),"\n",(0,n.jsx)(r.h5,{id:"metadata",children:"metadata?"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"optional metadata: object;\n"})}),"\n",(0,n.jsx)(r.h5,{id:"metadatadescription",children:"metadata.description?"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"optional description: string;\n"})}),"\n",(0,n.jsx)(r.p,{children:"Description of datasource"}),"\n",(0,n.jsx)(r.h5,{id:"metadataname",children:"metadata.name"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"name: string;\n"})}),"\n",(0,n.jsx)(r.p,{children:"Human-readable name of datasource"}),"\n",(0,n.jsx)(r.h5,{id:"metadatapublishdate",children:"metadata.publishDate"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"publishDate: string;\n"})}),"\n",(0,n.jsx)(r.p,{children:"ISO 8601 publish date"}),"\n",(0,n.jsx)(r.h5,{id:"metadatapublisher",children:"metadata.publisher"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"publisher: string;\n"})}),"\n",(0,n.jsx)(r.p,{children:"Publisher name"}),"\n",(0,n.jsx)(r.h5,{id:"metadatapublishlink",children:"metadata.publishLink"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"publishLink: string;\n"})}),"\n",(0,n.jsx)(r.p,{children:"Public URL to access published data"}),"\n",(0,n.jsx)(r.h5,{id:"metadataversion",children:"metadata.version"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"version: string;\n"})}),"\n",(0,n.jsx)(r.p,{children:"Publisher-provided version number or ISO 8601 date"}),"\n",(0,n.jsx)(r.h5,{id:"nodatavalue",children:"noDataValue?"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"optional noDataValue: number;\n"})}),"\n",(0,n.jsx)(r.p,{children:"Nodata value"}),"\n",(0,n.jsx)(r.h5,{id:"precalc-2",children:"precalc"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"precalc: boolean;\n"})}),"\n",(0,n.jsx)(r.p,{children:"Optional, defines whether or not precalc should be run for this datasource"}),"\n",(0,n.jsx)(r.h5,{id:"src",children:"src"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"src: string;\n"})}),"\n",(0,n.jsx)(r.p,{children:"Import - Path to source data, with filename"}),"\n",(0,n.jsx)(r.hr,{}),"\n",(0,n.jsx)(r.h3,{id:"getinternalvectordatasourcebyid",children:"getInternalVectorDatasourceById()"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"getInternalVectorDatasourceById(datasourceId): object\n"})}),"\n",(0,n.jsx)(r.p,{children:"Returns InternalVectorDatasource given datasourceId, throws if not found"}),"\n",(0,n.jsx)(r.h4,{id:"parameters-12",children:"Parameters"}),"\n",(0,n.jsxs)(r.table,{children:[(0,n.jsx)(r.thead,{children:(0,n.jsxs)(r.tr,{children:[(0,n.jsx)(r.th,{children:"Parameter"}),(0,n.jsx)(r.th,{children:"Type"})]})}),(0,n.jsx)(r.tbody,{children:(0,n.jsxs)(r.tr,{children:[(0,n.jsx)(r.td,{children:(0,n.jsx)(r.code,{children:"datasourceId"})}),(0,n.jsx)(r.td,{children:(0,n.jsx)(r.code,{children:"string"})})]})})]}),"\n",(0,n.jsx)(r.h4,{id:"returns-22",children:"Returns"}),"\n",(0,n.jsx)(r.p,{children:(0,n.jsx)(r.code,{children:"object"})}),"\n",(0,n.jsx)(r.h5,{id:"bboxfilter-1",children:"bboxFilter?"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"optional bboxFilter: [number, number, number, number] | [number, number, number, number, number, number];\n"})}),"\n",(0,n.jsx)(r.p,{children:"Optional, constrain datasource to smaller bbox"}),"\n",(0,n.jsx)(r.h5,{id:"classkeys",children:"classKeys"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"classKeys: string[];\n"})}),"\n",(0,n.jsx)(r.p,{children:"keys to generate classes for. Vector - property names"}),"\n",(0,n.jsx)(r.h5,{id:"created-1",children:"created"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"created: string;\n"})}),"\n",(0,n.jsx)(r.p,{children:"Datasource creation timestamp"}),"\n",(0,n.jsx)(r.h5,{id:"datasourceid-2",children:"datasourceId"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"datasourceId: string;\n"})}),"\n",(0,n.jsx)(r.p,{children:"Unique id of datasource in project"}),"\n",(0,n.jsx)(r.h5,{id:"explodemulti",children:"explodeMulti"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"explodeMulti: boolean;\n"})}),"\n",(0,n.jsx)(r.p,{children:"Import - Whether to explode multi-geometries into single e.g. MultiPolygon to Polygon. Defaults to true"}),"\n",(0,n.jsx)(r.h5,{id:"formats-1",children:"formats"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:'formats: ("fgb" | "json" | "tif" | "subdivided")[];\n'})}),"\n",(0,n.jsx)(r.p,{children:"Available formats"}),"\n",(0,n.jsx)(r.h5,{id:"geo_type-1",children:"geo_type"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:'geo_type: "vector" | "raster" = geoTypesSchema;\n'})}),"\n",(0,n.jsx)(r.p,{children:"basic geospatial type"}),"\n",(0,n.jsx)(r.h5,{id:"idproperty",children:"idProperty?"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"optional idProperty: string;\n"})}),"\n",(0,n.jsx)(r.p,{children:"Optional, name of property containing unique ID value for each vector feature"}),"\n",(0,n.jsx)(r.h5,{id:"lastupdated-1",children:"lastUpdated"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"lastUpdated: string;\n"})}),"\n",(0,n.jsx)(r.p,{children:"Datasource updated timestamp"}),"\n",(0,n.jsx)(r.h5,{id:"layername",children:"layerName?"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"optional layerName: string;\n"})}),"\n",(0,n.jsx)(r.p,{children:"Import - Name of layer within vector datasource to extract"}),"\n",(0,n.jsx)(r.h5,{id:"metadata-1",children:"metadata?"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"optional metadata: object;\n"})}),"\n",(0,n.jsx)(r.h5,{id:"metadatadescription-1",children:"metadata.description?"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"optional description: string;\n"})}),"\n",(0,n.jsx)(r.p,{children:"Description of datasource"}),"\n",(0,n.jsx)(r.h5,{id:"metadataname-1",children:"metadata.name"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"name: string;\n"})}),"\n",(0,n.jsx)(r.p,{children:"Human-readable name of datasource"}),"\n",(0,n.jsx)(r.h5,{id:"metadatapublishdate-1",children:"metadata.publishDate"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"publishDate: string;\n"})}),"\n",(0,n.jsx)(r.p,{children:"ISO 8601 publish date"}),"\n",(0,n.jsx)(r.h5,{id:"metadatapublisher-1",children:"metadata.publisher"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"publisher: string;\n"})}),"\n",(0,n.jsx)(r.p,{children:"Publisher name"}),"\n",(0,n.jsx)(r.h5,{id:"metadatapublishlink-1",children:"metadata.publishLink"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"publishLink: string;\n"})}),"\n",(0,n.jsx)(r.p,{children:"Public URL to access published data"}),"\n",(0,n.jsx)(r.h5,{id:"metadataversion-1",children:"metadata.version"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"version: string;\n"})}),"\n",(0,n.jsx)(r.p,{children:"Publisher-provided version number or ISO 8601 date"}),"\n",(0,n.jsx)(r.h5,{id:"nameproperty",children:"nameProperty?"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"optional nameProperty: string;\n"})}),"\n",(0,n.jsx)(r.p,{children:"Optional, name of property containing name for each vector feature"}),"\n",(0,n.jsx)(r.h5,{id:"precalc-3",children:"precalc"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"precalc: boolean;\n"})}),"\n",(0,n.jsx)(r.p,{children:"Optional, defines whether or not precalc should be run for this datasource"}),"\n",(0,n.jsx)(r.h5,{id:"propertiestokeep",children:"propertiesToKeep"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"propertiesToKeep: string[];\n"})}),"\n",(0,n.jsx)(r.p,{children:"Import - What to keep in final dataset. Vector - properties, all else removed"}),"\n",(0,n.jsx)(r.h5,{id:"propertyfilter-1",children:"propertyFilter?"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"optional propertyFilter: object;\n"})}),"\n",(0,n.jsx)(r.p,{children:"Optional, constrain datasource features by property having one or more specific values"}),"\n",(0,n.jsx)(r.h5,{id:"propertyfilterproperty-1",children:"propertyFilter.property"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"property: string;\n"})}),"\n",(0,n.jsx)(r.h5,{id:"propertyfiltervalues-1",children:"propertyFilter.values"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"values: (string | number)[];\n"})}),"\n",(0,n.jsx)(r.h5,{id:"src-1",children:"src"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"src: string;\n"})}),"\n",(0,n.jsx)(r.p,{children:"Import - Path to source data, with filename"}),"\n",(0,n.jsx)(r.hr,{}),"\n",(0,n.jsx)(r.h3,{id:"getmetricgroup",children:"getMetricGroup()"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"getMetricGroup(metricId, t?): object\n"})}),"\n",(0,n.jsx)(r.p,{children:"Returns MetricGroup given metricId, optional translating display name, given i18n t function"}),"\n",(0,n.jsx)(r.h4,{id:"parameters-13",children:"Parameters"}),"\n",(0,n.jsxs)(r.table,{children:[(0,n.jsx)(r.thead,{children:(0,n.jsxs)(r.tr,{children:[(0,n.jsx)(r.th,{children:"Parameter"}),(0,n.jsx)(r.th,{children:"Type"})]})}),(0,n.jsxs)(r.tbody,{children:[(0,n.jsxs)(r.tr,{children:[(0,n.jsx)(r.td,{children:(0,n.jsx)(r.code,{children:"metricId"})}),(0,n.jsx)(r.td,{children:(0,n.jsx)(r.code,{children:"string"})})]}),(0,n.jsxs)(r.tr,{children:[(0,n.jsxs)(r.td,{children:[(0,n.jsx)(r.code,{children:"t"}),"?"]}),(0,n.jsxs)(r.td,{children:[(0,n.jsx)(r.code,{children:"TFunction"}),"<",(0,n.jsx)(r.code,{children:'"translation"'}),", ",(0,n.jsx)(r.code,{children:"undefined"}),">"]})]})]})]}),"\n",(0,n.jsx)(r.h4,{id:"returns-23",children:"Returns"}),"\n",(0,n.jsx)(r.p,{children:(0,n.jsx)(r.code,{children:"object"})}),"\n",(0,n.jsx)(r.h5,{id:"classes",children:"classes"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"classes: object[];\n"})}),"\n",(0,n.jsx)(r.p,{children:"data classes used by group"}),"\n",(0,n.jsx)(r.h5,{id:"classkey",children:"classKey?"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"optional classKey: string;\n"})}),"\n",(0,n.jsx)(r.p,{children:"Optional datasource class key used to source classIds"}),"\n",(0,n.jsx)(r.h5,{id:"datasourceid-3",children:"datasourceId?"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"optional datasourceId: string;\n"})}),"\n",(0,n.jsx)(r.p,{children:"Datasource to generate metrics from"}),"\n",(0,n.jsx)(r.h5,{id:"layerid-1",children:"layerId?"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"optional layerId: string;\n"})}),"\n",(0,n.jsx)(r.p,{children:"Optional ID of map layer associated with this metric"}),"\n",(0,n.jsx)(r.h5,{id:"metricid",children:"metricId"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"metricId: string;\n"})}),"\n",(0,n.jsx)(r.p,{children:"Unique id of metric in project"}),"\n",(0,n.jsx)(r.h5,{id:"objectiveid",children:"objectiveId?"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"optional objectiveId: string;\n"})}),"\n",(0,n.jsx)(r.p,{children:"group level objective, applies to all classes"}),"\n",(0,n.jsx)(r.h5,{id:"type-1",children:"type?"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"optional type: string;\n"})}),"\n",(0,n.jsx)(r.p,{children:"unique identifier of what the metric represents, such as its type and method for calculation - e.g. areaOverlap, valueOverlap. To be defined by the user"}),"\n",(0,n.jsx)(r.hr,{}),"\n",(0,n.jsx)(r.h3,{id:"getmetricgroupobjectives",children:"getMetricGroupObjectives()"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"getMetricGroupObjectives(metricGroup, t?): object[]\n"})}),"\n",(0,n.jsx)(r.p,{children:"Returns all Objectives for MetricGroup, optionally translating short description, given i18n t function"}),"\n",(0,n.jsx)(r.h4,{id:"parameters-14",children:"Parameters"}),"\n",(0,n.jsxs)(r.table,{children:[(0,n.jsx)(r.thead,{children:(0,n.jsxs)(r.tr,{children:[(0,n.jsx)(r.th,{children:"Parameter"}),(0,n.jsx)(r.th,{children:"Type"}),(0,n.jsx)(r.th,{children:"Description"})]})}),(0,n.jsxs)(r.tbody,{children:[(0,n.jsxs)(r.tr,{children:[(0,n.jsx)(r.td,{children:(0,n.jsx)(r.code,{children:"metricGroup"})}),(0,n.jsx)(r.td,{children:(0,n.jsx)(r.code,{children:"object"})}),(0,n.jsx)(r.td,{children:"-"})]}),(0,n.jsxs)(r.tr,{children:[(0,n.jsx)(r.td,{children:(0,n.jsx)(r.code,{children:"metricGroup.classes"})}),(0,n.jsxs)(r.td,{children:[(0,n.jsx)(r.code,{children:"object"}),"[]"]}),(0,n.jsx)(r.td,{children:"data classes used by group"})]}),(0,n.jsxs)(r.tr,{children:[(0,n.jsxs)(r.td,{children:[(0,n.jsx)(r.code,{children:"metricGroup.classKey"}),"?"]}),(0,n.jsx)(r.td,{children:(0,n.jsx)(r.code,{children:"string"})}),(0,n.jsx)(r.td,{children:"Optional datasource class key used to source classIds"})]}),(0,n.jsxs)(r.tr,{children:[(0,n.jsxs)(r.td,{children:[(0,n.jsx)(r.code,{children:"metricGroup.datasourceId"}),"?"]}),(0,n.jsx)(r.td,{children:(0,n.jsx)(r.code,{children:"string"})}),(0,n.jsx)(r.td,{children:"Datasource to generate metrics from"})]}),(0,n.jsxs)(r.tr,{children:[(0,n.jsxs)(r.td,{children:[(0,n.jsx)(r.code,{children:"metricGroup.layerId"}),"?"]}),(0,n.jsx)(r.td,{children:(0,n.jsx)(r.code,{children:"string"})}),(0,n.jsx)(r.td,{children:"Optional ID of map layer associated with this metric"})]}),(0,n.jsxs)(r.tr,{children:[(0,n.jsxs)(r.td,{children:[(0,n.jsx)(r.code,{children:"metricGroup.metricId"}),"?"]}),(0,n.jsx)(r.td,{children:(0,n.jsx)(r.code,{children:"string"})}),(0,n.jsx)(r.td,{children:"Unique id of metric in project"})]}),(0,n.jsxs)(r.tr,{children:[(0,n.jsxs)(r.td,{children:[(0,n.jsx)(r.code,{children:"metricGroup.objectiveId"}),"?"]}),(0,n.jsx)(r.td,{children:(0,n.jsx)(r.code,{children:"string"})}),(0,n.jsx)(r.td,{children:"group level objective, applies to all classes"})]}),(0,n.jsxs)(r.tr,{children:[(0,n.jsxs)(r.td,{children:[(0,n.jsx)(r.code,{children:"metricGroup.type"}),"?"]}),(0,n.jsx)(r.td,{children:(0,n.jsx)(r.code,{children:"string"})}),(0,n.jsx)(r.td,{children:"unique identifier of what the metric represents, such as its type and method for calculation - e.g. areaOverlap, valueOverlap. To be defined by the user"})]}),(0,n.jsxs)(r.tr,{children:[(0,n.jsxs)(r.td,{children:[(0,n.jsx)(r.code,{children:"t"}),"?"]}),(0,n.jsxs)(r.td,{children:[(0,n.jsx)(r.code,{children:"TFunction"}),"<",(0,n.jsx)(r.code,{children:'"translation"'}),", ",(0,n.jsx)(r.code,{children:"undefined"}),">"]}),(0,n.jsx)(r.td,{children:"-"})]})]})]}),"\n",(0,n.jsx)(r.h4,{id:"returns-24",children:"Returns"}),"\n",(0,n.jsxs)(r.p,{children:[(0,n.jsx)(r.code,{children:"object"}),"[]"]}),"\n",(0,n.jsx)(r.hr,{}),"\n",(0,n.jsx)(r.h3,{id:"getmetricgrouppercid",children:"getMetricGroupPercId()"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"getMetricGroupPercId(mg): string\n"})}),"\n",(0,n.jsx)(r.p,{children:"Simple helper that given MetricGroup, returns a consistent ID string for a percent metric, defaults to metricId + 'Perc' added to the end"}),"\n",(0,n.jsx)(r.h4,{id:"parameters-15",children:"Parameters"}),"\n",(0,n.jsxs)(r.table,{children:[(0,n.jsx)(r.thead,{children:(0,n.jsxs)(r.tr,{children:[(0,n.jsx)(r.th,{children:"Parameter"}),(0,n.jsx)(r.th,{children:"Type"}),(0,n.jsx)(r.th,{children:"Description"})]})}),(0,n.jsxs)(r.tbody,{children:[(0,n.jsxs)(r.tr,{children:[(0,n.jsx)(r.td,{children:(0,n.jsx)(r.code,{children:"mg"})}),(0,n.jsx)(r.td,{children:(0,n.jsx)(r.code,{children:"object"})}),(0,n.jsx)(r.td,{children:"the MetricGroup"})]}),(0,n.jsxs)(r.tr,{children:[(0,n.jsx)(r.td,{children:(0,n.jsx)(r.code,{children:"mg.classes"})}),(0,n.jsxs)(r.td,{children:[(0,n.jsx)(r.code,{children:"object"}),"[]"]}),(0,n.jsx)(r.td,{children:"data classes used by group"})]}),(0,n.jsxs)(r.tr,{children:[(0,n.jsxs)(r.td,{children:[(0,n.jsx)(r.code,{children:"mg.classKey"}),"?"]}),(0,n.jsx)(r.td,{children:(0,n.jsx)(r.code,{children:"string"})}),(0,n.jsx)(r.td,{children:"Optional datasource class key used to source classIds"})]}),(0,n.jsxs)(r.tr,{children:[(0,n.jsxs)(r.td,{children:[(0,n.jsx)(r.code,{children:"mg.datasourceId"}),"?"]}),(0,n.jsx)(r.td,{children:(0,n.jsx)(r.code,{children:"string"})}),(0,n.jsx)(r.td,{children:"Datasource to generate metrics from"})]}),(0,n.jsxs)(r.tr,{children:[(0,n.jsxs)(r.td,{children:[(0,n.jsx)(r.code,{children:"mg.layerId"}),"?"]}),(0,n.jsx)(r.td,{children:(0,n.jsx)(r.code,{children:"string"})}),(0,n.jsx)(r.td,{children:"Optional ID of map layer associated with this metric"})]}),(0,n.jsxs)(r.tr,{children:[(0,n.jsx)(r.td,{children:(0,n.jsx)(r.code,{children:"mg.metricId"})}),(0,n.jsx)(r.td,{children:(0,n.jsx)(r.code,{children:"string"})}),(0,n.jsx)(r.td,{children:"Unique id of metric in project"})]}),(0,n.jsxs)(r.tr,{children:[(0,n.jsxs)(r.td,{children:[(0,n.jsx)(r.code,{children:"mg.objectiveId"}),"?"]}),(0,n.jsx)(r.td,{children:(0,n.jsx)(r.code,{children:"string"})}),(0,n.jsx)(r.td,{children:"group level objective, applies to all classes"})]}),(0,n.jsxs)(r.tr,{children:[(0,n.jsxs)(r.td,{children:[(0,n.jsx)(r.code,{children:"mg.type"}),"?"]}),(0,n.jsx)(r.td,{children:(0,n.jsx)(r.code,{children:"string"})}),(0,n.jsx)(r.td,{children:"unique identifier of what the metric represents, such as its type and method for calculation - e.g. areaOverlap, valueOverlap. To be defined by the user"})]})]})]}),"\n",(0,n.jsx)(r.h4,{id:"returns-25",children:"Returns"}),"\n",(0,n.jsx)(r.p,{children:(0,n.jsx)(r.code,{children:"string"})}),"\n",(0,n.jsxs)(r.ul,{children:["\n",(0,n.jsx)(r.li,{children:"ID string"}),"\n"]}),"\n",(0,n.jsx)(r.hr,{}),"\n",(0,n.jsx)(r.h3,{id:"getobjectivebyid",children:"getObjectiveById()"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"getObjectiveById(objectiveId): object\n"})}),"\n",(0,n.jsx)(r.p,{children:"Returns Objective given objectiveId"}),"\n",(0,n.jsx)(r.h4,{id:"parameters-16",children:"Parameters"}),"\n",(0,n.jsxs)(r.table,{children:[(0,n.jsx)(r.thead,{children:(0,n.jsxs)(r.tr,{children:[(0,n.jsx)(r.th,{children:"Parameter"}),(0,n.jsx)(r.th,{children:"Type"})]})}),(0,n.jsx)(r.tbody,{children:(0,n.jsxs)(r.tr,{children:[(0,n.jsx)(r.td,{children:(0,n.jsx)(r.code,{children:"objectiveId"})}),(0,n.jsx)(r.td,{children:(0,n.jsx)(r.code,{children:"string"})})]})})]}),"\n",(0,n.jsx)(r.h4,{id:"returns-26",children:"Returns"}),"\n",(0,n.jsx)(r.p,{children:(0,n.jsx)(r.code,{children:"object"})}),"\n",(0,n.jsx)(r.h5,{id:"countstoward",children:"countsToward"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:'countsToward: Record = objectiveAnswerMapSchema;\n'})}),"\n",(0,n.jsx)(r.p,{children:"Generic map of MPA protection levels to whether they count towards objective"}),"\n",(0,n.jsx)(r.h5,{id:"objectiveid-1",children:"objectiveId"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"objectiveId: string;\n"})}),"\n",(0,n.jsx)(r.p,{children:"Unique identifier for objective"}),"\n",(0,n.jsx)(r.h5,{id:"shortdesc",children:"shortDesc"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"shortDesc: string;\n"})}),"\n",(0,n.jsx)(r.h5,{id:"target",children:"target"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"target: number;\n"})}),"\n",(0,n.jsx)(r.p,{children:"Value required for objective to be met"}),"\n",(0,n.jsx)(r.hr,{}),"\n",(0,n.jsx)(r.h3,{id:"getprecalcmetrics",children:"getPrecalcMetrics()"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"getPrecalcMetrics(\n mg?, \n metricId?, \n geographyId?): object[]\n"})}),"\n",(0,n.jsx)(r.p,{children:"Returns precalc metrics from precalc.json. Optionally filters down to specific metricGroup and geographyId"}),"\n",(0,n.jsx)(r.h4,{id:"parameters-17",children:"Parameters"}),"\n",(0,n.jsxs)(r.table,{children:[(0,n.jsx)(r.thead,{children:(0,n.jsxs)(r.tr,{children:[(0,n.jsx)(r.th,{children:"Parameter"}),(0,n.jsx)(r.th,{children:"Type"}),(0,n.jsx)(r.th,{children:"Description"})]})}),(0,n.jsxs)(r.tbody,{children:[(0,n.jsxs)(r.tr,{children:[(0,n.jsxs)(r.td,{children:[(0,n.jsx)(r.code,{children:"mg"}),"?"]}),(0,n.jsx)(r.td,{children:(0,n.jsx)(r.code,{children:"object"})}),(0,n.jsx)(r.td,{children:"MetricGroup to get precalculated metrics for"})]}),(0,n.jsxs)(r.tr,{children:[(0,n.jsxs)(r.td,{children:[(0,n.jsx)(r.code,{children:"mg.classes"}),"?"]}),(0,n.jsxs)(r.td,{children:[(0,n.jsx)(r.code,{children:"object"}),"[]"]}),(0,n.jsx)(r.td,{children:"data classes used by group"})]}),(0,n.jsxs)(r.tr,{children:[(0,n.jsxs)(r.td,{children:[(0,n.jsx)(r.code,{children:"mg.classKey"}),"?"]}),(0,n.jsx)(r.td,{children:(0,n.jsx)(r.code,{children:"string"})}),(0,n.jsx)(r.td,{children:"Optional datasource class key used to source classIds"})]}),(0,n.jsxs)(r.tr,{children:[(0,n.jsxs)(r.td,{children:[(0,n.jsx)(r.code,{children:"mg.datasourceId"}),"?"]}),(0,n.jsx)(r.td,{children:(0,n.jsx)(r.code,{children:"string"})}),(0,n.jsx)(r.td,{children:"Datasource to generate metrics from"})]}),(0,n.jsxs)(r.tr,{children:[(0,n.jsxs)(r.td,{children:[(0,n.jsx)(r.code,{children:"mg.layerId"}),"?"]}),(0,n.jsx)(r.td,{children:(0,n.jsx)(r.code,{children:"string"})}),(0,n.jsx)(r.td,{children:"Optional ID of map layer associated with this metric"})]}),(0,n.jsxs)(r.tr,{children:[(0,n.jsxs)(r.td,{children:[(0,n.jsx)(r.code,{children:"mg.metricId"}),"?"]}),(0,n.jsx)(r.td,{children:(0,n.jsx)(r.code,{children:"string"})}),(0,n.jsx)(r.td,{children:"Unique id of metric in project"})]}),(0,n.jsxs)(r.tr,{children:[(0,n.jsxs)(r.td,{children:[(0,n.jsx)(r.code,{children:"mg.objectiveId"}),"?"]}),(0,n.jsx)(r.td,{children:(0,n.jsx)(r.code,{children:"string"})}),(0,n.jsx)(r.td,{children:"group level objective, applies to all classes"})]}),(0,n.jsxs)(r.tr,{children:[(0,n.jsxs)(r.td,{children:[(0,n.jsx)(r.code,{children:"mg.type"}),"?"]}),(0,n.jsx)(r.td,{children:(0,n.jsx)(r.code,{children:"string"})}),(0,n.jsx)(r.td,{children:"unique identifier of what the metric represents, such as its type and method for calculation - e.g. areaOverlap, valueOverlap. To be defined by the user"})]}),(0,n.jsxs)(r.tr,{children:[(0,n.jsxs)(r.td,{children:[(0,n.jsx)(r.code,{children:"metricId"}),"?"]}),(0,n.jsx)(r.td,{children:(0,n.jsx)(r.code,{children:"string"})}),(0,n.jsx)(r.td,{children:'string, "area", "count", or "sum"'})]}),(0,n.jsxs)(r.tr,{children:[(0,n.jsxs)(r.td,{children:[(0,n.jsx)(r.code,{children:"geographyId"}),"?"]}),(0,n.jsx)(r.td,{children:(0,n.jsx)(r.code,{children:"string"})}),(0,n.jsx)(r.td,{children:"string, geographyId to get precalculated metrics for"})]})]})]}),"\n",(0,n.jsx)(r.h4,{id:"returns-27",children:"Returns"}),"\n",(0,n.jsxs)(r.p,{children:[(0,n.jsx)(r.code,{children:"object"}),"[]"]}),"\n",(0,n.jsx)(r.p,{children:"Metric[] of precalculated metrics"}),"\n",(0,n.jsx)(r.hr,{}),"\n",(0,n.jsx)(r.h3,{id:"getrasterdatasourcebyid",children:"getRasterDatasourceById()"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"getRasterDatasourceById(datasourceId): object\n"})}),"\n",(0,n.jsx)(r.p,{children:"Returns RasterDatasource given datasourceId, throws if not found"}),"\n",(0,n.jsx)(r.h4,{id:"parameters-18",children:"Parameters"}),"\n",(0,n.jsxs)(r.table,{children:[(0,n.jsx)(r.thead,{children:(0,n.jsxs)(r.tr,{children:[(0,n.jsx)(r.th,{children:"Parameter"}),(0,n.jsx)(r.th,{children:"Type"})]})}),(0,n.jsx)(r.tbody,{children:(0,n.jsxs)(r.tr,{children:[(0,n.jsx)(r.td,{children:(0,n.jsx)(r.code,{children:"datasourceId"})}),(0,n.jsx)(r.td,{children:(0,n.jsx)(r.code,{children:"string"})})]})})]}),"\n",(0,n.jsx)(r.h4,{id:"returns-28",children:"Returns"}),"\n",(0,n.jsx)(r.p,{children:(0,n.jsx)(r.code,{children:"object"})}),"\n",(0,n.jsx)(r.h5,{id:"band-1",children:"band"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"band: number;\n"})}),"\n",(0,n.jsx)(r.p,{children:"Import - band within raster datasource to extract"}),"\n",(0,n.jsx)(r.h5,{id:"datasourceid-4",children:"datasourceId"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"datasourceId: string;\n"})}),"\n",(0,n.jsx)(r.p,{children:"Unique id of datasource in project"}),"\n",(0,n.jsx)(r.h5,{id:"formats-2",children:"formats"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:'formats: ("fgb" | "json" | "tif" | "subdivided")[];\n'})}),"\n",(0,n.jsx)(r.p,{children:"Available formats"}),"\n",(0,n.jsx)(r.h5,{id:"geo_type-2",children:"geo_type"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:'geo_type: "vector" | "raster" = geoTypesSchema;\n'})}),"\n",(0,n.jsx)(r.p,{children:"basic geospatial type"}),"\n",(0,n.jsx)(r.h5,{id:"measurementtype-1",children:"measurementType"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:'measurementType: "quantitative" | "categorical" = measurementTypesSchema;\n'})}),"\n",(0,n.jsx)(r.p,{children:"Type of measurements that the raster values represent"}),"\n",(0,n.jsx)(r.h5,{id:"metadata-2",children:"metadata?"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"optional metadata: object;\n"})}),"\n",(0,n.jsx)(r.h5,{id:"metadatadescription-2",children:"metadata.description?"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"optional description: string;\n"})}),"\n",(0,n.jsx)(r.p,{children:"Description of datasource"}),"\n",(0,n.jsx)(r.h5,{id:"metadataname-2",children:"metadata.name"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"name: string;\n"})}),"\n",(0,n.jsx)(r.p,{children:"Human-readable name of datasource"}),"\n",(0,n.jsx)(r.h5,{id:"metadatapublishdate-2",children:"metadata.publishDate"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"publishDate: string;\n"})}),"\n",(0,n.jsx)(r.p,{children:"ISO 8601 publish date"}),"\n",(0,n.jsx)(r.h5,{id:"metadatapublisher-2",children:"metadata.publisher"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"publisher: string;\n"})}),"\n",(0,n.jsx)(r.p,{children:"Publisher name"}),"\n",(0,n.jsx)(r.h5,{id:"metadatapublishlink-2",children:"metadata.publishLink"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"publishLink: string;\n"})}),"\n",(0,n.jsx)(r.p,{children:"Public URL to access published data"}),"\n",(0,n.jsx)(r.h5,{id:"metadataversion-2",children:"metadata.version"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"version: string;\n"})}),"\n",(0,n.jsx)(r.p,{children:"Publisher-provided version number or ISO 8601 date"}),"\n",(0,n.jsx)(r.h5,{id:"nodatavalue-1",children:"noDataValue?"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"optional noDataValue: number;\n"})}),"\n",(0,n.jsx)(r.p,{children:"Nodata value"}),"\n",(0,n.jsx)(r.h5,{id:"precalc-4",children:"precalc"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"precalc: boolean;\n"})}),"\n",(0,n.jsx)(r.p,{children:"Optional, defines whether or not precalc should be run for this datasource"}),"\n",(0,n.jsx)(r.h4,{id:"implementation-of-3",children:"Implementation of"}),"\n",(0,n.jsxs)(r.p,{children:[(0,n.jsx)(r.a,{href:"/geoprocessing/docs/next/api/geoprocessing/interfaces/ProjectClientInterface",children:(0,n.jsx)(r.code,{children:"ProjectClientInterface"})}),".",(0,n.jsx)(r.a,{href:"/geoprocessing/docs/next/api/geoprocessing/interfaces/ProjectClientInterface#getrasterdatasourcebyid",children:(0,n.jsx)(r.code,{children:"getRasterDatasourceById"})})]}),"\n",(0,n.jsx)(r.hr,{}),"\n",(0,n.jsx)(r.h3,{id:"getvectordatasourcebyid",children:"getVectorDatasourceById()"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"getVectorDatasourceById(datasourceId): object\n"})}),"\n",(0,n.jsx)(r.p,{children:"Returns VectorDatasource given datasourceId, throws if not found"}),"\n",(0,n.jsx)(r.h4,{id:"parameters-19",children:"Parameters"}),"\n",(0,n.jsxs)(r.table,{children:[(0,n.jsx)(r.thead,{children:(0,n.jsxs)(r.tr,{children:[(0,n.jsx)(r.th,{children:"Parameter"}),(0,n.jsx)(r.th,{children:"Type"})]})}),(0,n.jsx)(r.tbody,{children:(0,n.jsxs)(r.tr,{children:[(0,n.jsx)(r.td,{children:(0,n.jsx)(r.code,{children:"datasourceId"})}),(0,n.jsx)(r.td,{children:(0,n.jsx)(r.code,{children:"string"})})]})})]}),"\n",(0,n.jsx)(r.h4,{id:"returns-29",children:"Returns"}),"\n",(0,n.jsx)(r.p,{children:(0,n.jsx)(r.code,{children:"object"})}),"\n",(0,n.jsx)(r.h5,{id:"bboxfilter-2",children:"bboxFilter?"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"optional bboxFilter: [number, number, number, number] | [number, number, number, number, number, number];\n"})}),"\n",(0,n.jsx)(r.p,{children:"Optional, constrain datasource to smaller bbox"}),"\n",(0,n.jsx)(r.h5,{id:"classkeys-1",children:"classKeys"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"classKeys: string[];\n"})}),"\n",(0,n.jsx)(r.p,{children:"keys to generate classes for. Vector - property names"}),"\n",(0,n.jsx)(r.h5,{id:"datasourceid-5",children:"datasourceId"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"datasourceId: string;\n"})}),"\n",(0,n.jsx)(r.p,{children:"Unique id of datasource in project"}),"\n",(0,n.jsx)(r.h5,{id:"formats-3",children:"formats"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:'formats: ("fgb" | "json" | "tif" | "subdivided")[];\n'})}),"\n",(0,n.jsx)(r.p,{children:"Available formats"}),"\n",(0,n.jsx)(r.h5,{id:"geo_type-3",children:"geo_type"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:'geo_type: "vector" | "raster" = geoTypesSchema;\n'})}),"\n",(0,n.jsx)(r.p,{children:"basic geospatial type"}),"\n",(0,n.jsx)(r.h5,{id:"idproperty-1",children:"idProperty?"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"optional idProperty: string;\n"})}),"\n",(0,n.jsx)(r.p,{children:"Optional, name of property containing unique ID value for each vector feature"}),"\n",(0,n.jsx)(r.h5,{id:"layername-1",children:"layerName?"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"optional layerName: string;\n"})}),"\n",(0,n.jsx)(r.p,{children:"Import - Name of layer within vector datasource to extract"}),"\n",(0,n.jsx)(r.h5,{id:"metadata-3",children:"metadata?"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"optional metadata: object;\n"})}),"\n",(0,n.jsx)(r.h5,{id:"metadatadescription-3",children:"metadata.description?"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"optional description: string;\n"})}),"\n",(0,n.jsx)(r.p,{children:"Description of datasource"}),"\n",(0,n.jsx)(r.h5,{id:"metadataname-3",children:"metadata.name"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"name: string;\n"})}),"\n",(0,n.jsx)(r.p,{children:"Human-readable name of datasource"}),"\n",(0,n.jsx)(r.h5,{id:"metadatapublishdate-3",children:"metadata.publishDate"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"publishDate: string;\n"})}),"\n",(0,n.jsx)(r.p,{children:"ISO 8601 publish date"}),"\n",(0,n.jsx)(r.h5,{id:"metadatapublisher-3",children:"metadata.publisher"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"publisher: string;\n"})}),"\n",(0,n.jsx)(r.p,{children:"Publisher name"}),"\n",(0,n.jsx)(r.h5,{id:"metadatapublishlink-3",children:"metadata.publishLink"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"publishLink: string;\n"})}),"\n",(0,n.jsx)(r.p,{children:"Public URL to access published data"}),"\n",(0,n.jsx)(r.h5,{id:"metadataversion-3",children:"metadata.version"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"version: string;\n"})}),"\n",(0,n.jsx)(r.p,{children:"Publisher-provided version number or ISO 8601 date"}),"\n",(0,n.jsx)(r.h5,{id:"nameproperty-1",children:"nameProperty?"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"optional nameProperty: string;\n"})}),"\n",(0,n.jsx)(r.p,{children:"Optional, name of property containing name for each vector feature"}),"\n",(0,n.jsx)(r.h5,{id:"precalc-5",children:"precalc"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"precalc: boolean;\n"})}),"\n",(0,n.jsx)(r.p,{children:"Optional, defines whether or not precalc should be run for this datasource"}),"\n",(0,n.jsx)(r.h5,{id:"propertyfilter-2",children:"propertyFilter?"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"optional propertyFilter: object;\n"})}),"\n",(0,n.jsx)(r.p,{children:"Optional, constrain datasource features by property having one or more specific values"}),"\n",(0,n.jsx)(r.h5,{id:"propertyfilterproperty-2",children:"propertyFilter.property"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"property: string;\n"})}),"\n",(0,n.jsx)(r.h5,{id:"propertyfiltervalues-2",children:"propertyFilter.values"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-ts",children:"values: (string | number)[];\n"})}),"\n",(0,n.jsx)(r.h4,{id:"implementation-of-4",children:"Implementation of"}),"\n",(0,n.jsxs)(r.p,{children:[(0,n.jsx)(r.a,{href:"/geoprocessing/docs/next/api/geoprocessing/interfaces/ProjectClientInterface",children:(0,n.jsx)(r.code,{children:"ProjectClientInterface"})}),".",(0,n.jsx)(r.a,{href:"/geoprocessing/docs/next/api/geoprocessing/interfaces/ProjectClientInterface#getvectordatasourcebyid",children:(0,n.jsx)(r.code,{children:"getVectorDatasourceById"})})]})]})}function h(e={}){const{wrapper:r}={...(0,d.R)(),...e.components};return r?(0,n.jsx)(r,{...e,children:(0,n.jsx)(o,{...e})}):o(e)}},28453:(e,r,s)=>{s.d(r,{R:()=>l,x:()=>t});var n=s(96540);const d={},i=n.createContext(d);function l(e){const r=n.useContext(i);return n.useMemo((function(){return"function"==typeof e?e(r):{...r,...e}}),[r,e])}function t(e){let r;return r=e.disableParentContext?"function"==typeof e.components?e.components(d):e.components||d:l(e.components),n.createElement(i.Provider,{value:r},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/b79706ee.9f46ee55.js b/assets/js/b79706ee.9f46ee55.js new file mode 100644 index 000000000..b55e96bc7 --- /dev/null +++ b/assets/js/b79706ee.9f46ee55.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[8326],{39824:(e,s,t)=>{t.r(s),t.d(s,{assets:()=>d,contentTitle:()=>i,default:()=>l,frontMatter:()=>o,metadata:()=>c,toc:()=>a});var r=t(74848),n=t(28453);const o={},i="getFeaturesForSketchBBoxes()",c={id:"api/geoprocessing/functions/getFeaturesForSketchBBoxes",title:"getFeaturesForSketchBBoxes()",description:"Loads features from a FlatGeobuf referenced by URL, which intersect the",source:"@site/docs/api/geoprocessing/functions/getFeaturesForSketchBBoxes.md",sourceDirName:"api/geoprocessing/functions",slug:"/api/geoprocessing/functions/getFeaturesForSketchBBoxes",permalink:"/geoprocessing/docs/next/api/geoprocessing/functions/getFeaturesForSketchBBoxes",draft:!1,unlisted:!1,editUrl:"https://github.com/seasketch/geoprocessing/tree/main/website/templates/shared/docs/api/geoprocessing/functions/getFeaturesForSketchBBoxes.md",tags:[],version:"current",frontMatter:{}},d={},a=[{value:"Parameters",id:"parameters",level:2},{value:"Returns",id:"returns",level:2}];function h(e){const s={a:"a",code:"code",h1:"h1",h2:"h2",header:"header",p:"p",pre:"pre",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,n.R)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(s.header,{children:(0,r.jsx)(s.h1,{id:"getfeaturesforsketchbboxes",children:"getFeaturesForSketchBBoxes()"})}),"\n",(0,r.jsx)(s.pre,{children:(0,r.jsx)(s.code,{className:"language-ts",children:"function getFeaturesForSketchBBoxes(\n sketch, \n fgbUrl, \noptions): Promise[]>\n"})}),"\n",(0,r.jsx)(s.p,{children:"Loads features from a FlatGeobuf referenced by URL, which intersect the\nbounding boxes of each individual sketch in a SketchCollection, or a single\nSketch."}),"\n",(0,r.jsx)(s.p,{children:"In the case of a SketchCollection, it is possible that duplicate features may\nbe fetched in the case of overlapping bounding boxes or very large features\nthat span multiple bounding boxes. This function will de-dupe those features.\nIdeally, there is a feature.id property set. If not the caller can provide a\nuniqueIdProperty to de-dupe features. If neither is provided, a hash of the\nfeature coordinates will be used."}),"\n",(0,r.jsx)(s.p,{children:"If feature.id is not available, and uniqueIdProperty is not provided, there\nis the potential for elimination of features that are geometrically identical\nbut have different properties."}),"\n",(0,r.jsx)(s.h2,{id:"parameters",children:"Parameters"}),"\n",(0,r.jsxs)(s.table,{children:[(0,r.jsx)(s.thead,{children:(0,r.jsxs)(s.tr,{children:[(0,r.jsx)(s.th,{children:"Parameter"}),(0,r.jsx)(s.th,{children:"Type"}),(0,r.jsx)(s.th,{children:"Description"})]})}),(0,r.jsxs)(s.tbody,{children:[(0,r.jsxs)(s.tr,{children:[(0,r.jsx)(s.td,{children:(0,r.jsx)(s.code,{children:"sketch"})}),(0,r.jsxs)(s.td,{children:[(0,r.jsx)(s.a,{href:"/geoprocessing/docs/next/api/geoprocessing/interfaces/Sketch",children:(0,r.jsx)(s.code,{children:"Sketch"})}),"<",(0,r.jsx)(s.a,{href:"/geoprocessing/docs/next/api/geoprocessing/type-aliases/SketchGeometryTypes",children:(0,r.jsx)(s.code,{children:"SketchGeometryTypes"})}),"> | ",(0,r.jsx)(s.a,{href:"/geoprocessing/docs/next/api/geoprocessing/interfaces/SketchCollection",children:(0,r.jsx)(s.code,{children:"SketchCollection"})}),"<",(0,r.jsx)(s.a,{href:"/geoprocessing/docs/next/api/geoprocessing/type-aliases/SketchGeometryTypes",children:(0,r.jsx)(s.code,{children:"SketchGeometryTypes"})}),">"]}),(0,r.jsx)(s.td,{children:"Sketch or SketchCollection"})]}),(0,r.jsxs)(s.tr,{children:[(0,r.jsx)(s.td,{children:(0,r.jsx)(s.code,{children:"fgbUrl"})}),(0,r.jsx)(s.td,{children:(0,r.jsx)(s.code,{children:"string"})}),(0,r.jsx)(s.td,{children:"FlatGeobuf location"})]}),(0,r.jsxs)(s.tr,{children:[(0,r.jsx)(s.td,{children:(0,r.jsx)(s.code,{children:"options"})}),(0,r.jsx)(s.td,{children:(0,r.jsx)(s.code,{children:"object"})}),(0,r.jsx)(s.td,{children:"-"})]}),(0,r.jsxs)(s.tr,{children:[(0,r.jsxs)(s.td,{children:[(0,r.jsx)(s.code,{children:"options.uniqueIdProperty"}),"?"]}),(0,r.jsx)(s.td,{children:(0,r.jsx)(s.code,{children:"string"})}),(0,r.jsx)(s.td,{children:"-"})]})]})]}),"\n",(0,r.jsx)(s.h2,{id:"returns",children:"Returns"}),"\n",(0,r.jsxs)(s.p,{children:[(0,r.jsx)(s.code,{children:"Promise"}),"<",(0,r.jsx)(s.a,{href:"/geoprocessing/docs/next/api/geoprocessing/interfaces/Feature",children:(0,r.jsx)(s.code,{children:"Feature"})}),"<",(0,r.jsx)(s.a,{href:"/geoprocessing/docs/next/api/geoprocessing/interfaces/Polygon",children:(0,r.jsx)(s.code,{children:"Polygon"})})," | ",(0,r.jsx)(s.a,{href:"/geoprocessing/docs/next/api/geoprocessing/interfaces/MultiPolygon",children:(0,r.jsx)(s.code,{children:"MultiPolygon"})}),", ",(0,r.jsx)(s.a,{href:"/geoprocessing/docs/next/api/geoprocessing/type-aliases/GeoJsonProperties",children:(0,r.jsx)(s.code,{children:"GeoJsonProperties"})}),">[]>"]}),"\n",(0,r.jsx)(s.p,{children:"array of Features"})]})}function l(e={}){const{wrapper:s}={...(0,n.R)(),...e.components};return s?(0,r.jsx)(s,{...e,children:(0,r.jsx)(h,{...e})}):h(e)}},28453:(e,s,t)=>{t.d(s,{R:()=>i,x:()=>c});var r=t(96540);const n={},o=r.createContext(n);function i(e){const s=r.useContext(o);return r.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function c(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:i(e.components),r.createElement(o.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/b79706ee.a2fdc56e.js b/assets/js/b79706ee.a2fdc56e.js deleted file mode 100644 index dd10afe6c..000000000 --- a/assets/js/b79706ee.a2fdc56e.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[8326],{39824:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>a,contentTitle:()=>i,default:()=>l,frontMatter:()=>o,metadata:()=>c,toc:()=>d});var r=s(74848),n=s(28453);const o={},i="getFeaturesForSketchBBoxes()",c={id:"api/geoprocessing/functions/getFeaturesForSketchBBoxes",title:"getFeaturesForSketchBBoxes()",description:"Loads features from a FlatGeobuf referenced by URL, which intersect the",source:"@site/docs/api/geoprocessing/functions/getFeaturesForSketchBBoxes.md",sourceDirName:"api/geoprocessing/functions",slug:"/api/geoprocessing/functions/getFeaturesForSketchBBoxes",permalink:"/geoprocessing/docs/next/api/geoprocessing/functions/getFeaturesForSketchBBoxes",draft:!1,unlisted:!1,editUrl:"https://github.com/seasketch/geoprocessing/tree/main/website/templates/shared/docs/api/geoprocessing/functions/getFeaturesForSketchBBoxes.md",tags:[],version:"current",frontMatter:{}},a={},d=[{value:"Parameters",id:"parameters",level:2},{value:"Returns",id:"returns",level:2}];function h(e){const t={a:"a",code:"code",h1:"h1",h2:"h2",header:"header",p:"p",pre:"pre",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,n.R)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(t.header,{children:(0,r.jsx)(t.h1,{id:"getfeaturesforsketchbboxes",children:"getFeaturesForSketchBBoxes()"})}),"\n",(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-ts",children:"function getFeaturesForSketchBBoxes(\n sketch, \n fgbUrl, \nuniqueIdProperty?): Promise[]>\n"})}),"\n",(0,r.jsx)(t.p,{children:"Loads features from a FlatGeobuf referenced by URL, which intersect the\nbounding boxes of each individual sketch in a SketchCollection, or a single\nSketch."}),"\n",(0,r.jsx)(t.p,{children:"In the case of a SketchCollection, it is possible that duplicate features may\nbe fetched in the case of overlapping bounding boxes or very large features\nthat span multiple bounding boxes. This function will de-dupe those features.\nIdeally, there is a feature.id property set. If not the caller can provide a\nuniqueIdProperty to de-dupe features. If neither is provided, a hash of the\nfeature coordinates will be used."}),"\n",(0,r.jsx)(t.p,{children:"If feature.id is not available, and uniqueIdProperty is not provided, there\nis the potential for elimination of features that are geometrically identical\nbut have different properties."}),"\n",(0,r.jsx)(t.h2,{id:"parameters",children:"Parameters"}),"\n",(0,r.jsxs)(t.table,{children:[(0,r.jsx)(t.thead,{children:(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.th,{children:"Parameter"}),(0,r.jsx)(t.th,{children:"Type"}),(0,r.jsx)(t.th,{children:"Description"})]})}),(0,r.jsxs)(t.tbody,{children:[(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:(0,r.jsx)(t.code,{children:"sketch"})}),(0,r.jsxs)(t.td,{children:[(0,r.jsx)(t.a,{href:"/geoprocessing/docs/next/api/geoprocessing/interfaces/Sketch",children:(0,r.jsx)(t.code,{children:"Sketch"})}),"<",(0,r.jsx)(t.a,{href:"/geoprocessing/docs/next/api/geoprocessing/type-aliases/SketchGeometryTypes",children:(0,r.jsx)(t.code,{children:"SketchGeometryTypes"})}),"> | ",(0,r.jsx)(t.a,{href:"/geoprocessing/docs/next/api/geoprocessing/interfaces/SketchCollection",children:(0,r.jsx)(t.code,{children:"SketchCollection"})}),"<",(0,r.jsx)(t.a,{href:"/geoprocessing/docs/next/api/geoprocessing/type-aliases/SketchGeometryTypes",children:(0,r.jsx)(t.code,{children:"SketchGeometryTypes"})}),">"]}),(0,r.jsx)(t.td,{children:"Sketch or SketchCollection"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:(0,r.jsx)(t.code,{children:"fgbUrl"})}),(0,r.jsx)(t.td,{children:(0,r.jsx)(t.code,{children:"string"})}),(0,r.jsx)(t.td,{children:"FlatGeobuf location"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsxs)(t.td,{children:[(0,r.jsx)(t.code,{children:"uniqueIdProperty"}),"?"]}),(0,r.jsx)(t.td,{children:(0,r.jsx)(t.code,{children:"string"})}),(0,r.jsx)(t.td,{children:"Used to de-dupe features when feature.id is not available"})]})]})]}),"\n",(0,r.jsx)(t.h2,{id:"returns",children:"Returns"}),"\n",(0,r.jsxs)(t.p,{children:[(0,r.jsx)(t.code,{children:"Promise"}),"<",(0,r.jsx)(t.a,{href:"/geoprocessing/docs/next/api/geoprocessing/interfaces/Feature",children:(0,r.jsx)(t.code,{children:"Feature"})}),"<",(0,r.jsx)(t.a,{href:"/geoprocessing/docs/next/api/geoprocessing/interfaces/Polygon",children:(0,r.jsx)(t.code,{children:"Polygon"})})," | ",(0,r.jsx)(t.a,{href:"/geoprocessing/docs/next/api/geoprocessing/interfaces/MultiPolygon",children:(0,r.jsx)(t.code,{children:"MultiPolygon"})}),", ",(0,r.jsx)(t.a,{href:"/geoprocessing/docs/next/api/geoprocessing/type-aliases/GeoJsonProperties",children:(0,r.jsx)(t.code,{children:"GeoJsonProperties"})}),">[]>"]}),"\n",(0,r.jsx)(t.p,{children:"array of Features"})]})}function l(e={}){const{wrapper:t}={...(0,n.R)(),...e.components};return t?(0,r.jsx)(t,{...e,children:(0,r.jsx)(h,{...e})}):h(e)}},28453:(e,t,s)=>{s.d(t,{R:()=>i,x:()=>c});var r=s(96540);const n={},o=r.createContext(n);function i(e){const t=r.useContext(o);return r.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function c(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:i(e.components),r.createElement(o.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/c5879d20.d16d4e8e.js b/assets/js/c5879d20.0279ec94.js similarity index 99% rename from assets/js/c5879d20.d16d4e8e.js rename to assets/js/c5879d20.0279ec94.js index 5647cb574..08bf6c387 100644 --- a/assets/js/c5879d20.d16d4e8e.js +++ b/assets/js/c5879d20.0279ec94.js @@ -1 +1 @@ -"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[31429],{76254:(e,s,n)=>{n.r(s),n.d(s,{assets:()=>c,contentTitle:()=>o,default:()=>h,frontMatter:()=>i,metadata:()=>a,toc:()=>l});var t=n(74848),r=n(28453);const i={},o="Create New Geoprocessing Project",a={id:"tutorials/newproject",title:"newproject",description:"[WORK IN PROGRESS]",source:"@site/docs/tutorials/newproject.md",sourceDirName:"tutorials",slug:"/tutorials/newproject",permalink:"/geoprocessing/docs/next/tutorials/newproject",draft:!1,unlisted:!1,editUrl:"https://github.com/seasketch/geoprocessing/tree/main/website/templates/shared/docs/tutorials/newproject.md",tags:[],version:"current",frontMatter:{},sidebar:"tutorialSidebar",previous:{title:"Create Sample Project",permalink:"/geoprocessing/docs/next/tutorials/sampleproject"},next:{title:"Setup Existing Project",permalink:"/geoprocessing/docs/next/tutorials/existingproject"}},c={},l=[{value:"Where Do I Start?",id:"where-do-i-start",level:2},{value:"Design",id:"design",level:3},{value:"Start Simple",id:"start-simple",level:3},{value:"Then Get Complicated",id:"then-get-complicated",level:3},{value:"Create SeaSketch Project",id:"create-seasketch-project",level:2},{value:"Initialize New Project",id:"initialize-new-project",level:2},{value:"Link Data Into Workspace",id:"link-data-into-workspace",level:2},{value:"Import Datasources",id:"import-datasources",level:2},{value:"Write a Geoprocessing Function",id:"write-a-geoprocessing-function",level:2},{value:"Testing",id:"testing",level:2},{value:"Write Report Client",id:"write-report-client",level:2},{value:"Build and Deploy to AWS",id:"build-and-deploy-to-aws",level:2},{value:"Publish Datasources",id:"publish-datasources",level:2},{value:"Debugging build failure",id:"debugging-build-failure",level:3},{value:"Connect to SeaSketch Project and Test",id:"connect-to-seasketch-project-and-test",level:2},{value:"Advanced Features",id:"advanced-features",level:2},{value:"Project Client",id:"project-client",level:3},{value:"Configure Geography",id:"configure-geography",level:3},{value:"Precalc Metrics",id:"precalc-metrics",level:4},{value:"Metric Groups",id:"metric-groups",level:3},{value:"Create Report",id:"create-report",level:3},{value:"Language Translation",id:"language-translation",level:3},{value:"What Next",id:"what-next",level:2}];function d(e){const s={a:"a",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",header:"header",li:"li",p:"p",pre:"pre",ul:"ul",...(0,r.R)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(s.p,{children:"[WORK IN PROGRESS]"}),"\n",(0,t.jsx)(s.header,{children:(0,t.jsx)(s.h1,{id:"create-new-geoprocessing-project",children:"Create New Geoprocessing Project"})}),"\n",(0,t.jsx)(s.p,{children:"This tutorial walks you through designing and creating your own geoprocessing report. It covers many of the questions and decisions you might face along the way."}),"\n",(0,t.jsx)(s.p,{children:"This tutorial assumes:"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsxs)(s.li,{children:["Your ",(0,t.jsx)(s.a,{href:"/geoprocessing/docs/next/tutorials/",children:"system setup"})," is complete"]}),"\n",(0,t.jsxs)(s.li,{children:["You completed the ",(0,t.jsx)(s.a,{href:"/geoprocessing/docs/next/tutorials/sampleproject",children:"sample project tutorial"})]}),"\n",(0,t.jsx)(s.li,{children:"Your geoprocessing virtual environment is currently running (Devcontainer or WSL)"}),"\n",(0,t.jsx)(s.li,{children:"You have VSCode open in your virtual environment with a terminal pane open"}),"\n"]}),"\n",(0,t.jsx)(s.h2,{id:"where-do-i-start",children:"Where Do I Start?"}),"\n",(0,t.jsx)(s.p,{children:"Creating a geoprocessing project is not linear, it's iterative. You don't need to have all the answers for your project or understand all the features of the framework. Here's one approach:"}),"\n",(0,t.jsx)(s.h3,{id:"design",children:"Design"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsxs)(s.li,{children:["Explore the geoprocessing ",(0,t.jsx)(s.a,{href:"/storybook",children:"UI component library"})]}),"\n",(0,t.jsx)(s.li,{children:"Look at other SeaSketch Reports"}),"\n",(0,t.jsxs)(s.li,{children:["Use a design ",(0,t.jsx)(s.a,{href:"https://docs.google.com/document/d/1Qe7pZYmwg7ggRY9ocu3tpdTQkvuIHMr38wLxrjSitpU/edit?usp=sharing",children:"template"}),". This one asks common questions and is a good place to capture decisions."]}),"\n"]}),"\n",(0,t.jsx)(s.h3,{id:"start-simple",children:"Start Simple"}),"\n",(0,t.jsx)(s.p,{children:"The geoprocessing framework is a set of building blocks. Which ones you use are up to you. If your planning process requirements can start simple:"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"a single planning boundary or none at all"}),"\n",(0,t.jsx)(s.li,{children:"simple measurable objectives (overlap area, % area overlap, overlap feature count)"}),"\n",(0,t.jsx)(s.li,{children:"on smaller datasets"}),"\n",(0,t.jsx)(s.li,{children:"no classification of sketch types (e.g. protection levels)"}),"\n",(0,t.jsx)(s.li,{children:"no need to handle overlapping sketch polygons"}),"\n"]}),"\n",(0,t.jsx)(s.p,{children:"Then your geoprocessing project code can start simple:"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"no precalculation needed"}),"\n",(0,t.jsx)(s.li,{children:"direct import of GeoJSON datasets in code, or simple datasource import."}),"\n",(0,t.jsx)(s.li,{children:"direct use of turf and geoblaze to calculate simple metrics"}),"\n",(0,t.jsx)(s.li,{children:"simple reports rendering a few values, a table, a chart"}),"\n"]}),"\n",(0,t.jsxs)(s.p,{children:["A good example of this is ",(0,t.jsx)(s.a,{href:"https://github.com/underbluewaters/oregon-next",children:"Oregon"})," SeaSketch reports."]}),"\n",(0,t.jsx)(s.h3,{id:"then-get-complicated",children:"Then Get Complicated"}),"\n",(0,t.jsx)(s.p,{children:"As your planning process gets more complex:"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"multiple planning boundaries (offshore/nearshore)"}),"\n",(0,t.jsx)(s.li,{children:"multiple objectives with targets"}),"\n",(0,t.jsx)(s.li,{children:"large datasets with multiple data subclasses."}),"\n",(0,t.jsx)(s.li,{children:"long running analysis with required precalculation"}),"\n",(0,t.jsx)(s.li,{children:"use of a sketch classification system (e.g. protection levels)"}),"\n",(0,t.jsx)(s.li,{children:"need to enforce rules about overlapping sketches"}),"\n"]}),"\n",(0,t.jsx)(s.p,{children:"Then your project can benefit from more advanced features:"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsxs)(s.li,{children:["Fully managed ",(0,t.jsx)(s.code,{children:"Datasources"})," via ",(0,t.jsx)(s.code,{children:"data:import"})," and ",(0,t.jsx)(s.code,{children:"data:publish"})," commands with automated import, transform, and publish to S3."]}),"\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.code,{children:"Geography"})," records representing project planning boundaries"]}),"\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.code,{children:"Metric"})," records for representing multi-dimensional analysis results."]}),"\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.code,{children:"Objective"})," records representing objective targets per sketch class."]}),"\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.code,{children:"MetricGroup"})," records reresenting relationship of metric results to their data classes, datasource, objective target, etc."]}),"\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.code,{children:"toolbox"})," for calculating overlay analysis metrics at the collection level in many dimensions - by data class, by protection level, by planning boundary.","\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.code,{children:"overlapFeatures"}),", ",(0,t.jsx)(s.code,{children:"rasterMetrics"}),", ",(0,t.jsx)(s.code,{children:"overlapFeaturesGroupMetrics"}),", ",(0,t.jsx)(s.code,{children:"overlapRasterGroupMetrics"})]}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(s.li,{children:["UI components that can work with all of these record types","\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.code,{children:"ClassTable"}),", ",(0,t.jsx)(s.code,{children:"SketchClassTable"}),", ",(0,t.jsx)(s.code,{children:"GeographySwitcher"}),", ",(0,t.jsx)(s.code,{children:"RbcsMpaObjective"})]}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.code,{children:"precalc"})," command automating pre-calculation of overlay stats for combinations of Datasources and Geographies."]}),"\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.code,{children:"worker"})," functions to run geoprocessing work in parallel and get results faster."]}),"\n",(0,t.jsxs)(s.li,{children:["Language ",(0,t.jsx)(s.code,{children:"translation"})," workflow and library of pre-translated UI components."]}),"\n"]}),"\n",(0,t.jsx)(s.p,{children:"Examples of more complex projects:"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.a,{href:"https://github.com/seasketch/california-reports",children:"California"})," - multiple geographies presented in reports (planning boundaries, bioregions), worker functions"]}),"\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.a,{href:"https://github.com/seasketch/bermuda-reports-next",children:"Bermuda"})," - IUCN classification system with metrics calculated overall, per protection level, and per sketch. worker functions"]}),"\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.a,{href:"https://github.com/seasketch/azores-nearshore-reports",children:"Blue Azores nearshore"})," - user switching between planning geographies."]}),"\n",(0,t.jsx)(s.li,{children:(0,t.jsx)(s.a,{href:"https://github.com/seasketch/samoa-reports",children:"Samoa Reports"})}),"\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.a,{href:"https://github.com/seasketch/azores-nearshore-reports",children:"Azores Nearshore Reports"}),"."]}),"\n"]}),"\n",(0,t.jsx)(s.h2,{id:"create-seasketch-project",children:"Create SeaSketch Project"}),"\n",(0,t.jsxs)(s.p,{children:["First, follow the ",(0,t.jsx)(s.a,{href:"https://docs.seasketch.org/seasketch-documentation/administrators-guide/getting-started",children:"instructions"})," to create a new SeaSketch project. This includes defining the planning bounds and ",(0,t.jsx)(s.a,{href:"https://docs.seasketch.org/seasketch-documentation/administrators-guide/sketch-classes",children:"creating a Sketch class"}),". You will want to create a ",(0,t.jsx)(s.code,{children:"Polygon"})," sketch class with a name that makes sense for you project (e.g. MPA for Marine Protected Area) and then also a ",(0,t.jsx)(s.code,{children:"Collection"})," sketch class to group instances of your polygon sketch class into. Note that sketch classes are where you will integrate your geoprocessing services to view reports, but you will not do it at this time."]}),"\n",(0,t.jsx)(s.h2,{id:"initialize-new-project",children:"Initialize New Project"}),"\n",(0,t.jsx)(s.p,{children:"Start with initializing a new project:"}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-sh",children:"cd /workspaces\nnpx @seasketch/geoprocessing@7.0.0-experimental-7x-docs.103 init 7.0.0-experimental-7x-docs.103\n"})}),"\n",(0,t.jsx)(s.p,{children:"Tips:"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"the answers to all of the init questions can be changed later, so don't worry if you don't know the answer."}),"\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.a,{href:"https://github.com/seasketch/next/blob/master/LICENSE",children:"SeaSketch"})," uses a BSD-3 license (the default choice). You can choose any including ",(0,t.jsx)(s.code,{children:"UNLICENSED"}),' meaning proprietary or "All rights reserved" .']}),"\n",(0,t.jsxs)(s.li,{children:["The most common AWS region is ",(0,t.jsx)(s.code,{children:"us-west-1"})," or ",(0,t.jsx)(s.code,{children:"us-east-2"}),". ",(0,t.jsx)(s.a,{href:"https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-regions-availability-zones.html",children:"Choose the region"})," closest to your project."]}),"\n"]}),"\n",(0,t.jsxs)(s.p,{children:["Learn more about your projects ",(0,t.jsx)(s.a,{href:"/geoprocessing/docs/next/structure",children:"structure"})]}),"\n",(0,t.jsx)(s.h2,{id:"link-data-into-workspace",children:"Link Data Into Workspace"}),"\n",(0,t.jsxs)(s.p,{children:["Choose how to ",(0,t.jsx)(s.a,{href:"/geoprocessing/docs/next/linkData",children:"bring data into your workspace"}),"."]}),"\n",(0,t.jsx)(s.h2,{id:"import-datasources",children:"Import Datasources"}),"\n",(0,t.jsx)(s.p,{children:"Methods:"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsxs)(s.li,{children:["Use ",(0,t.jsx)(s.code,{children:"import:data"})]}),"\n",(0,t.jsxs)(s.li,{children:["Script your own method to prepare data and put it into ",(0,t.jsx)(s.code,{children:"data/dist"})]}),"\n"]}),"\n",(0,t.jsx)(s.h2,{id:"write-a-geoprocessing-function",children:"Write a Geoprocessing Function"}),"\n",(0,t.jsxs)(s.p,{children:["Let's start with ",(0,t.jsx)(s.code,{children:"src/functions/simpleFunction"})," and build it up to use a datasource."]}),"\n",(0,t.jsx)(s.p,{children:"Methods:"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"Directly import geojson file in function"}),"\n",(0,t.jsxs)(s.li,{children:["Use ",(0,t.jsx)(s.code,{children:"datasource"})," record and ",(0,t.jsx)(s.code,{children:"getDatasource"})," and ",(0,t.jsx)(s.code,{children:"getFeatures"})]}),"\n",(0,t.jsxs)(s.li,{children:["Load from project datasets bucket using ",(0,t.jsx)(s.code,{children:"loadFgb"})," or ",(0,t.jsx)(s.code,{children:"loadCog"})," function"]}),"\n",(0,t.jsxs)(s.li,{children:["Load from third-party using ",(0,t.jsx)(s.code,{children:"loadFgb"})," or ",(0,t.jsx)(s.code,{children:"loadCog"})," function"]}),"\n"]}),"\n",(0,t.jsxs)(s.p,{children:["If the data you'll use in analysis is already published online, publicly accessible, and in flatgeobuf or cloud-optimized geotiff format, then you can directly access them with ",(0,t.jsx)(s.code,{children:"loadFgb"})," and ",(0,t.jsx)(s.code,{children:"loadCog"})," functions."]}),"\n",(0,t.jsx)(s.h2,{id:"testing",children:"Testing"}),"\n",(0,t.jsx)(s.p,{children:"Methods to generate examples:"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"genRandomPolygon"}),"\n",(0,t.jsx)(s.li,{children:"geojson.io"}),"\n",(0,t.jsx)(s.li,{children:"export sketch geojson from SeaSketch project"}),"\n"]}),"\n",(0,t.jsxs)(s.p,{children:["Assuming you have a SeaSketch project with a Polygon sketch class, follow the instructions for ",(0,t.jsx)(s.a,{href:"https://docs.seasketch.org/seasketch-documentation/users-guide/sketching-tools",children:"sketching tools"})," to draw one or more polygon sketches. You can also create a collection and group your sketches into the collection."]}),"\n",(0,t.jsxs)(s.p,{children:["Finally, ",(0,t.jsx)(s.a,{href:"https://docs.seasketch.org/seasketch-documentation/users-guide/sketching-tools#downloading-sketches",children:"export"})," your sketches and sketch collections as GeoJSON, and move them into your geoprocessing projects ",(0,t.jsx)(s.code,{children:"examples/sketches"})," folder."]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-bash",children:" /examples/\n sketches/ # <-- examples used by geoprocessing functions\n features/ # <-- examples used by preprocessing functions\n"})}),"\n",(0,t.jsx)(s.p,{children:"Once you add your example sketches and collections to this folder, run your smoke tests."}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-bash",children:"npm run test\n"})}),"\n",(0,t.jsxs)(s.p,{children:["The smoke test for your geoprocessing function will run the function against every sketch example whether a single Sketch or a SketchCollection and output the results to ",(0,t.jsx)(s.code,{children:"examples/output"}),". You look at this output and ensure that it is as expected."]}),"\n",(0,t.jsxs)(s.p,{children:["Learn more about testing and debugging in\n",(0,t.jsx)(s.a,{href:"/geoprocessing/docs/next/testing",children:"testing"})]}),"\n",(0,t.jsx)(s.h2,{id:"write-report-client",children:"Write Report Client"}),"\n",(0,t.jsx)(s.h2,{id:"build-and-deploy-to-aws",children:"Build and Deploy to AWS"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"/geoprocessing/docs/next/tutorials/deploy",children:"Deploy your project"})}),"\n",(0,t.jsx)(s.h2,{id:"publish-datasources",children:"Publish Datasources"}),"\n",(0,t.jsx)(s.p,{children:"Methods:"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsxs)(s.li,{children:["use ",(0,t.jsx)(s.code,{children:"publish:data"})]}),"\n",(0,t.jsxs)(s.li,{children:["script your own method to publish datasources from ",(0,t.jsx)(s.code,{children:"data/dist"})," to project ",(0,t.jsx)(s.code,{children:"datasets"})," S3 bucket."]}),"\n"]}),"\n",(0,t.jsx)(s.h3,{id:"debugging-build-failure",children:"Debugging build failure"}),"\n",(0,t.jsxs)(s.p,{children:["If the build step fails, you will need to look at the error message and figure out what you need to do. Did it fail in building the functions or the clients? 99% of the time you should be able to catch these errors sooner. If VSCode finds invalid Typescript code, it will warn you with files marked in ",(0,t.jsx)(s.code,{children:"red"})," in the Explorer panel or with red markes and squiggle text in any of the files."]}),"\n",(0,t.jsx)(s.p,{children:"If you're still not sure try some of the following:"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"Run your smoke tests, see if they pass"}),"\n",(0,t.jsx)(s.li,{children:"When was the last time your build did succeed? You can be sure the error is caused by a change you made since then either in your project code, by upgrading your geoprocessing library version and not migratin fully, or by changing something on your system."}),"\n",(0,t.jsx)(s.li,{children:"You can stash your current changes or commit them to a branch so they are not lost. Then sequentially check out previous commits of the code until you find one that builds properly. Now you know that the next commit cause the build error."}),"\n"]}),"\n",(0,t.jsx)(s.h2,{id:"connect-to-seasketch-project-and-test",children:"Connect to SeaSketch Project and Test"}),"\n",(0,t.jsxs)(s.p,{children:["Choose ",(0,t.jsx)(s.code,{children:"clipToOcean"})," as preprocessor\nChoose ",(0,t.jsx)(s.code,{children:"MpaTabReport"})," as report client"]}),"\n",(0,t.jsxs)(s.p,{children:["Test different sketch and collection scenarios. When you find one that errors or does something unexpected, then you can export that sketch to your projects ",(0,t.jsx)(s.code,{children:"examples/sketches"})," directory and run your smoke tests. If that succeeds and produces output as expected, then load your storybook and see if you can reproduce in your report client."]}),"\n",(0,t.jsx)(s.h2,{id:"advanced-features",children:"Advanced Features"}),"\n",(0,t.jsx)(s.p,{children:"There are more advanced features available if you need them."}),"\n",(0,t.jsx)(s.h3,{id:"project-client",children:"Project Client"}),"\n",(0,t.jsx)(s.p,{children:"It has a lot of shortcut methods for working with datasources, geographies, precalc metrics, objectives, etc."}),"\n",(0,t.jsx)(s.p,{children:"[Link to project client ]"}),"\n",(0,t.jsx)(s.h3,{id:"configure-geography",children:"Configure Geography"}),"\n",(0,t.jsx)(s.p,{children:"Import planning boundary datasource and add as geography"}),"\n",(0,t.jsx)(s.h4,{id:"precalc-metrics",children:"Precalc Metrics"}),"\n",(0,t.jsx)(s.p,{children:"At the very least you should import your planning boundaries, preferably as individual files, or as individual layers within a file package."}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-sh",children:"npm run precalc:data\n\n? Do you want to precalculate only a subset?\n Yes, by datasource\n Yes, by geography\n Yes, by both\n\u276f No, just precalculate everything (may take a while)\n"})}),"\n",(0,t.jsxs)(s.p,{children:["What's happening is that the precalc script starts a local web server on port 8001 that serves up the datasources in ",(0,t.jsx)(s.code,{children:"data/dist"}),"."]}),"\n",(0,t.jsxs)(s.p,{children:["The precalc script then gets all your project datasources with ",(0,t.jsx)(s.code,{children:"precalc: true"}),", and all your project geographies with ",(0,t.jsx)(s.code,{children:"precalc: true"}),", and then calculate ",(0,t.jsx)(s.code,{children:"area"}),", ",(0,t.jsx)(s.code,{children:"sum"}),", and ",(0,t.jsx)(s.code,{children:"count"})," metrics for each combination of datasource and geography."]}),"\n",(0,t.jsxs)(s.p,{children:["Once complete ",(0,t.jsx)(s.code,{children:"project/precalc.json"})," will have been updated with the new metric values."]}),"\n",(0,t.jsxs)(s.p,{children:["If your datasource has ",(0,t.jsx)(s.code,{children:"classKeys"})," defined in its record, precalc will also calculate ",(0,t.jsx)(s.code,{children:"area"}),", ",(0,t.jsx)(s.code,{children:"sum"}),", and ",(0,t.jsx)(s.code,{children:"count"})," for each unique class value found within the classKey."]}),"\n",(0,t.jsxs)(s.p,{children:["You must re-run ",(0,t.jsx)(s.code,{children:"precalc:data"})," every time you change a geography record or a datasource."]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsxs)(s.li,{children:["To learn more advanced use, see the ",(0,t.jsx)(s.a,{href:"/geoprocessing/docs/next/precalc",children:"precalc"})," guide."]}),"\n",(0,t.jsxs)(s.li,{children:["To learn more about use of precalculated metrics, see the ",(0,t.jsx)(s.a,{href:"/geoprocessing/docs/next/reportclient",children:"report client"})," guide."]}),"\n"]}),"\n",(0,t.jsx)(s.h3,{id:"metric-groups",children:"Metric Groups"}),"\n",(0,t.jsx)(s.p,{children:"How you intend to use your data will determine what form the data needs to be in."}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsxs)(s.li,{children:["Do you have a vector dataset?","\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"Does it have a single data class?"}),"\n",(0,t.jsxs)(s.li,{children:["Does it have multiple data classes?","\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"Is it one data class per file?"}),"\n",(0,t.jsx)(s.li,{children:"Is it one data class per layer within file?"}),"\n",(0,t.jsx)(s.li,{children:"Does it have multiple data classes within one layer with an attribute to differentiate them?"}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(s.li,{children:["Do you have raster dataset?","\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsxs)(s.li,{children:["Does it have a single data class?","\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"Is it one file with one data class?"}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(s.li,{children:["Does it have multiple data classes?","\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"Is it one file, one data class per raster band?"}),"\n",(0,t.jsx)(s.li,{children:"Is it multiple files, one data class per file?"}),"\n",(0,t.jsx)(s.li,{children:"Is it a categorical raster with unique cell value for each class?"}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,t.jsx)(s.p,{children:"[ToDo: provide metric group example for each leaf in tree]"}),"\n",(0,t.jsx)(s.h3,{id:"create-report",children:"Create Report"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"Edits to the statistic you want calculated (i.e.calculating average instead of sum, etc) should happen in your function."}),"\n",(0,t.jsx)(s.li,{children:"Edits to the way the analytics are displayed (i.e. changing labels, converting units, adding text context, etc) should happen in your report components."}),"\n"]}),"\n",(0,t.jsx)(s.h3,{id:"language-translation",children:"Language Translation"}),"\n",(0,t.jsxs)(s.p,{children:["Language translation takes effort to maintain. It is suggested that you get your reports close to final, in the English language, and then ",(0,t.jsx)(s.a,{href:"/geoprocessing/docs/next/gip/GIP-1-i18n#language-translation-tutorial",children:"add translations"}),"."]}),"\n",(0,t.jsx)(s.h2,{id:"what-next",children:"What Next"}),"\n",(0,t.jsxs)(s.p,{children:["Still have more questions? ",(0,t.jsx)(s.a,{href:"https://github.com/seasketch/geoprocessing/discussions",children:"Start a discussion"})," on Github."]})]})}function h(e={}){const{wrapper:s}={...(0,r.R)(),...e.components};return s?(0,t.jsx)(s,{...e,children:(0,t.jsx)(d,{...e})}):d(e)}},28453:(e,s,n)=>{n.d(s,{R:()=>o,x:()=>a});var t=n(96540);const r={},i=t.createContext(r);function o(e){const s=t.useContext(i);return t.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function a(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:o(e.components),t.createElement(i.Provider,{value:s},e.children)}}}]); \ No newline at end of file +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[31429],{76254:(e,s,n)=>{n.r(s),n.d(s,{assets:()=>c,contentTitle:()=>o,default:()=>h,frontMatter:()=>i,metadata:()=>a,toc:()=>l});var t=n(74848),r=n(28453);const i={},o="Create New Geoprocessing Project",a={id:"tutorials/newproject",title:"newproject",description:"[WORK IN PROGRESS]",source:"@site/docs/tutorials/newproject.md",sourceDirName:"tutorials",slug:"/tutorials/newproject",permalink:"/geoprocessing/docs/next/tutorials/newproject",draft:!1,unlisted:!1,editUrl:"https://github.com/seasketch/geoprocessing/tree/main/website/templates/shared/docs/tutorials/newproject.md",tags:[],version:"current",frontMatter:{},sidebar:"tutorialSidebar",previous:{title:"Create Sample Project",permalink:"/geoprocessing/docs/next/tutorials/sampleproject"},next:{title:"Setup Existing Project",permalink:"/geoprocessing/docs/next/tutorials/existingproject"}},c={},l=[{value:"Where Do I Start?",id:"where-do-i-start",level:2},{value:"Design",id:"design",level:3},{value:"Start Simple",id:"start-simple",level:3},{value:"Then Get Complicated",id:"then-get-complicated",level:3},{value:"Create SeaSketch Project",id:"create-seasketch-project",level:2},{value:"Initialize New Project",id:"initialize-new-project",level:2},{value:"Link Data Into Workspace",id:"link-data-into-workspace",level:2},{value:"Import Datasources",id:"import-datasources",level:2},{value:"Write a Geoprocessing Function",id:"write-a-geoprocessing-function",level:2},{value:"Testing",id:"testing",level:2},{value:"Write Report Client",id:"write-report-client",level:2},{value:"Build and Deploy to AWS",id:"build-and-deploy-to-aws",level:2},{value:"Publish Datasources",id:"publish-datasources",level:2},{value:"Debugging build failure",id:"debugging-build-failure",level:3},{value:"Connect to SeaSketch Project and Test",id:"connect-to-seasketch-project-and-test",level:2},{value:"Advanced Features",id:"advanced-features",level:2},{value:"Project Client",id:"project-client",level:3},{value:"Configure Geography",id:"configure-geography",level:3},{value:"Precalc Metrics",id:"precalc-metrics",level:4},{value:"Metric Groups",id:"metric-groups",level:3},{value:"Create Report",id:"create-report",level:3},{value:"Language Translation",id:"language-translation",level:3},{value:"What Next",id:"what-next",level:2}];function d(e){const s={a:"a",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",header:"header",li:"li",p:"p",pre:"pre",ul:"ul",...(0,r.R)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(s.p,{children:"[WORK IN PROGRESS]"}),"\n",(0,t.jsx)(s.header,{children:(0,t.jsx)(s.h1,{id:"create-new-geoprocessing-project",children:"Create New Geoprocessing Project"})}),"\n",(0,t.jsx)(s.p,{children:"This tutorial walks you through designing and creating your own geoprocessing report. It covers many of the questions and decisions you might face along the way."}),"\n",(0,t.jsx)(s.p,{children:"This tutorial assumes:"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsxs)(s.li,{children:["Your ",(0,t.jsx)(s.a,{href:"/geoprocessing/docs/next/tutorials/",children:"system setup"})," is complete"]}),"\n",(0,t.jsxs)(s.li,{children:["You completed the ",(0,t.jsx)(s.a,{href:"/geoprocessing/docs/next/tutorials/sampleproject",children:"sample project tutorial"})]}),"\n",(0,t.jsx)(s.li,{children:"Your geoprocessing virtual environment is currently running (Devcontainer or WSL)"}),"\n",(0,t.jsx)(s.li,{children:"You have VSCode open in your virtual environment with a terminal pane open"}),"\n"]}),"\n",(0,t.jsx)(s.h2,{id:"where-do-i-start",children:"Where Do I Start?"}),"\n",(0,t.jsx)(s.p,{children:"Creating a geoprocessing project is not linear, it's iterative. You don't need to have all the answers for your project or understand all the features of the framework. Here's one approach:"}),"\n",(0,t.jsx)(s.h3,{id:"design",children:"Design"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsxs)(s.li,{children:["Explore the geoprocessing ",(0,t.jsx)(s.a,{href:"/storybook",children:"UI component library"})]}),"\n",(0,t.jsx)(s.li,{children:"Look at other SeaSketch Reports"}),"\n",(0,t.jsxs)(s.li,{children:["Use a design ",(0,t.jsx)(s.a,{href:"https://docs.google.com/document/d/1Qe7pZYmwg7ggRY9ocu3tpdTQkvuIHMr38wLxrjSitpU/edit?usp=sharing",children:"template"}),". This one asks common questions and is a good place to capture decisions."]}),"\n"]}),"\n",(0,t.jsx)(s.h3,{id:"start-simple",children:"Start Simple"}),"\n",(0,t.jsx)(s.p,{children:"The geoprocessing framework is a set of building blocks. Which ones you use are up to you. If your planning process requirements can start simple:"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"a single planning boundary or none at all"}),"\n",(0,t.jsx)(s.li,{children:"simple measurable objectives (overlap area, % area overlap, overlap feature count)"}),"\n",(0,t.jsx)(s.li,{children:"on smaller datasets"}),"\n",(0,t.jsx)(s.li,{children:"no classification of sketch types (e.g. protection levels)"}),"\n",(0,t.jsx)(s.li,{children:"no need to handle overlapping sketch polygons"}),"\n"]}),"\n",(0,t.jsx)(s.p,{children:"Then your geoprocessing project code can start simple:"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"no precalculation needed"}),"\n",(0,t.jsx)(s.li,{children:"direct import of GeoJSON datasets in code, or simple datasource import."}),"\n",(0,t.jsx)(s.li,{children:"direct use of turf and geoblaze to calculate simple metrics"}),"\n",(0,t.jsx)(s.li,{children:"simple reports rendering a few values, a table, a chart"}),"\n"]}),"\n",(0,t.jsxs)(s.p,{children:["A good example of this is ",(0,t.jsx)(s.a,{href:"https://github.com/underbluewaters/oregon-next",children:"Oregon"})," SeaSketch reports."]}),"\n",(0,t.jsx)(s.h3,{id:"then-get-complicated",children:"Then Get Complicated"}),"\n",(0,t.jsx)(s.p,{children:"As your planning process gets more complex:"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"multiple planning boundaries (offshore/nearshore)"}),"\n",(0,t.jsx)(s.li,{children:"multiple objectives with targets"}),"\n",(0,t.jsx)(s.li,{children:"large datasets with multiple data subclasses."}),"\n",(0,t.jsx)(s.li,{children:"long running analysis with required precalculation"}),"\n",(0,t.jsx)(s.li,{children:"use of a sketch classification system (e.g. protection levels)"}),"\n",(0,t.jsx)(s.li,{children:"need to enforce rules about overlapping sketches"}),"\n"]}),"\n",(0,t.jsx)(s.p,{children:"Then your project can benefit from more advanced features:"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsxs)(s.li,{children:["Fully managed ",(0,t.jsx)(s.code,{children:"Datasources"})," via ",(0,t.jsx)(s.code,{children:"data:import"})," and ",(0,t.jsx)(s.code,{children:"data:publish"})," commands with automated import, transform, and publish to S3."]}),"\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.code,{children:"Geography"})," records representing project planning boundaries"]}),"\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.code,{children:"Metric"})," records for representing multi-dimensional analysis results."]}),"\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.code,{children:"Objective"})," records representing objective targets per sketch class."]}),"\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.code,{children:"MetricGroup"})," records reresenting relationship of metric results to their data classes, datasource, objective target, etc."]}),"\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.code,{children:"toolbox"})," for calculating overlay analysis metrics at the collection level in many dimensions - by data class, by protection level, by planning boundary.","\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.code,{children:"overlapFeatures"}),", ",(0,t.jsx)(s.code,{children:"rasterMetrics"}),", ",(0,t.jsx)(s.code,{children:"overlapFeaturesGroupMetrics"}),", ",(0,t.jsx)(s.code,{children:"overlapRasterGroupMetrics"})]}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(s.li,{children:["UI components that can work with all of these record types","\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.code,{children:"ClassTable"}),", ",(0,t.jsx)(s.code,{children:"SketchClassTable"}),", ",(0,t.jsx)(s.code,{children:"GeographySwitcher"}),", ",(0,t.jsx)(s.code,{children:"RbcsMpaObjective"})]}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.code,{children:"precalc"})," command automating pre-calculation of overlay stats for combinations of Datasources and Geographies."]}),"\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.code,{children:"worker"})," functions to run geoprocessing work in parallel and get results faster."]}),"\n",(0,t.jsxs)(s.li,{children:["Language ",(0,t.jsx)(s.code,{children:"translation"})," workflow and library of pre-translated UI components."]}),"\n"]}),"\n",(0,t.jsx)(s.p,{children:"Examples of more complex projects:"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.a,{href:"https://github.com/seasketch/california-reports",children:"California"})," - multiple geographies presented in reports (planning boundaries, bioregions), worker functions"]}),"\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.a,{href:"https://github.com/seasketch/bermuda-reports-next",children:"Bermuda"})," - IUCN classification system with metrics calculated overall, per protection level, and per sketch. worker functions"]}),"\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.a,{href:"https://github.com/seasketch/azores-nearshore-reports",children:"Blue Azores nearshore"})," - user switching between planning geographies."]}),"\n",(0,t.jsx)(s.li,{children:(0,t.jsx)(s.a,{href:"https://github.com/seasketch/samoa-reports",children:"Samoa Reports"})}),"\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.a,{href:"https://github.com/seasketch/azores-nearshore-reports",children:"Azores Nearshore Reports"}),"."]}),"\n"]}),"\n",(0,t.jsx)(s.h2,{id:"create-seasketch-project",children:"Create SeaSketch Project"}),"\n",(0,t.jsxs)(s.p,{children:["First, follow the ",(0,t.jsx)(s.a,{href:"https://docs.seasketch.org/seasketch-documentation/administrators-guide/getting-started",children:"instructions"})," to create a new SeaSketch project. This includes defining the planning bounds and ",(0,t.jsx)(s.a,{href:"https://docs.seasketch.org/seasketch-documentation/administrators-guide/sketch-classes",children:"creating a Sketch class"}),". You will want to create a ",(0,t.jsx)(s.code,{children:"Polygon"})," sketch class with a name that makes sense for you project (e.g. MPA for Marine Protected Area) and then also a ",(0,t.jsx)(s.code,{children:"Collection"})," sketch class to group instances of your polygon sketch class into. Note that sketch classes are where you will integrate your geoprocessing services to view reports, but you will not do it at this time."]}),"\n",(0,t.jsx)(s.h2,{id:"initialize-new-project",children:"Initialize New Project"}),"\n",(0,t.jsx)(s.p,{children:"Start with initializing a new project:"}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-sh",children:"cd /workspaces\nnpx @seasketch/geoprocessing@7.0.0-experimental-7x-docs.112 init 7.0.0-experimental-7x-docs.112\n"})}),"\n",(0,t.jsx)(s.p,{children:"Tips:"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"the answers to all of the init questions can be changed later, so don't worry if you don't know the answer."}),"\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.a,{href:"https://github.com/seasketch/next/blob/master/LICENSE",children:"SeaSketch"})," uses a BSD-3 license (the default choice). You can choose any including ",(0,t.jsx)(s.code,{children:"UNLICENSED"}),' meaning proprietary or "All rights reserved" .']}),"\n",(0,t.jsxs)(s.li,{children:["The most common AWS region is ",(0,t.jsx)(s.code,{children:"us-west-1"})," or ",(0,t.jsx)(s.code,{children:"us-east-2"}),". ",(0,t.jsx)(s.a,{href:"https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-regions-availability-zones.html",children:"Choose the region"})," closest to your project."]}),"\n"]}),"\n",(0,t.jsxs)(s.p,{children:["Learn more about your projects ",(0,t.jsx)(s.a,{href:"/geoprocessing/docs/next/structure",children:"structure"})]}),"\n",(0,t.jsx)(s.h2,{id:"link-data-into-workspace",children:"Link Data Into Workspace"}),"\n",(0,t.jsxs)(s.p,{children:["Choose how to ",(0,t.jsx)(s.a,{href:"/geoprocessing/docs/next/linkData",children:"bring data into your workspace"}),"."]}),"\n",(0,t.jsx)(s.h2,{id:"import-datasources",children:"Import Datasources"}),"\n",(0,t.jsx)(s.p,{children:"Methods:"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsxs)(s.li,{children:["Use ",(0,t.jsx)(s.code,{children:"import:data"})]}),"\n",(0,t.jsxs)(s.li,{children:["Script your own method to prepare data and put it into ",(0,t.jsx)(s.code,{children:"data/dist"})]}),"\n"]}),"\n",(0,t.jsx)(s.h2,{id:"write-a-geoprocessing-function",children:"Write a Geoprocessing Function"}),"\n",(0,t.jsxs)(s.p,{children:["Let's start with ",(0,t.jsx)(s.code,{children:"src/functions/simpleFunction"})," and build it up to use a datasource."]}),"\n",(0,t.jsx)(s.p,{children:"Methods:"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"Directly import geojson file in function"}),"\n",(0,t.jsxs)(s.li,{children:["Use ",(0,t.jsx)(s.code,{children:"datasource"})," record and ",(0,t.jsx)(s.code,{children:"getDatasource"})," and ",(0,t.jsx)(s.code,{children:"getFeatures"})]}),"\n",(0,t.jsxs)(s.li,{children:["Load from project datasets bucket using ",(0,t.jsx)(s.code,{children:"loadFgb"})," or ",(0,t.jsx)(s.code,{children:"loadCog"})," function"]}),"\n",(0,t.jsxs)(s.li,{children:["Load from third-party using ",(0,t.jsx)(s.code,{children:"loadFgb"})," or ",(0,t.jsx)(s.code,{children:"loadCog"})," function"]}),"\n"]}),"\n",(0,t.jsxs)(s.p,{children:["If the data you'll use in analysis is already published online, publicly accessible, and in flatgeobuf or cloud-optimized geotiff format, then you can directly access them with ",(0,t.jsx)(s.code,{children:"loadFgb"})," and ",(0,t.jsx)(s.code,{children:"loadCog"})," functions."]}),"\n",(0,t.jsx)(s.h2,{id:"testing",children:"Testing"}),"\n",(0,t.jsx)(s.p,{children:"Methods to generate examples:"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"genRandomPolygon"}),"\n",(0,t.jsx)(s.li,{children:"geojson.io"}),"\n",(0,t.jsx)(s.li,{children:"export sketch geojson from SeaSketch project"}),"\n"]}),"\n",(0,t.jsxs)(s.p,{children:["Assuming you have a SeaSketch project with a Polygon sketch class, follow the instructions for ",(0,t.jsx)(s.a,{href:"https://docs.seasketch.org/seasketch-documentation/users-guide/sketching-tools",children:"sketching tools"})," to draw one or more polygon sketches. You can also create a collection and group your sketches into the collection."]}),"\n",(0,t.jsxs)(s.p,{children:["Finally, ",(0,t.jsx)(s.a,{href:"https://docs.seasketch.org/seasketch-documentation/users-guide/sketching-tools#downloading-sketches",children:"export"})," your sketches and sketch collections as GeoJSON, and move them into your geoprocessing projects ",(0,t.jsx)(s.code,{children:"examples/sketches"})," folder."]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-bash",children:" /examples/\n sketches/ # <-- examples used by geoprocessing functions\n features/ # <-- examples used by preprocessing functions\n"})}),"\n",(0,t.jsx)(s.p,{children:"Once you add your example sketches and collections to this folder, run your smoke tests."}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-bash",children:"npm run test\n"})}),"\n",(0,t.jsxs)(s.p,{children:["The smoke test for your geoprocessing function will run the function against every sketch example whether a single Sketch or a SketchCollection and output the results to ",(0,t.jsx)(s.code,{children:"examples/output"}),". You look at this output and ensure that it is as expected."]}),"\n",(0,t.jsxs)(s.p,{children:["Learn more about testing and debugging in\n",(0,t.jsx)(s.a,{href:"/geoprocessing/docs/next/testing",children:"testing"})]}),"\n",(0,t.jsx)(s.h2,{id:"write-report-client",children:"Write Report Client"}),"\n",(0,t.jsx)(s.h2,{id:"build-and-deploy-to-aws",children:"Build and Deploy to AWS"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"/geoprocessing/docs/next/tutorials/deploy",children:"Deploy your project"})}),"\n",(0,t.jsx)(s.h2,{id:"publish-datasources",children:"Publish Datasources"}),"\n",(0,t.jsx)(s.p,{children:"Methods:"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsxs)(s.li,{children:["use ",(0,t.jsx)(s.code,{children:"publish:data"})]}),"\n",(0,t.jsxs)(s.li,{children:["script your own method to publish datasources from ",(0,t.jsx)(s.code,{children:"data/dist"})," to project ",(0,t.jsx)(s.code,{children:"datasets"})," S3 bucket."]}),"\n"]}),"\n",(0,t.jsx)(s.h3,{id:"debugging-build-failure",children:"Debugging build failure"}),"\n",(0,t.jsxs)(s.p,{children:["If the build step fails, you will need to look at the error message and figure out what you need to do. Did it fail in building the functions or the clients? 99% of the time you should be able to catch these errors sooner. If VSCode finds invalid Typescript code, it will warn you with files marked in ",(0,t.jsx)(s.code,{children:"red"})," in the Explorer panel or with red markes and squiggle text in any of the files."]}),"\n",(0,t.jsx)(s.p,{children:"If you're still not sure try some of the following:"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"Run your smoke tests, see if they pass"}),"\n",(0,t.jsx)(s.li,{children:"When was the last time your build did succeed? You can be sure the error is caused by a change you made since then either in your project code, by upgrading your geoprocessing library version and not migratin fully, or by changing something on your system."}),"\n",(0,t.jsx)(s.li,{children:"You can stash your current changes or commit them to a branch so they are not lost. Then sequentially check out previous commits of the code until you find one that builds properly. Now you know that the next commit cause the build error."}),"\n"]}),"\n",(0,t.jsx)(s.h2,{id:"connect-to-seasketch-project-and-test",children:"Connect to SeaSketch Project and Test"}),"\n",(0,t.jsxs)(s.p,{children:["Choose ",(0,t.jsx)(s.code,{children:"clipToOcean"})," as preprocessor\nChoose ",(0,t.jsx)(s.code,{children:"MpaTabReport"})," as report client"]}),"\n",(0,t.jsxs)(s.p,{children:["Test different sketch and collection scenarios. When you find one that errors or does something unexpected, then you can export that sketch to your projects ",(0,t.jsx)(s.code,{children:"examples/sketches"})," directory and run your smoke tests. If that succeeds and produces output as expected, then load your storybook and see if you can reproduce in your report client."]}),"\n",(0,t.jsx)(s.h2,{id:"advanced-features",children:"Advanced Features"}),"\n",(0,t.jsx)(s.p,{children:"There are more advanced features available if you need them."}),"\n",(0,t.jsx)(s.h3,{id:"project-client",children:"Project Client"}),"\n",(0,t.jsx)(s.p,{children:"It has a lot of shortcut methods for working with datasources, geographies, precalc metrics, objectives, etc."}),"\n",(0,t.jsx)(s.p,{children:"[Link to project client ]"}),"\n",(0,t.jsx)(s.h3,{id:"configure-geography",children:"Configure Geography"}),"\n",(0,t.jsx)(s.p,{children:"Import planning boundary datasource and add as geography"}),"\n",(0,t.jsx)(s.h4,{id:"precalc-metrics",children:"Precalc Metrics"}),"\n",(0,t.jsx)(s.p,{children:"At the very least you should import your planning boundaries, preferably as individual files, or as individual layers within a file package."}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-sh",children:"npm run precalc:data\n\n? Do you want to precalculate only a subset?\n Yes, by datasource\n Yes, by geography\n Yes, by both\n\u276f No, just precalculate everything (may take a while)\n"})}),"\n",(0,t.jsxs)(s.p,{children:["What's happening is that the precalc script starts a local web server on port 8001 that serves up the datasources in ",(0,t.jsx)(s.code,{children:"data/dist"}),"."]}),"\n",(0,t.jsxs)(s.p,{children:["The precalc script then gets all your project datasources with ",(0,t.jsx)(s.code,{children:"precalc: true"}),", and all your project geographies with ",(0,t.jsx)(s.code,{children:"precalc: true"}),", and then calculate ",(0,t.jsx)(s.code,{children:"area"}),", ",(0,t.jsx)(s.code,{children:"sum"}),", and ",(0,t.jsx)(s.code,{children:"count"})," metrics for each combination of datasource and geography."]}),"\n",(0,t.jsxs)(s.p,{children:["Once complete ",(0,t.jsx)(s.code,{children:"project/precalc.json"})," will have been updated with the new metric values."]}),"\n",(0,t.jsxs)(s.p,{children:["If your datasource has ",(0,t.jsx)(s.code,{children:"classKeys"})," defined in its record, precalc will also calculate ",(0,t.jsx)(s.code,{children:"area"}),", ",(0,t.jsx)(s.code,{children:"sum"}),", and ",(0,t.jsx)(s.code,{children:"count"})," for each unique class value found within the classKey."]}),"\n",(0,t.jsxs)(s.p,{children:["You must re-run ",(0,t.jsx)(s.code,{children:"precalc:data"})," every time you change a geography record or a datasource."]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsxs)(s.li,{children:["To learn more advanced use, see the ",(0,t.jsx)(s.a,{href:"/geoprocessing/docs/next/precalc",children:"precalc"})," guide."]}),"\n",(0,t.jsxs)(s.li,{children:["To learn more about use of precalculated metrics, see the ",(0,t.jsx)(s.a,{href:"/geoprocessing/docs/next/reportclient",children:"report client"})," guide."]}),"\n"]}),"\n",(0,t.jsx)(s.h3,{id:"metric-groups",children:"Metric Groups"}),"\n",(0,t.jsx)(s.p,{children:"How you intend to use your data will determine what form the data needs to be in."}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsxs)(s.li,{children:["Do you have a vector dataset?","\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"Does it have a single data class?"}),"\n",(0,t.jsxs)(s.li,{children:["Does it have multiple data classes?","\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"Is it one data class per file?"}),"\n",(0,t.jsx)(s.li,{children:"Is it one data class per layer within file?"}),"\n",(0,t.jsx)(s.li,{children:"Does it have multiple data classes within one layer with an attribute to differentiate them?"}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(s.li,{children:["Do you have raster dataset?","\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsxs)(s.li,{children:["Does it have a single data class?","\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"Is it one file with one data class?"}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(s.li,{children:["Does it have multiple data classes?","\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"Is it one file, one data class per raster band?"}),"\n",(0,t.jsx)(s.li,{children:"Is it multiple files, one data class per file?"}),"\n",(0,t.jsx)(s.li,{children:"Is it a categorical raster with unique cell value for each class?"}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,t.jsx)(s.p,{children:"[ToDo: provide metric group example for each leaf in tree]"}),"\n",(0,t.jsx)(s.h3,{id:"create-report",children:"Create Report"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"Edits to the statistic you want calculated (i.e.calculating average instead of sum, etc) should happen in your function."}),"\n",(0,t.jsx)(s.li,{children:"Edits to the way the analytics are displayed (i.e. changing labels, converting units, adding text context, etc) should happen in your report components."}),"\n"]}),"\n",(0,t.jsx)(s.h3,{id:"language-translation",children:"Language Translation"}),"\n",(0,t.jsxs)(s.p,{children:["Language translation takes effort to maintain. It is suggested that you get your reports close to final, in the English language, and then ",(0,t.jsx)(s.a,{href:"/geoprocessing/docs/next/gip/GIP-1-i18n#language-translation-tutorial",children:"add translations"}),"."]}),"\n",(0,t.jsx)(s.h2,{id:"what-next",children:"What Next"}),"\n",(0,t.jsxs)(s.p,{children:["Still have more questions? ",(0,t.jsx)(s.a,{href:"https://github.com/seasketch/geoprocessing/discussions",children:"Start a discussion"})," on Github."]})]})}function h(e={}){const{wrapper:s}={...(0,r.R)(),...e.components};return s?(0,t.jsx)(s,{...e,children:(0,t.jsx)(d,{...e})}):d(e)}},28453:(e,s,n)=>{n.d(s,{R:()=>o,x:()=>a});var t=n(96540);const r={},i=t.createContext(r);function o(e){const s=t.useContext(i);return t.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function a(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:o(e.components),t.createElement(i.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/e6688bcd.3f21ea10.js b/assets/js/e6688bcd.3f21ea10.js deleted file mode 100644 index 7332946af..000000000 --- a/assets/js/e6688bcd.3f21ea10.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[21895],{88794:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>c,contentTitle:()=>a,default:()=>h,frontMatter:()=>o,metadata:()=>i,toc:()=>l});var r=t(74848),s=t(28453);const o={},a="Create Sample Project",i={id:"tutorials/sampleproject",title:"Create Sample Project",description:"This tutorial walks through creating a sample geoprocessing project for the Federated States of Micronesia. It demonstrates multiple methods for doing spatial analysis and creating reports, from low-level to high-level, so that you can engage with it at any/all of the levels needed for your project.",source:"@site/docs/tutorials/sampleproject.md",sourceDirName:"tutorials",slug:"/tutorials/sampleproject",permalink:"/geoprocessing/docs/next/tutorials/sampleproject",draft:!1,unlisted:!1,editUrl:"https://github.com/seasketch/geoprocessing/tree/main/website/templates/shared/docs/tutorials/sampleproject.md",tags:[],version:"current",frontMatter:{},sidebar:"tutorialSidebar",previous:{title:"System Setup",permalink:"/geoprocessing/docs/next/tutorials/"},next:{title:"Create New Project",permalink:"/geoprocessing/docs/next/tutorials/newproject"}},c={},l=[{value:"Initialize Geoprocessing Project",id:"initialize-geoprocessing-project",level:2},{value:"Connect Github repo and push",id:"connect-github-repo-and-push",level:2},{value:"Preprocessing",id:"preprocessing",level:2},{value:"Testing",id:"testing",level:3},{value:"Simple Report",id:"simple-report",level:2},{value:"simpleFunction",id:"simplefunction",level:3},{value:"SimpleReport",id:"simplereport",level:3},{value:"Language Translation",id:"language-translation",level:3},{value:"Generate Examples",id:"generate-examples",level:3},{value:"Run test suite",id:"run-test-suite",level:3},{value:"Storybook",id:"storybook",level:3},{value:"Simple Function Modifications",id:"simple-function-modifications",level:3},{value:"Simple Report Modification",id:"simple-report-modification",level:3},{value:"First Project Build",id:"first-project-build",level:3},{value:"Reef Report",id:"reef-report",level:2},{value:"Import Data",id:"import-data",level:3},{value:"Precalculation",id:"precalculation",level:3},{value:"Geoprocessing Function",id:"geoprocessing-function",level:3},{value:"Report Client",id:"report-client",level:3},{value:"Add to Tab Report",id:"add-to-tab-report",level:3},{value:"Benthic Habitat Report",id:"benthic-habitat-report",level:2},{value:"Import Data",id:"import-data-1",level:3},{value:"Add Metric Group",id:"add-metric-group",level:3},{value:"Create Report",id:"create-report",level:3},{value:"Create Report",id:"create-report-1",level:3},{value:"Octocoral Report",id:"octocoral-report",level:2},{value:"Import Data",id:"import-data-2",level:3},{value:"Add Metric Group",id:"add-metric-group-1",level:3},{value:"Create Report",id:"create-report-2",level:3},{value:"Advanced Features",id:"advanced-features",level:2},{value:"Add Planning Boundary",id:"add-planning-boundary",level:3},{value:"Update default Geography",id:"update-default-geography",level:3},{value:"Precalc Data",id:"precalc-data",level:3},{value:"Language Translation",id:"language-translation-1",level:3},{value:"What's Next",id:"whats-next",level:2}];function d(e){const n={a:"a",code:"code",h1:"h1",h2:"h2",h3:"h3",header:"header",img:"img",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,s.R)(),...e.components},{Details:o}=n;return o||function(e,n){throw new Error("Expected "+(n?"component":"object")+" `"+e+"` to be defined: you likely forgot to import, pass, or provide it.")}("Details",!0),(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(n.header,{children:(0,r.jsx)(n.h1,{id:"create-sample-project",children:"Create Sample Project"})}),"\n",(0,r.jsx)(n.p,{children:"This tutorial walks through creating a sample geoprocessing project for the Federated States of Micronesia. It demonstrates multiple methods for doing spatial analysis and creating reports, from low-level to high-level, so that you can engage with it at any/all of the levels needed for your project."}),"\n",(0,r.jsx)(n.p,{children:"The planning area for this example is defined as the area extending from the baseline (coastline/shoreline) to the outer boundary of the Exclusive Economic Zone (200 nautical miles)."}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.img,{alt:"EEZ with land",src:t(94616).A+"",width:"2113",height:"1099"})}),"\n",(0,r.jsx)(n.p,{children:"This tutorial assumes:"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:["Your ",(0,r.jsx)(n.a,{href:"/geoprocessing/docs/next/tutorials/",children:"system setup"})," is complete"]}),"\n",(0,r.jsx)(n.li,{children:"Your geoprocessing virtual environment is running (Devcontainer or WSL)"}),"\n",(0,r.jsx)(n.li,{children:"You have VSCode open in your virtual environment with a terminal pane open"}),"\n"]}),"\n",(0,r.jsxs)(n.p,{children:["Have questions along the way? Start a ",(0,r.jsx)(n.a,{href:"https://github.com/seasketch/geoprocessing/discussions",children:"discussion"})," on Github"]}),"\n",(0,r.jsx)(n.h2,{id:"initialize-geoprocessing-project",children:"Initialize Geoprocessing Project"}),"\n",(0,r.jsxs)(n.p,{children:["Start the project ",(0,r.jsx)(n.code,{children:"init"})," process, which will download the framework, and collect required project metadata."]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-sh",children:"cd /workspaces\nnpx @seasketch/geoprocessing@7.0.0-experimental-7x-docs.103 init 7.0.0-experimental-7x-docs.103\n"})}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-text",children:"? Choose a name for your project\nfsm-reports-test\n? Please provide a short description of this project\nMicronesia reports\n? Source code repository location\n[LEAVE BLANK]\n? Your name\n[YOUR_NAME]\n? Your email\n[YOUR_EMAIL]\n? Organization name (optional)\nExample organization\n? What software license would you like to use?\nBSD-3-Clause\n? What AWS region would you like to deploy functions in?\nus-west-1\n? What languages will your reports be published in, other than English? (leave blank for none)\nChuukese\nKosraean\n"})}),"\n",(0,r.jsx)(n.p,{children:"After pressing Enter, your project will be created and all NodeJS software dependencies installed. If your language is not present, you will be able to add it later."}),"\n",(0,r.jsx)(n.p,{children:"Now, re-open VSCode one level deeper, in your project folder::"}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-text",children:"File -> Open Folder\nType /workspaces/fsm-reports-test/\nPress Ctrl-J or Ctrl-backtick to open a new terminal\n"})}),"\n",(0,r.jsx)(n.h2,{id:"connect-github-repo-and-push",children:"Connect Github repo and push"}),"\n",(0,r.jsx)(n.p,{children:"Before you continue, let's take a snapshot of your code now, at the starting point."}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.a,{href:"https://github.com/new",children:"Create a remote Github repository"})," called ",(0,r.jsx)(n.code,{children:"fsm-reports-test"}),". Leave it empty, do not choose to initialize with a template, README, gitignore, or LICENSE."]}),"\n",(0,r.jsx)(n.p,{children:"Then connect your local repo and make your first code commit:"}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:'git init\ngit add .\ngit commit -m "first commit"\ngit branch -M main\ngit remote add origin https://github.com/PUT_YOUR_GITHUB_ORG_OR_USERNAME_HERE/fsm-reports-test.git\ngit push -u origin main\n'})}),"\n",(0,r.jsx)(n.p,{children:"You should see your files successfuly pushed to Github."}),"\n",(0,r.jsx)(n.p,{children:"It may ask you if it can use the Github extension to sign you in using Github. It will open a browser tab and communicate with the Github website. If you are already logged in there, then it should be done quickly, otherwise it may have you login to Github."}),"\n",(0,r.jsxs)(n.p,{children:["After this point, you can continue using git commands in the terminal to stage code changes and commit them if that's what you know, or you can use VSCode's ",(0,r.jsx)(n.a,{href:"https://code.visualstudio.com/docs/sourcecontrol/overview",children:"built-in git support"}),"."]}),"\n",(0,r.jsxs)(n.p,{children:["You can learn more about your projects ",(0,r.jsx)(n.a,{href:"/geoprocessing/docs/next/structure",children:"folder structure"})]}),"\n",(0,r.jsx)(n.h2,{id:"preprocessing",children:"Preprocessing"}),"\n",(0,r.jsx)(n.p,{children:'Preprocessing function are invoked by the SeaSketch platform, on a user-drawn shape, right after the user finishes drawing it. It\'s a specialized function that validates a drawn shape and potentially modifies it, such as to remove portions of the shape outside the planning boundary. This "clipping" of the shape is useful in that it allows a user to overdraw beyond the planning boundary and it will be clipped right to the edge of that boundary.'}),"\n",(0,r.jsxs)(n.p,{children:["In the ",(0,r.jsx)(n.code,{children:"src/functions"})," directory you will find four preprocessing functions that come with every project, and they are further configureable to meet your needs:"]}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.code,{children:"validatePolygon"})," - verifies shape is not self-crossing, is at least 500 square meters in size, and no larger than 1 million square kilometers."]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.code,{children:"clipToLand"})," - clips the shape to just the portion on land, as defined by OpenStreeMap land polygons. Includes validatePolygon."]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.code,{children:"clipToOcean"})," - clips the shape to remove the portion on land, as defined by OpenStreetMap land polygons. Includes validatePolygon."]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.code,{children:"clipToOceanEez"})," - clips the shape to keep the portion within the boundary from the coastline to the outer boundary of the EEZ. Includes validatePolygon."]}),"\n"]}),"\n",(0,r.jsx)(n.h3,{id:"testing",children:"Testing"}),"\n",(0,r.jsx)(n.p,{children:"Each preprocessing function has its own unit test and smoke test file. For example:"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:["Unit: ",(0,r.jsx)(n.code,{children:"src/functions/validatePolygon.test.ts"})]}),"\n",(0,r.jsxs)(n.li,{children:["Smoke: ",(0,r.jsx)(n.code,{children:"src/functions/validatePolygonSmoke.test.ts"})]}),"\n"]}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Unit tests"})," ensure the preprocessor produces exact output for very specific input features and configuration, and throws errors properly."]}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Smoke tests"}),' are about ensuring the preprocessor behaves properly for your project location, and that its results "look right" for a variety of input features. It does this by loading example shapes from the project ',(0,r.jsx)(n.code,{children:"examples/features"}),' directory. It then runs the preprocessing function on the examples, makes sure they produce "truthy" output, and saves them to ',(0,r.jsx)(n.code,{children:"examples/output"}),"."]}),"\n",(0,r.jsx)(n.p,{children:"To test your preprocessing functions, we need to create example features within the extent of our Micronesian planning area. To do this, run the following script:"}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:'npx tsx scripts/genRandomPolygon.ts --outDir examples/features --filename polygon1.json --bbox "[135.31244183762126,-1.1731109652985907,165.67652822599732,13.445432925389298]"\nnpx tsx scripts/genRandomPolygon.ts --outDir examples/features --filename polygon2.json --bbox "[135.31244183762126,-1.1731109652985907,165.67652822599732,13.445432925389298]"\n'})}),"\n",(0,r.jsxs)(n.p,{children:["This will output an example Feature and an example FeatureCollection to ",(0,r.jsx)(n.code,{children:"examples/features"}),"."]}),"\n",(0,r.jsx)(n.p,{children:"Now run the tests:"}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"npm test\n"})}),"\n",(0,r.jsxs)(n.p,{children:["You can now look at the geojson output in ",(0,r.jsx)(n.code,{children:"examples/output"}),", including visually by opening a file in QGIS or pasting it into geojson.io. This is the best way to verify the preprocessor worked as expected."]}),"\n",(0,r.jsx)(n.p,{children:"Commit the feature examples and their output files to your git repository so that you can track changes over time."}),"\n",(0,r.jsxs)(n.p,{children:["To learn more about preprocessing, check out the ",(0,r.jsx)(n.a,{href:"/geoprocessing/docs/next/preprocessing",children:"guide"})]}),"\n",(0,r.jsx)(n.h2,{id:"simple-report",children:"Simple Report"}),"\n",(0,r.jsx)(n.p,{children:"Your new project comes with a simple report that calculates the area of a sketch or sketch collection and presents it in a human readable format. Let's look at the pieces that go into this report."}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.img,{alt:"Simple Card View",src:t(44424).A+"",width:"775",height:"553"})}),"\n",(0,r.jsx)(n.h3,{id:"simplefunction",children:"simpleFunction"}),"\n",(0,r.jsxs)(n.p,{children:["The area calculation is done within a geoprocessing function in ",(0,r.jsx)(n.code,{children:"src/functions/simpleFunction.ts"}),"."]}),"\n",(0,r.jsxs)(n.p,{children:["Open this file and you will notice this function defines a custom result payload called ",(0,r.jsx)(n.code,{children:"SimpleResults"}),", which in this case is an object with an ",(0,r.jsx)(n.code,{children:"area"})," number value."]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-typescript",children:"export interface SimpleResults {\n /** area of sketch within geography in square meters */\n area: number;\n}\n"})}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.code,{children:"simpleFunction"})," starts off with the basic signature of a geoprocessing function. It accepts a ",(0,r.jsx)(n.code,{children:"sketch"})," parameter that is either a single ",(0,r.jsx)(n.code,{children:"Sketch"})," polygon or a ",(0,r.jsx)(n.code,{children:"SketchCollection"})," with multiple Sketch polygons. Unless your planning project only requires users to design single sketches and not collections, your geoprocessing function must be able to handle both."]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-typescript",children:"async function simpleFunction(\n sketch:\n | Sketch\n | SketchCollection,\n): Promise {\n"})}),"\n",(0,r.jsx)(n.p,{children:"The function then performs its analysis and returns the result."}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-typescript",children:"// Add analysis code\nconst sketchArea = area(sketch);\n\n// Custom return type\nreturn {\n area: sketchArea,\n};\n"})}),"\n",(0,r.jsxs)(n.p,{children:["Below that, a new ",(0,r.jsx)(n.code,{children:"GeoprocessingHandler"})," is instantiated, with simpleFunction passed into it. Behind the scenes, this wraps simpleFunction in an AWS Lambda handler function, which once deployed to AWS, allows the geoprocessing function to be invoked using an API call, by a report client running in a web browser."]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-typescript",children:'export default new GeoprocessingHandler(simpleFunction, {\n title: "simpleFunction",\n description: "Function description",\n timeout: 60, // seconds\n memory: 1024, // megabytes\n executionMode: "async",\n});\n'})}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.code,{children:"GeoprocessingHandler"})," requires a ",(0,r.jsx)(n.code,{children:"title"})," and ",(0,r.jsx)(n.code,{children:"description"}),", which uniquely identifies the function that will be published by your project. It also accepts some additional parameters defining what resources the Lamda should have, and its behavior:"]}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.code,{children:"timeout"}),": how many seconds the Lambda will run before it times out in error."]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.code,{children:"memory"}),": memory allocated to the Lambda, can go up to 10,240 MB. Number of processors increase with memory size automatically."]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.code,{children:"executionMode"}),": determines how the report client waits for geoprocessing function results, defaults to async. Sync - wait with connection open for immediate results, Async - wait for web socket message that results are ready, then fetch. Sync should only be used for very fast geoprocessing functions (1-2 seconds max). Think of it as a performance optimization."]}),"\n"]}),"\n",(0,r.jsx)(n.p,{children:"You can change all these parameter values to suit your needs, but the default values are suitable for now."}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.code,{children:"simpleFunction"})," is already registered as a geoprocessing function in ",(0,r.jsx)(n.code,{children:"project/geoprocessing.json"}),"."]}),"\n",(0,r.jsx)(n.p,{children:"Now let's look at the browser report client that invokes this function."}),"\n",(0,r.jsx)(n.h3,{id:"simplereport",children:"SimpleReport"}),"\n",(0,r.jsxs)(n.p,{children:["A report client is a top-level React component for rendering a report in the users web browser. Report clients are located in the ",(0,r.jsx)(n.code,{children:"src/clients"})," directory and are responsible for the layout of one or more ",(0,r.jsx)(n.code,{children:"Card"})," components. Cards are able to invoke geoprocessing functions and display their results."]}),"\n",(0,r.jsx)(n.p,{children:"The two report clients that come with your project are:"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.code,{children:"SimpleReport.tsx"})," - simple one page report client containing a SketchAttributesCard and a SimpleCard."]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.code,{children:"TabReport.tsx"})," - more complex multi-page report layout controlled by a tab switcher component, so that only one page is in view at a time."]}),"\n"]}),"\n",(0,r.jsxs)(n.p,{children:["Both these report clients are already registered in ",(0,r.jsx)(n.code,{children:"project/geoprocessing.json"}),". To start, let's focus on ",(0,r.jsx)(n.code,{children:"SimpleReport"})," and ",(0,r.jsx)(n.code,{children:"SimpleCard"}),"."]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-jsx",children:"export const SimpleReport = () => {\n return (\n \n \n \n \n );\n};\n"})}),"\n",(0,r.jsxs)(n.p,{children:["SimpleReport renders two cards, ",(0,r.jsx)(n.code,{children:"SimpleCard"})," and ",(0,r.jsx)(n.code,{children:"SketchAttributesCard"}),", wrapping them in a languge ",(0,r.jsx)(n.code,{children:"Translator"})," component (you will learn more about this later)."]}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.code,{children:"SketchAttributes"})," card is a card component that displays the properties of the users Sketch. No geoprocessing function is needed to do its work."]}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.code,{children:"SimpleCard"})," is a card component that invokes simpleFunction and displays its results. Let's look at the full initial code:"]}),"\n",(0,r.jsxs)(o,{children:[(0,r.jsx)("summary",{children:"src/components/SimpleCard.tsx"}),(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-jsx",children:'import React from "react";\nimport { Trans, useTranslation } from "react-i18next";\nimport {\n ResultsCard,\n useSketchProperties,\n} from "@seasketch/geoprocessing/client-ui";\nimport { roundDecimalFormat } from "@seasketch/geoprocessing/client-core";\n// Import SimpleResults to type-check data access in ResultsCard render function\nimport { SimpleResults } from "../functions/simpleFunction.js";\n\nexport const SimpleCard = () => {\n const { t } = useTranslation();\n const [{ isCollection }] = useSketchProperties();\n const titleTrans = t("SimpleCard title", "Simple Report");\n return (\n <>\n \n {(data: SimpleResults) => {\n const areaSqKm = data.area / 1_000_000;\n const areaString = roundDecimalFormat(areaSqKm, 0, {\n keepSmallValues: true,\n });\n const sketchStr = isCollection ? t("sketch collection") : t("sketch");\n\n return (\n <>\n

\n \n This {{ sketchStr }} is {{ areaString }} square kilometers.\n \n

\n \n );\n }}\n
\n \n );\n};\n'})})]}),"\n",(0,r.jsxs)(n.p,{children:["The first thing to notice is that SimpleCard renders a ",(0,r.jsx)(n.code,{children:"ResultsCard"})," component. Behind the scenes ResultsCard invokes the geoprocessing function with the ",(0,r.jsx)(n.code,{children:"functionName"})," provided (simpleFunction)."]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-typescript",children:'\n'})}),"\n",(0,r.jsx)(n.p,{children:"ResultsCard then render function it is provided with the results."}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-typescript",children:"{\n (data: SimpleResults) => {\n // Render results here\n };\n}\n"})}),"\n",(0,r.jsxs)(n.p,{children:["This render function takes an input parameter ",(0,r.jsx)(n.code,{children:"data"})," that has the same type (",(0,r.jsx)(n.code,{children:"SimpleResults"}),") as the return type of ",(0,r.jsx)(n.code,{children:"simpleFunction"}),". This gives you fully typed access to your report results."]}),"\n",(0,r.jsxs)(n.p,{children:["The code in this render function is the heart of each report card. This particular card takes the ",(0,r.jsx)(n.code,{children:"area"})," value it is given in square meters, and converts it to square kilometers. It then rounds it to a whole number, and formats it to make it more readable. Also notice that it renders a slightly different message depending on whether it is a single sketch or a sketch collection being reported on."]}),"\n",(0,r.jsx)(n.h3,{id:"language-translation",children:"Language Translation"}),"\n",(0,r.jsxs)(n.p,{children:["The last thing to notice is that SimpleCard contains a lot of boilerplate for language translation of its strings (using ",(0,r.jsx)(n.a,{href:"https://react.i18next.com/",children:(0,r.jsx)(n.code,{children:"react-i18next"})}),"). If your reports need to be multi-lingual you will need to to use these, otherwise you can drop them. Language translation is a multi-part process:"]}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:["First, a combination of ",(0,r.jsx)(n.code,{children:"useTranslation"}),", ",(0,r.jsx)(n.code,{children:"t"})," function, and ",(0,r.jsx)(n.code,{children:"Trans"})," components are used to establish which strings in your report client and components should be translated."]}),"\n",(0,r.jsxs)(n.li,{children:["Next, translateable strings are extracted using the ",(0,r.jsx)(n.code,{children:"extract:translation"})," command to ",(0,r.jsx)(n.code,{children:"src/i18n/lang/en/translation.json"}),". The strings extacted for SimpleCard are:"]}),"\n"]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-text",children:'{\n "sketch": "sketch",\n "sketch collection": "sketch collection",\n "SimpleCard sketch size message": "This {{sketchStr}} is {{areaString}} square kilometers.",\n}\n'})}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:["Once the strings are translated to different languages (covered in a later tutorial), the ",(0,r.jsx)(n.code,{children:"Translator"})," component in our report client is responsible for inspecting the users language at runtime in the browser and swapping in strings for the appropriate language."]}),"\n"]}),"\n",(0,r.jsx)(n.h3,{id:"generate-examples",children:"Generate Examples"}),"\n",(0,r.jsxs)(n.p,{children:["With a working geoprocessing function and report client already in place, you're ready to generate example sketches for testing them. We'll use the same ",(0,r.jsx)(n.code,{children:"genRandomPolygon"})," script as before. But let's look closer at how we figured out the bounding box extent of the Micronesian planning area. First, use ogrinfo to inspect the Micronesia EEZ polygon data layer in your data package."]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"ogrinfo -so -json data/src/eez_withland_mr.fgb\n"})}),"\n",(0,r.jsxs)(n.p,{children:["Deep in its output you will see a ",(0,r.jsx)(n.code,{children:"geometryFields"})," property, which contains the bounding box extent of the EEZ feature. Use the ",(0,r.jsx)(n.code,{children:"jq"})," utility to extract this extent:"]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"ogrinfo -so -json data/src/eez_withland_mr.fgb | jq -c .layers[0].geometryFields[0].extent\n[135.31244183762126,-1.1731109652985907,165.67652822599732,13.445432925389298]\n"})}),"\n",(0,r.jsx)(n.p,{children:"This will output an array with the extent of the EEZ. This is just one of multiple possible methods to get this extent. You are welcome to use the method that works best for you."}),"\n",(0,r.jsx)(n.p,{children:"Now run the genRandomPolygon script with this extent. The following examples will create a Sketch polygon, and then a SketchCollection containing 10 Sketch polygons."}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:'npx tsx scripts/genRandomPolygon.ts --outDir examples/sketches --filename sketch1.json --bbox "[135.31244183762126,-1.1731109652985907,165.67652822599732,13.445432925389298]" --bboxShrinkFactor 5 --sketch\nnpx tsx scripts/genRandomPolygon.ts --outDir examples/sketches --filename sketchCollection1.json --bbox "[135.31244183762126,-1.1731109652985907,165.67652822599732,13.445432925389298]" --bboxShrinkFactor 5 --sketch --numFeatures 10\n'})}),"\n",(0,r.jsxs)(n.p,{children:["The ",(0,r.jsx)(n.code,{children:"--bboxShrinkFactor"})," argument used shrinks the height and width of the given bbox by a factor of 5, and then generates random features that are within that reduced bbox. A suitable shrink factor value was discovered through trial and error. Simply visualize the resulting json file in QGIS or other software and find a value that produces polygons that are completely within the planning area polygon. (see image below)."]}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.img,{alt:"EEZ bbox",src:t(81465).A+"",width:"1278",height:"661"}),"\nImage: cluster of 10 random sketches (in orange) within Micronesia EEZ"]}),"\n",(0,r.jsxs)(n.p,{children:["Learn more about the options for ",(0,r.jsx)(n.code,{children:"genRandomPolygon"})," by running:"]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{children:"npx tsx scripts/genRandomPolygon.ts --help\n"})}),"\n",(0,r.jsx)(n.h3,{id:"run-test-suite",children:"Run test suite"}),"\n",(0,r.jsxs)(n.p,{children:["Now that you have example features and sketches, you can test ",(0,r.jsx)(n.code,{children:"simpleFunction"}),". Run the test suite now:"]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"npm test\n"})}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:["Using ",(0,r.jsx)(n.code,{children:"simpleFunctionSmoke.test.ts"}),", simpleFunction will be run against all of the polygon Sketches in ",(0,r.jsx)(n.code,{children:"examples/sketches"}),"."]}),"\n",(0,r.jsxs)(n.li,{children:["The results of all smokes tests are output to the ",(0,r.jsx)(n.code,{children:"examples/output"})," directory."]}),"\n",(0,r.jsx)(n.li,{children:"You can inspect the output files, and see the calculated area values for each sketch input."}),"\n"]}),"\n",(0,r.jsx)(n.p,{children:"Commit the output files to your git repository at this time."}),"\n",(0,r.jsxs)(n.p,{children:["You can make changes to simpleFunction, then rerun tests to regenerate them at any time, and delete any that are stale and no longer needed. For advanced use, check out the ",(0,r.jsx)(n.a,{href:"/geoprocessing/docs/next/testing",children:"testing"})," guide."]}),"\n",(0,r.jsx)(n.h3,{id:"storybook",children:"Storybook"}),"\n",(0,r.jsx)(n.p,{children:"Storybook is used to view your reports."}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"npm run storybook\n"})}),"\n",(0,r.jsx)(n.p,{children:"This will:"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:["Generate a story for every combination of report client registered in ",(0,r.jsx)(n.code,{children:"project/geoprocessing.json"})," and sketch present in ",(0,r.jsx)(n.code,{children:"examples/sketches"}),"."]}),"\n",(0,r.jsx)(n.li,{children:"Load all of the smoke test output for every sketch (to load in stories instead of running geoprocessing functions)"}),"\n",(0,r.jsx)(n.li,{children:"Start the storybook server and give you the URL."}),"\n"]}),"\n",(0,r.jsx)(n.p,{children:"Open the storybook URL in your browser and click through the stories."}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.img,{alt:"Storybook initial view",src:t(26730).A+"",width:"775",height:"340"})}),"\n",(0,r.jsx)(n.p,{children:"A powerful feature of Storybook is that when you save edits to your report client or component code, storybook will refresh the browser automatically with the changes. This lets you develop your reports and debug them more quickly."}),"\n",(0,r.jsxs)(n.p,{children:["If you later add more sketch examples to the ",(0,r.jsx)(n.code,{children:"examples/sketch"})," directory, will need to rerun the smoke tests to generate example output, and then stop and restart your storybook to re-generate all the stories."]}),"\n",(0,r.jsxs)(n.p,{children:["Learn more in the ",(0,r.jsx)(n.a,{href:"/geoprocessing/docs/next/tutorials/storybook",children:"storybook guide"}),"."]}),"\n",(0,r.jsx)(n.h3,{id:"simple-function-modifications",children:"Simple Function Modifications"}),"\n",(0,r.jsx)(n.p,{children:"Let's enhance your simple geoprocessing function to calculate more detailed information when the report is run on a sketch collection. It should now also calculate the area of the entire collection, and the area of each child sketch in the collection."}),"\n",(0,r.jsxs)(n.p,{children:["First modify SimpleResults with an additional property ",(0,r.jsx)(n.code,{children:"childSketchAreas"})," that can store this information:"]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-typescript",children:"export interface SimpleResults {\n /** area of reef within sketch in square meters */\n area: number;\n childSketchAreas: {\n /** Name of the sketch */\n name: string;\n /** Area of the sketch in square meters */\n area: number;\n }[];\n}\n"})}),"\n",(0,r.jsx)(n.p,{children:"Then calculate the additional values and return them in the result payload:"}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-typescript",children:'// Add analysis code\nconst sketchArea = area(sketch);\n\nlet childSketchAreas: SimpleResults["childSketchAreas"] = [];\nif (sketch.properties.isCollection) {\n childSketchAreas = toSketchArray(sketch).map((sketch) => ({\n name: sketch.properties.name,\n area: area(sketch),\n }));\n}\n\n// Custom return type\nreturn {\n area: sketchArea,\n childSketchAreas,\n};\n'})}),"\n",(0,r.jsxs)(n.p,{children:["Here's what the final ",(0,r.jsx)(n.code,{children:"simpleFunction"})," code should look like:"]}),"\n",(0,r.jsxs)(o,{children:[(0,r.jsx)("summary",{children:"src/functions/simpleFunction.ts"}),(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-typescript",children:'import {\n Sketch,\n SketchCollection,\n Polygon,\n MultiPolygon,\n GeoprocessingHandler,\n toSketchArray,\n} from "@seasketch/geoprocessing";\nimport { area } from "@turf/turf";\n\nexport interface SimpleResults {\n /** area of reef within sketch in square meters */\n area: number;\n childSketchAreas: {\n /** Name of the sketch */\n name: string;\n /** Area of the sketch in square meters */\n area: number;\n }[];\n}\n\n/**\n * Simple geoprocessing function with custom result payload\n */\nasync function simpleFunction(\n sketch:\n | Sketch\n | SketchCollection,\n): Promise {\n // Add analysis code\n const sketchArea = area(sketch);\n\n let childSketchAreas: SimpleResults["childSketchAreas"] = [];\n if (sketch.properties.isCollection) {\n childSketchAreas = toSketchArray(sketch).map((sketch) => ({\n name: sketch.properties.name,\n area: area(sketch),\n }));\n }\n\n // Custom return type\n return {\n area: sketchArea,\n childSketchAreas,\n };\n}\n\nexport default new GeoprocessingHandler(simpleFunction, {\n title: "simpleFunction",\n description: "Function description",\n timeout: 60, // seconds\n memory: 1024, // megabytes\n executionMode: "async",\n});\n'})})]}),"\n",(0,r.jsx)(n.p,{children:"Run your tests again to generate the new smoke test output:"}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"npm run test\n"})}),"\n",(0,r.jsx)(n.h3,{id:"simple-report-modification",children:"Simple Report Modification"}),"\n",(0,r.jsxs)(n.p,{children:["Now let's modify SimpleReportCard to display the new data. You will add a new ",(0,r.jsx)(n.code,{children:"Collapse"})," section with a ",(0,r.jsx)(n.code,{children:"Table"})," component that lists out the sketch areas by name."]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-jsx",children:'

\n \n This {{ sketchStr }} is {{ areaString }} km\xb2.\n \n

\n{isCollection && (\n \n \n roundDecimalFormat(row.area / 1_000_000, 0, {\n keepSmallValues: true,\n }),\n },\n ]}\n />\n \n)}\n'})}),"\n",(0,r.jsx)(n.p,{children:"Here's what the final SimpleCard code should look like:"}),"\n",(0,r.jsxs)(o,{children:[(0,r.jsx)("summary",{children:"src/components/SimpleCard.tsx"}),(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-jsx",children:'import React from "react";\nimport { Trans, useTranslation } from "react-i18next";\nimport {\n Collapse,\n ResultsCard,\n Table,\n useSketchProperties,\n} from "@seasketch/geoprocessing/client-ui";\n// Import SimpleResults to type-check data access in ResultsCard render function\nimport { SimpleResults } from "../functions/simpleFunction.js";\nimport { roundDecimalFormat } from "@seasketch/geoprocessing/client-core";\n\nexport const SimpleCard = () => {\n const { t } = useTranslation();\n const [{ isCollection }] = useSketchProperties();\n const titleTrans = t("SimpleCard title", "Simple Report");\n return (\n <>\n \n {(data: SimpleResults) => {\n const areaSqKm = data.area / 1_000_000;\n const areaString = roundDecimalFormat(areaSqKm, 0, {\n keepSmallValues: true,\n });\n const sketchStr = isCollection ? t("sketch collection") : t("sketch");\n\n return (\n <>\n

\n \n This {{ sketchStr }} is {{ areaString }} km\xb2.\n \n

\n {isCollection && (\n \n \n roundDecimalFormat(row.area / 1_000_000, 0, {\n keepSmallValues: true,\n }),\n },\n ]}\n />\n \n )}\n \n );\n }}\n
\n \n );\n};\n'})})]}),"\n",(0,r.jsx)(n.p,{children:"If your storybook is still running from last time, you will need to restart it to pick up the new smoke test output. In fact, anytime you rerun your smoke tests to generate new output, you will need to restart your storybook."}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"Ctrl-C\nnpm run storybook\n"})}),"\n",(0,r.jsxs)(n.p,{children:["Your updated report should have a new collapsible table, that when expanded looks like the following:\n",(0,r.jsx)(n.img,{alt:"Simple Card with table",src:t(51899).A+"",width:"747",height:"679"})]}),"\n",(0,r.jsx)(n.h3,{id:"first-project-build",children:"First Project Build"}),"\n",(0,r.jsxs)(n.p,{children:["Now that you have confirmed your function is working properly, and your report client displays properly for a variety of example sketches, you are ready to do your first build. The application ",(0,r.jsx)(n.code,{children:"build"})," proceess packages it for deployment. Specifically it:"]}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:"Checks all the Typescript code to make sure it's valid and types are used properly."}),"\n",(0,r.jsx)(n.li,{children:"Transpiles all Typescript to Javascript"}),"\n",(0,r.jsxs)(n.li,{children:["Bundles UI report clients into the ",(0,r.jsx)(n.code,{children:".build-web"})," directory"]}),"\n",(0,r.jsxs)(n.li,{children:["Bundles geoprocessing and preprocessing functions into the ",(0,r.jsx)(n.code,{children:".build"})," directory."]}),"\n"]}),"\n",(0,r.jsx)(n.p,{children:"To build your application run the following:"}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"npm run build\n"})}),"\n",(0,r.jsx)(n.p,{children:"Once your build is successful, you should stage and commit all your changes to git."}),"\n",(0,r.jsx)(n.h2,{id:"reef-report",children:"Reef Report"}),"\n",(0,r.jsx)(n.p,{children:"Next you will create a coral reef report that uses the reef extent dataset. Here is an image of it displayed in QGIS. Notice that the coral is entirely in shallow water around the island coastline and atolls."}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.img,{alt:"Reef Extent",src:t(35162).A+"",width:"2053",height:"1024"})}),"\n",(0,r.jsx)(n.h3,{id:"import-data",children:"Import Data"}),"\n",(0,r.jsx)(n.p,{children:"To access this datasource, first download a data package prepared for FSM to your project space and unzip it:"}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"wget -P data/src https://github.com/user-attachments/files/17697992/FSM_MSP_Data_Example_V2.zip\nunzip data/src/FSM_MSP_Data_Example_V2.zip -d data/src\nrm data/src/FSM_MSP_Data_Example_V2.zip\n"})}),"\n",(0,r.jsx)(n.p,{children:"Now import the datasource to your project."}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"npm run import:data\n"})}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-text",children:"? Type of data?\nVector\n? Enter path to src file (with filename)\ndata/src/reefextent.fgb\n? Select layer to import\nreefextent\n? Choose unique datasource name (a-z, A-Z, 0-9, -, _), defaults to filename\nreefextent\n? Should multi-part geometries be split into single-part geometries?\nYes\n? (Optional) additional formats to create (besides fgb)\n[Press enter to skip]\n? Select feature properties that you want to group metrics by\n[Press enter to skip]\n? Select additional feature properties to keep in final datasource\n[Press enter to skip]\n? These formats are automatically created: fgb. Select any additional formats you want created\n[Press enter to skip]\n? Will you be precalculating summary metrics for this datasource after import? (Typically yes if reporting sketch % overlap with datasource)\nYes\n"})}),"\n",(0,r.jsx)(n.p,{children:"The import process will:"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:"reproject your data to the WGS84 reference system, if not already (for ease of use with Turf.JS)"}),"\n",(0,r.jsxs)(n.li,{children:["split any features that cross the 180 degree ",(0,r.jsx)(n.a,{href:"/geoprocessing/docs/next/antimeridian",children:"antimeridian"})]}),"\n",(0,r.jsx)(n.li,{children:"reduce the source dataset down to only the necessary attributes (saving network bandwidth later)"}),"\n",(0,r.jsxs)(n.li,{children:["output a new file in the cloud-optimized flatgeobuf format to the ",(0,r.jsx)(n.code,{children:"data/dist"})," directory."]}),"\n",(0,r.jsxs)(n.li,{children:["register the datasource in ",(0,r.jsx)(n.code,{children:"project/datasources.json"}),", along with metadata. This allows you to:","\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:["quickly access project datasources in your reports using the ",(0,r.jsx)(n.code,{children:"projectClient"})," (more on this later)"]}),"\n",(0,r.jsxs)(n.li,{children:["quickly reimport datasources using the ",(0,r.jsx)(n.code,{children:"reimport:data"})," command, without having to answer questions again."]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(n.p,{children:["Once finished you are ready to use your datasources for ",(0,r.jsx)(n.code,{children:"local"})," report development. Datasource publishing for ",(0,r.jsx)(n.code,{children:"production"})," use is covered later."]}),"\n",(0,r.jsxs)(n.p,{children:["You can add, edit, or delete records in datasources.json manually to meet your need as long as the records meet the expected ",(0,r.jsx)(n.a,{href:"/geoprocessing/docs/next/concepts/AdvancedConcepts#datasources",children:"schema"}),"."]}),"\n",(0,r.jsxs)(n.p,{children:["If at any point the process of using ",(0,r.jsx)(n.code,{children:"data:import"}),", ",(0,r.jsx)(n.code,{children:"datasources.json"}),", and ",(0,r.jsx)(n.code,{children:"projectClient"})," doesn't meet your needs, you are welcome to create your own separate process, as long as it gets datasources to the ",(0,r.jsx)(n.code,{children:"data/dist"})," directory in the format (fgb) and projection (WGS84) required, ready to be published for production use."]}),"\n",(0,r.jsx)(n.h3,{id:"precalculation",children:"Precalculation"}),"\n",(0,r.jsx)(n.p,{children:"Next, you will create a standalone script to calculate the total area of the polygons in the reef extent datasource for use in the report. By doing this calculation ahead of time, you won't need to do it every time the geoprocessing function runs."}),"\n",(0,r.jsxs)(n.p,{children:["Create a new file with the following code and save it to ",(0,r.jsx)(n.code,{children:"scripts/coralReefPrecalc.ts"}),":"]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-typescript",children:'// Run the following command from the project root directory\n// npx tsx scripts/coralReefPrecalc.ts\n\nimport { area } from "@turf/turf";\nimport { geojson } from "flatgeobuf";\nimport { readFileSync } from "fs";\nimport fs from "fs-extra";\n\n// Fetch all reef features and calculate total area\nconst buffer = readFileSync(\n `${import.meta.dirname}/../data/dist/reefextent.fgb`,\n);\nconst reefFeatures = geojson.deserialize(new Uint8Array(buffer));\nconst totalArea = area(reefFeatures);\n\nconst reefPrecalc = {\n totalAreaSqMeters: totalArea,\n};\n\nfs.ensureDirSync(`${import.meta.dirname}/../data/precalc`);\nfs.writeJsonSync(\n `${import.meta.dirname}/../data/precalc/reefextent.json`,\n reefPrecalc,\n);\n'})}),"\n",(0,r.jsx)(n.p,{children:"Now run it:"}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"npx tsx scripts/coralReefPrecalc.ts\n"})}),"\n",(0,r.jsxs)(n.p,{children:["The script fetches all features from the reef extent flatgeobuf file, calculates their total area and writes it to ",(0,r.jsx)(n.code,{children:"data/precalc/reefextent.json"}),"."]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-text",children:'{\n "totalArea": 716100906.2570591\n}\n'})}),"\n",(0,r.jsx)(n.p,{children:"We are going to use this precalculated value in a geoprocessing function in the next step."}),"\n",(0,r.jsx)(n.h3,{id:"geoprocessing-function",children:"Geoprocessing Function"}),"\n",(0,r.jsx)(n.p,{children:"To create a new geoprocessing function ready to build on, run the following:"}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"npm run create:function\n"})}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-text",children:"? Function type\nGeoprocessing - For sketch reports\n? Title for this function, in camelCase\ncoralReef\n? Describe what this function does\ncalculate sketch overlap with reef extent datasource\n? Choose an execution mode\nAsync - Better for long-running processes\n\n\u2714 created coralReef function in src/functions/\n\u2714 Registered function in project/geoprocessing.json\n\nGeoprocessing function: src/functions/coralReef.ts\nSmoke test: src/functions/coralReefSmoke.test.ts\n\nNext Steps:\n * Update the geoprocessing function with your analysis\n * Populate examples/sketches folder with sketches for smoke test to run against\n * 'npm test' to smoke test your new geoprocessing function against all example sketches\n"})}),"\n",(0,r.jsxs)(n.p,{children:["Open ",(0,r.jsx)(n.code,{children:"src/functions/coralReef.ts"}),"."]}),"\n",(0,r.jsx)(n.p,{children:"You will now update this code answer the following questions:"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:"What percentage of all coral reef is within the current sketch polygon (or sketch collection polygons)?"}),"\n",(0,r.jsx)(n.li,{children:"If it is a sketch collection, does it meet the planning objective of protecting 20% of all coral reef?"}),"\n"]}),"\n",(0,r.jsx)(n.p,{children:"Replace the existing code with the following:"}),"\n",(0,r.jsxs)(o,{children:[(0,r.jsx)("summary",{children:"src/functions/coralReef.ts"}),(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-typescript",children:'import {\n Sketch,\n SketchCollection,\n Polygon,\n MultiPolygon,\n GeoprocessingHandler,\n getFeaturesForSketchBBoxes,\n toSketchArray,\n clipMultiMerge,\n isSketchCollection,\n clip,\n Feature,\n} from "@seasketch/geoprocessing";\nimport project from "../../project/projectClient.js";\nimport { area, featureCollection } from "@turf/turf";\nimport reefPrecalc from "../../data/precalc/reefextent.json";\n\nexport interface CoralReefResults {\n /** area of all reef extent polygons in square meters */\n totalArea: number;\n /** area of reef extent within sketch or sketch collection in square meters */\n sketchArea: number;\n childSketchAreas: {\n /** Name of the sketch */\n name: string;\n /** Area of reef extent within child sketch in square meters */\n area: number | null;\n }[];\n}\n\n/**\n * Simple geoprocessing function with custom result payload\n */\nasync function coralReef(\n sketch:\n | Sketch\n | SketchCollection,\n): Promise {\n // Load just the reef features that intersect with the sketch bounding box\n // or in case of a sketch collection, the child sketch bounding boxes\n const ds = project.getInternalVectorDatasourceById("reefextent");\n const url = project.getDatasourceUrl(ds);\n const reefFeatures = await getFeaturesForSketchBBoxes(sketch, url);\n\n // Add analysis code\n\n // If collection, calculate area of each sketches intersection with reef\n let childSketchAreas: CoralReefResults["childSketchAreas"] = [];\n if (sketch.properties.isCollection) {\n childSketchAreas = toSketchArray(sketch).map((sketch) => {\n const sketchReefOverlap = clipMultiMerge(\n sketch,\n featureCollection(reefFeatures),\n "intersection",\n );\n return {\n name: sketch.properties.name,\n area: sketchReefOverlap ? area(sketchReefOverlap) : 0,\n };\n });\n }\n\n // Calculate area of overall sketch intersection with reef\n const sketchArea = (() => {\n // Figure out feature to clip\n let clipFeature: Feature | null;\n if (reefFeatures.length === 0) {\n return 0;\n } else if (isSketchCollection(sketch)) {\n // union sketches to remove overlap and avoid double count\n clipFeature = clip(sketch, "union");\n if (!clipFeature) return 0;\n } else {\n clipFeature = sketch;\n }\n //Merge reefFeatures into a single multipolygon, then intersect\n const sketchReefOverlap = clipMultiMerge(\n clipFeature,\n featureCollection(reefFeatures),\n "intersection",\n );\n return sketchReefOverlap ? area(sketchReefOverlap) : 0;\n })();\n\n // Custom return type\n return {\n totalArea: reefPrecalc.totalAreaSqMeters,\n sketchArea: sketchArea,\n childSketchAreas,\n };\n}\n\nexport default new GeoprocessingHandler(coralReef, {\n title: "coralReef",\n description: "calculate sketch overlap with reef extent datasource",\n timeout: 60, // seconds\n memory: 1024, // megabytes\n executionMode: "async",\n});\n'})})]}),"\n",(0,r.jsx)(n.p,{children:"Notice that the code imports the totalArea value you precalculated and inserts it into the result payload, avoiding the need to recalculate it each time."}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-typescript",children:'import reefPrecalc from "../../data/precalc/reefextent.json";\n\nreefPrecalc.totalArea;\n'})}),"\n",(0,r.jsx)(n.p,{children:"Then it fetches only the reef features whose bounding box intersects with the sketch bounding box, or in case of a sketch collection, that intersects with each of its child sketch bounding boxes. This is more efficient than fetching the entire reef dataset, saving time and network bandwidth."}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-typescript",children:'// Load just the reef features that intersect with the sketch bounding box\n// or in case of a sketch collection, the child sketch bounding boxes\nconst ds = project.getInternalVectorDatasourceById("reefextent");\nconst url = project.getDatasourceUrl(ds);\nconst reefFeatures = await getFeaturesForSketchBBoxes(sketch, url);\n'})}),"\n",(0,r.jsxs)(n.p,{children:["Next, if the sketch is a collection, it calculates how much coral reef overlaps with each individual sketch. To do this, it needs to figure out the areas where the sketches and coral reef ",(0,r.jsx)(n.code,{children:"intersect"}),". This is calculated using the ",(0,r.jsx)(n.code,{children:"clipMultiMerge"})," function. It is essential that this function is used because it merges the reefFeatures collection into a single multipolygon before intersecting it with the sketch. If you were to use the ",(0,r.jsx)(n.code,{children:"clip"})," function you would need to loop through each reef feature and clip the sketch to it."]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-typescript",children:'// If collection, calculate area of each sketches intersection with reef\nlet childSketchAreas: CoralReefResults["childSketchAreas"] = [];\nif (sketch.properties.isCollection) {\n childSketchAreas = toSketchArray(sketch).map((sketch) => {\n const sketchReefOverlap = clipMultiMerge(\n sketch,\n featureCollection(reefFeatures),\n "intersection",\n );\n return {\n name: sketch.properties.name,\n area: sketchReefOverlap ? area(sketchReefOverlap) : 0,\n };\n });\n}\n'})}),"\n",(0,r.jsx)(n.p,{children:"Finally, it calculates how much coral reef overlaps with the entire sketch/collection."}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:"If there is no overlap between the reef and sketch, then it simply returns zero."}),"\n",(0,r.jsxs)(n.li,{children:["If it's a sketch collection it first performs a ",(0,r.jsx)(n.code,{children:"union"})," operation that merges all of the sketches into a single Multipolygon, dissolving any overlap between the sketches so that area is not double counted."]}),"\n",(0,r.jsx)(n.li,{children:"If it's a single sketch polygon then it just calculates its area and returns it."}),"\n"]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-typescript",children:'// Calculate area of overall sketch intersection with reef\nconst sketchArea = (() => {\n // Figure out feature to clip\n let clipFeature: Feature | null;\n if (reefFeatures.length === 0) {\n return 0;\n } else if (isSketchCollection(sketch)) {\n // union sketches to remove overlap and avoid double count\n clipFeature = clip(sketch, "union");\n if (!clipFeature) return 0;\n } else {\n clipFeature = sketch;\n }\n //Merge reefFeatures into a single multipolygon, then intersect\n const sketchReefOverlap = clipMultiMerge(\n clipFeature,\n featureCollection(reefFeatures),\n "intersection",\n );\n return sketchReefOverlap ? area(sketchReefOverlap) : 0;\n})();\n\n// Custom return type\nreturn {\n totalArea: reefPrecalc.totalAreaSqMeters,\n sketchArea: sketchArea,\n childSketchAreas,\n};\n'})}),"\n",(0,r.jsx)(n.p,{children:"Now run tests to generate updated output for each of the sample sketches:"}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"npm run test\n"})}),"\n",(0,r.jsx)(n.p,{children:"Confirm that the output looks as expected."}),"\n",(0,r.jsxs)(o,{children:[(0,r.jsx)("summary",{children:"Example output"}),(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-text",children:'{\n "totalArea": 716100906.2570591,\n "sketchArea": 367734.86730626615,\n "childSketchAreas": [\n {\n "name": "sketchCollection1-1",\n "area": 428611581.5348215\n },\n {\n "name": "sketchCollection1-2",\n "area": 258701691.8012635\n },\n {\n "name": "sketchCollection1-3",\n "area": 599831752.2377243\n },\n {\n "name": "sketchCollection1-4",\n "area": 372585470.74404347\n },\n {\n "name": "sketchCollection1-5",\n "area": 562781719.588172\n },\n {\n "name": "sketchCollection1-6",\n "area": 528237794.83984125\n },\n {\n "name": "sketchCollection1-7",\n "area": 253970548.59694752\n },\n {\n "name": "sketchCollection1-8",\n "area": 376674659.1741572\n },\n {\n "name": "sketchCollection1-9",\n "area": 657788539.6501052\n },\n {\n "name": "sketchCollection1-10",\n "area": 712233449.0549812\n }\n ]\n}\n'})})]}),"\n",(0,r.jsx)(n.h3,{id:"report-client",children:"Report Client"}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-typescript",children:"npm run create:client\n"})}),"\n",(0,r.jsx)(n.p,{children:"Open src/components/CoralReefCard.tsx."}),"\n",(0,r.jsx)(n.p,{children:"You will now update this code to:"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:"Display the % of total coral reef captured within this sketch"}),"\n",(0,r.jsxs)(n.li,{children:["If it is a sketch collection","\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:"Indicate whether the objective of protecting 20% of all coral reef has been met."}),"\n",(0,r.jsx)(n.li,{children:"Display a collapsible area with a breakdown of the area and % area of coral reef within each individual sketch in the collection."}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,r.jsx)(n.p,{children:"Replace the existing code with the following:"}),"\n",(0,r.jsxs)(o,{children:[(0,r.jsx)("summary",{children:"src/components/CoralReefCard.tsx"}),(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-javascript",children:'import React from "react";\nimport { Trans, useTranslation } from "react-i18next";\nimport {\n ResultsCard,\n useSketchProperties,\n HorizontalStackedBar,\n Collapse,\n Table,\n ObjectiveStatus,\n VerticalSpacer,\n} from "@seasketch/geoprocessing/client-ui";\nimport {\n percentWithEdge,\n roundDecimalFormat,\n squareMeterToKilometer,\n} from "@seasketch/geoprocessing/client-core";\n\n// Import CoralReefResults to type-check data access in ResultsCard render function\nimport { CoralReefResults } from "../functions/coralReef.js";\n\nexport const CoralReefCard = () => {\n const { t } = useTranslation();\n const [{ isCollection }] = useSketchProperties();\n const titleTrans = t("CoralReefCard title", "Coral Reef");\n return (\n <>\n \n {(data: CoralReefResults) => {\n const target = 0.2; // 20%\n const reefPerc = data.sketchArea / data.totalArea;\n const reefPercString = percentWithEdge(reefPerc);\n const targetPercString = percentWithEdge(target);\n\n const meetsObjective = reefPerc >= target;\n const chartRows = [[[reefPerc]]];\n\n const sketchTypeStr = isCollection\n ? t("sketch collection")\n : t("sketch");\n\n const meetsOrNotElement = meetsObjective ? (\n \n This {{ sketchTypeStr }} meets the objective of protecting{" "}\n {{ targetPercString }} of coral reef\n \n ) : (\n \n This {{ sketchTypeStr }} does not meet the objective of protecting{" "}\n {{ targetPercString }} of coral reef\n \n );\n\n return (\n <>\n

\n \n {{ reefPercString }} of all Micronesia coral reef is within\n this {{ sketchTypeStr }}.\n \n

\n {isCollection && (\n \n )}\n\n \n percentWithEdge(value / 100)}\n max={4}\n target={20}\n targetValueFormatter={(targetValue) => (\n \n Target {{ targetValue: percentWithEdge(targetValue / 100) }}\n \n )}\n rowConfigs={[\n {\n title: t("Total coral reef"),\n },\n ]}\n blockGroupNames={[]}\n blockGroupStyles={[{ backgroundColor: "#64c2a6" }]}\n />\n {isCollection && (\n \n \n roundDecimalFormat(squareMeterToKilometer(row.area)),\n },\n {\n Header: t("% Reef within Sketch"),\n accessor: (row: any) =>\n percentWithEdge(row.area / data.totalArea),\n },\n ]}\n />\n \n )}\n \n );\n }}\n
\n \n );\n};\n'})})]}),"\n",(0,r.jsx)(n.p,{children:"There are multiple things worth noticing:"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.code,{children:"squareMeterToKilometer"})," conversion helper function is used"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.code,{children:"percentWithEdge"})," and ",(0,r.jsx)(n.code,{children:"roundDecimalFormat"})," helper functions are used to format values to be more human readable. Will use locale settings of the users browser when formatting decimal and percent."]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.code,{children:"HorizontalStackedBar"})," and ",(0,r.jsx)(n.code,{children:"ObjectiveStatus"})," core UI components present information in a more visually interesting way that can be reused across reports. See core ",(0,r.jsx)(n.a,{href:"/storybook",children:"storybook"})," for more examples of their use."]}),"\n"]}),"\n",(0,r.jsx)(n.p,{children:"Now, start storybook and view the result:"}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"npm run storybook\n"})}),"\n",(0,r.jsx)(n.p,{children:"When viewing a sketch example, it should display the following:"}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.img,{alt:"CoralReefCard sketch view",src:t(8847).A+"",width:"742",height:"291"})}),"\n",(0,r.jsx)(n.p,{children:"And when viewing a sketch collection example, it should display the additional components:"}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.img,{alt:"CoralReefCard collection view",src:t(97287).A+"",width:"748",height:"928"})}),"\n",(0,r.jsx)(n.h3,{id:"add-to-tab-report",children:"Add to Tab Report"}),"\n",(0,r.jsx)(n.p,{children:"Now add the CoralReefCard as a new section to your top-level TabReport, on its ViabilityPage."}),"\n",(0,r.jsxs)(n.p,{children:["Open ",(0,r.jsx)(n.code,{children:"src/components/ViabilityPage.tsx"})," and replace the code with the following:"]}),"\n",(0,r.jsxs)(o,{children:[(0,r.jsx)("summary",{children:"src/components/ViabilityPage.tsx"}),(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-typescript",children:'import React from "react";\nimport { SimpleCard } from "./SimpleCard.js";\nimport { SketchAttributesCard } from "@seasketch/geoprocessing/client-ui";\nimport { CoralReefCard } from "./CoralReefCard.js";\n\nexport const ViabilityPage = () => {\n return (\n <>\n \n \n \n \n );\n};\n'})})]}),"\n",(0,r.jsx)(n.p,{children:"Storybook should update on save and display the following:"}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.img,{alt:"CoralReefCard add to page",src:t(62848).A+"",width:"748",height:"631"})}),"\n",(0,r.jsx)(n.h2,{id:"benthic-habitat-report",children:"Benthic Habitat Report"}),"\n",(0,r.jsx)(n.p,{children:"This next section will demonstrate more advanced framework features for calculating polygon overlap and measuring progress towards planning objective targets. These features become more useful when you have multiple data classes that you want to report on at the same time."}),"\n",(0,r.jsx)(n.h3,{id:"import-data-1",children:"Import Data"}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"npm run import:data\n"})}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-text",children:"? Type of data?\nVector\n? Enter path to src file (with filename)\ndata/src/benthic-rock.fgb\n? Select layer to import\nbenthic-rock\n? Choose unique datasource name (a-z, A-Z, 0-9, -, _), defaults to filename benthic-rock\n? Should multi-part geometries be split into single-part geometries?\nYes\n? Select feature properties that you want to group metrics by\nclass\n? Select additional feature properties to keep in final datasource\n[Press Enter to skip]\n? These formats are automatically created: fgb. Select any additional formats you want created\n[Press Enter to skip]\n? Will you be precalculating summary metrics for this datasource after import? (Typically yes if reporting sketch % overlap with datasource)\nYes\n"})}),"\n",(0,r.jsx)(n.p,{children:"The import will proceed. Once complete you will find:"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:["The output file ",(0,r.jsx)(n.code,{children:"data/dist/benthic-rock.fgb"}),"."]}),"\n",(0,r.jsxs)(n.li,{children:["An updated ",(0,r.jsx)(n.code,{children:"project/datasources.json"})," new datasource record ",(0,r.jsx)(n.code,{children:"benthic-rock"}),"."]}),"\n"]}),"\n",(0,r.jsx)(n.p,{children:"If the import fails, start the import over and double check everything. It is most likely one of the following:"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:"You specified the wrong source file path."}),"\n",(0,r.jsx)(n.li,{children:"You specified the wrong layer name"}),"\n"]}),"\n",(0,r.jsx)(n.h3,{id:"add-metric-group",children:"Add Metric Group"}),"\n",(0,r.jsxs)(n.p,{children:["A metric group defines a metric to be measured, for one or more classes of data. A ",(0,r.jsx)(n.code,{children:"MetricGroup"})," ",(0,r.jsx)(n.strong,{children:"record"})," provides the information needed for a metric to be calculated (in a geoprocessing function) and to be displayed (in a report client). Let's create your first metric group by opening ",(0,r.jsx)(n.code,{children:"project/metrics.json"}),"."]}),"\n",(0,r.jsxs)(n.p,{children:["The benthic dataset represents where different classes of benthic habitat are predicted to be present. Specifically is is a single vector datasource with multiple habitats defined by the ",(0,r.jsx)(n.code,{children:"class"})," attribute. While there are many types of habitats, we want to only focus on Sand, Rubble, and Rock. To do this, you'll add multiple class records, each with a unique ",(0,r.jsx)(n.code,{children:"classId"})," value to match on, and a ",(0,r.jsx)(n.code,{children:"classKey"})," that specific which feature attribute the classId values are found."]}),"\n",(0,r.jsxs)(n.p,{children:["Add the following record to the end of the array in ",(0,r.jsx)(n.code,{children:"project/metrics.json"})," and save the file."]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-json",children:'{\n "metricId": "benthicHabitat",\n "type": "areaOverlap",\n "classes": [\n {\n "classId": "Sand",\n "classKey": "class",\n "display": "Sand",\n "datasourceId": "benthic"\n },\n {\n "classId": "Rock",\n "classKey": "class",\n "display": "Rock",\n "datasourceId": "benthic"\n },\n {\n "classId": "Rubble",\n "classKey": "class",\n "display": "Rubble",\n "datasourceId": "benthic"\n }\n ]\n}\n'})}),"\n",(0,r.jsx)(n.p,{children:"The reef extent dataset simply tells you where there is reef present. Therefore, we represent it as a single class of data. You should end up with the following:"}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-json",children:'[\n {\n "metricId": "coralReef",\n "type": "areaOverlap",\n "classes": [\n {\n "classId": "reefextent",\n "display": "Coral Reef",\n "datasourceId": "reefextent"\n }\n ]\n }\n]\n'})}),"\n",(0,r.jsxs)(n.p,{children:["To learn more about metric groups, visit the ",(0,r.jsx)(n.a,{href:"/geoprocessing/docs/next/concepts/AdvancedConcepts#metric-group",children:"advanced concepts"})," page."]}),"\n",(0,r.jsx)(n.h3,{id:"create-report",children:"Create Report"}),"\n",(0,r.jsx)(n.p,{children:"Next you will create your first report using the metric group created in the previous step. Run the following command and answer the questions:"}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"npm run create:report\n"})}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-text",children:"? Type of report to create\nVector overlap report - calculates sketch overlap with vector datasources\n? Describe what this reports geoprocessing function will calculate (e.g.Calculate sketch overlap with boundary polygons)\nCalculate sketch overlap with reef extent\n? Choose an execution mode for the geoprocessing function for this report\nAsync - Better for long-running processes\n? Select the metric group to report on\ncoralReef\n\n\u2714 Created coralReef report\n\u2714 Registered report assets in project/geoprocessing.json\n\nGeoprocessing function: src/functions/coralReef.ts\nSmoke test: src/functions/coralReefSmoke.test.ts\nReport component: src/components/CoralReefCard.tsx\nStory generator: src/components/CoralReefCard.example-stories.ts\n\nNext Steps:\n * 'npm test' to run smoke tests against your new geoprocessing function\n * 'npm run storybook' to view your new report with smoke test output\n * Add to a top-level report client or page when ready\n"})}),"\n",(0,r.jsx)(n.p,{children:"As the output explains, 4 new files have been created for you including a geoprocessing function (coralReef.ts) and a"}),"\n",(0,r.jsx)(n.h3,{id:"create-report-1",children:"Create Report"}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"npm run create:report\n"})}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-text",children:"? Type of report to create\nVector overlap report\n\n? Describe what this reports geoprocessing function will calculate\nCalculate sketch overlap with benthic habitats\n\n? Choose an execution mode for the geoprocessing function for this report\nAsync - Better for long-running processes\n\n? Select the metric group to report on\nbenthicHabitat\n"})}),"\n",(0,r.jsx)(n.p,{children:"Now:"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:"Add your new component to the Viability Page"}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.code,{children:"npm run test"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.code,{children:"npm run storybook"})}),"\n",(0,r.jsx)(n.li,{children:"Verify report displays properly"}),"\n"]}),"\n",(0,r.jsx)(n.h2,{id:"octocoral-report",children:"Octocoral Report"}),"\n",(0,r.jsx)(n.h3,{id:"import-data-2",children:"Import Data"}),"\n",(0,r.jsx)(n.p,{children:"Now import the following additional datasources:"}),"\n",(0,r.jsx)(n.p,{children:"Octocorals - raster with 0/1 values representing predicted presence/absence of species."}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-text",children:"? Type of data?\nRaster\n? Enter path to src file (with filename)\ndata/src/yesson_octocorals.tif\n? Choose unique datasource name (a-z, A-Z, 0-9, -, _), defaults to filename\noctocorals\n? Select raster band to import\n1\n? What type of measurement is used for this raster data?\nQuantitative - values represent amounts, measurement of single thing\n? Will you be precalculating summary metrics for this datasource after import? (Typically yes if reporting sketch % overlap with datasource)\nYes\n"})}),"\n",(0,r.jsx)(n.h3,{id:"add-metric-group-1",children:"Add Metric Group"}),"\n",(0,r.jsx)(n.h3,{id:"create-report-2",children:"Create Report"}),"\n",(0,r.jsx)(n.h2,{id:"advanced-features",children:"Advanced Features"}),"\n",(0,r.jsx)(n.h3,{id:"add-planning-boundary",children:"Add Planning Boundary"}),"\n",(0,r.jsx)(n.h3,{id:"update-default-geography",children:"Update default Geography"}),"\n",(0,r.jsx)(n.p,{children:"Now change the projects default geography from the world, to your new planning boundary."}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:["Open ",(0,r.jsx)(n.code,{children:"project/geographies.json"}),". You will see an array with one geography record called ",(0,r.jsx)(n.code,{children:"world"}),". This is the default geography and can be left here. You will disable its precalc and remove it from the ",(0,r.jsx)(n.code,{children:"default-boundary"})," group, then add a new geography record for your ",(0,r.jsx)(n.code,{children:"planning-boundary"}),"."]}),"\n",(0,r.jsx)(n.li,{children:"Replace the contents of the geographies file with the following and save it:"}),"\n"]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-json",children:'[\n {\n "geographyId": "world",\n "datasourceId": "world",\n "display": "World",\n "groups": [],\n "precalc": false\n },\n {\n "geographyId": "planning-boundary",\n "datasourceId": "planning-boundary",\n "display": "Planning Boundary",\n "groups": ["default-boundary"],\n "precalc": true\n }\n]\n'})}),"\n",(0,r.jsx)(n.h3,{id:"precalc-data",children:"Precalc Data"}),"\n",(0,r.jsxs)(n.p,{children:["The ",(0,r.jsx)(n.code,{children:"precalc"})," command calculates spatial statistics for the portion of each of your datasources that falls within each of your project's Geographies."]}),"\n",(0,r.jsx)(n.p,{children:"Geographies are simply geographic boundaries for your project, and the default Geography for this project is the entire World."}),"\n",(0,r.jsx)(n.p,{children:"Why do this?"}),"\n",(0,r.jsx)(n.p,{children:'One of the questions our report needs to answer is "what percentage of coral reef within the planning boundary are within my Sketch polygon?'}),"\n",(0,r.jsxs)(n.p,{children:["This is calculated as:\n",(0,r.jsx)(n.code,{children:"% area of coral reef in sketch = area of coral reef within sketch / area of coral reef within planning boundary"})]}),"\n",(0,r.jsx)(n.p,{children:"The numerator in this equation (area of reef within sketch) is relatively inexpensive to calculate and we will do it within a geoprocessing function where we have access to the sketch. But the denominator calculation can be expensive if the data is very large or complex. Thankfully we can calculate it ahead of time."}),"\n",(0,r.jsxs)(n.p,{children:["Since your datasources and geographies already have ",(0,r.jsx)(n.code,{children:"precalc: true"})," set, you are ready to start:"]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"npm run precalc:data\n\n? Do you want to precalculate only a subset?\n Yes, by datasource\n Yes, by geography\n Yes, by both\n\u276f No, just precalculate everything (may take a while)\n"})}),"\n",(0,r.jsx)(n.p,{children:'Choose to "precalculate everything". Then press enter. The precalc process may take a while.'}),"\n",(0,r.jsxs)(n.p,{children:["What's happening is that the precalc script starts a local web server on port 8001 that serves up the datasources in ",(0,r.jsx)(n.code,{children:"data/dist"}),"."]}),"\n",(0,r.jsxs)(n.p,{children:["The precalc script then gets all your project datasources with ",(0,r.jsx)(n.code,{children:"precalc: true"}),", and all your project geographies with ",(0,r.jsx)(n.code,{children:"precalc: true"}),", and then calculate ",(0,r.jsx)(n.code,{children:"area"}),", ",(0,r.jsx)(n.code,{children:"sum"}),", and ",(0,r.jsx)(n.code,{children:"count"})," metrics for each combination of datasource and geography."]}),"\n",(0,r.jsxs)(n.p,{children:["Once complete ",(0,r.jsx)(n.code,{children:"project/precalc.json"})," will have been updated with the new metric values."]}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:["To learn more advanced use, see the ",(0,r.jsx)(n.a,{href:"/geoprocessing/docs/next/precalc",children:"precalc"})," guide."]}),"\n",(0,r.jsxs)(n.li,{children:["To learn more about use of precalculated metrics, see the ",(0,r.jsx)(n.a,{href:"/geoprocessing/docs/next/reportclient",children:"report client"})," guide."]}),"\n"]}),"\n",(0,r.jsx)(n.h3,{id:"language-translation-1",children:"Language Translation"}),"\n",(0,r.jsx)(n.p,{children:"Run the following to extract the latest translations from all of you report clients and its underlying components."}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"npm run extract:translation\n"})}),"\n",(0,r.jsx)(n.h2,{id:"whats-next",children:"What's Next"}),"\n",(0,r.jsx)(n.p,{children:"You've now completed the sample tutorial. Your next step is to choose whether you would like to:"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:["Setup an ",(0,r.jsx)(n.a,{href:"/geoprocessing/docs/next/tutorials/existingproject",children:"existing project to setup"}),", and re-deploy it."]}),"\n",(0,r.jsxs)(n.li,{children:["Create a ",(0,r.jsx)(n.a,{href:"/geoprocessing/docs/next/tutorials/newproject",children:"create a new project"}),", deploy it and integrate with SeaSketch."]}),"\n"]})]})}function h(e={}){const{wrapper:n}={...(0,s.R)(),...e.components};return n?(0,r.jsx)(n,{...e,children:(0,r.jsx)(d,{...e})}):d(e)}},62848:(e,n,t)=>{t.d(n,{A:()=>r});const r=t.p+"assets/images/coral-reef-card-add-to-page-acfb419983acedd6b1f2d576a422b175.jpg"},97287:(e,n,t)=>{t.d(n,{A:()=>r});const r=t.p+"assets/images/coral-reef-card-collection-42587097890cc8cb14f0276d105af2b1.jpg"},8847:(e,n,t)=>{t.d(n,{A:()=>r});const r=t.p+"assets/images/coral-reef-card-sketch-a752ef560d2ef81510dcc024f968b2b3.jpg"},81465:(e,n,t)=>{t.d(n,{A:()=>r});const r=t.p+"assets/images/eez-bbox-eaed173f82fe29cdd6c06782e621ff43.jpg"},94616:(e,n,t)=>{t.d(n,{A:()=>r});const r=t.p+"assets/images/eez-with-land-a17837dd0ade1b26dd289529dc938a38.jpg"},35162:(e,n,t)=>{t.d(n,{A:()=>r});const r=t.p+"assets/images/reef-extent-c5b22beda714f8f21941e25144be67f2.jpg"},51899:(e,n,t)=>{t.d(n,{A:()=>r});const r=t.p+"assets/images/simple-card-table-fb0438e81de84b2fabe0ab3a176cb0c5.jpg"},44424:(e,n,t)=>{t.d(n,{A:()=>r});const r=t.p+"assets/images/simple-card-view-98fb13a0d5b08444c9a4aff7e8a980e3.jpg"},26730:(e,n,t)=>{t.d(n,{A:()=>r});const r=t.p+"assets/images/storybook-one-5564fd0bc2a46d74d1c37746689fae7d.jpg"},28453:(e,n,t)=>{t.d(n,{R:()=>a,x:()=>i});var r=t(96540);const s={},o=r.createContext(s);function a(e){const n=r.useContext(o);return r.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function i(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:a(e.components),r.createElement(o.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/e6688bcd.9b588541.js b/assets/js/e6688bcd.9b588541.js new file mode 100644 index 000000000..f79e0c1c6 --- /dev/null +++ b/assets/js/e6688bcd.9b588541.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[21895],{88794:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>c,contentTitle:()=>o,default:()=>h,frontMatter:()=>a,metadata:()=>i,toc:()=>l});var r=t(74848),s=t(28453);const a={},o="Create Sample Project",i={id:"tutorials/sampleproject",title:"Create Sample Project",description:"This tutorial walks through creating a sample geoprocessing project for the Federated States of Micronesia. It demonstrates multiple methods for doing spatial analysis and creating reports, from low-level to high-level, so that you can engage with it at any/all of the levels needed for your project.",source:"@site/docs/tutorials/sampleproject.md",sourceDirName:"tutorials",slug:"/tutorials/sampleproject",permalink:"/geoprocessing/docs/next/tutorials/sampleproject",draft:!1,unlisted:!1,editUrl:"https://github.com/seasketch/geoprocessing/tree/main/website/templates/shared/docs/tutorials/sampleproject.md",tags:[],version:"current",frontMatter:{},sidebar:"tutorialSidebar",previous:{title:"System Setup",permalink:"/geoprocessing/docs/next/tutorials/"},next:{title:"Create New Project",permalink:"/geoprocessing/docs/next/tutorials/newproject"}},c={},l=[{value:"Initialize Geoprocessing Project",id:"initialize-geoprocessing-project",level:2},{value:"Connect Github repo and push",id:"connect-github-repo-and-push",level:2},{value:"Preprocessing",id:"preprocessing",level:2},{value:"Testing",id:"testing",level:3},{value:"Simple Report",id:"simple-report",level:2},{value:"simpleFunction",id:"simplefunction",level:3},{value:"SimpleReport",id:"simplereport",level:3},{value:"Language Translation",id:"language-translation",level:3},{value:"Generate Examples",id:"generate-examples",level:3},{value:"Run test suite",id:"run-test-suite",level:3},{value:"Storybook",id:"storybook",level:3},{value:"Simple Function Modifications",id:"simple-function-modifications",level:3},{value:"Simple Report Modification",id:"simple-report-modification",level:3},{value:"First Project Build",id:"first-project-build",level:3},{value:"Reef Report",id:"reef-report",level:2},{value:"Import Data",id:"import-data",level:3},{value:"Precalculation",id:"precalculation",level:3},{value:"Geoprocessing Function",id:"geoprocessing-function",level:3},{value:"Report Client",id:"report-client",level:3},{value:"Add to Tab Report",id:"add-to-tab-report",level:3},{value:"Benthic Habitat Report",id:"benthic-habitat-report",level:2},{value:"Import Data",id:"import-data-1",level:3},{value:"Add Metric Group",id:"add-metric-group",level:3},{value:"Create Report",id:"create-report",level:3},{value:"Test New Example Sketch",id:"test-new-example-sketch",level:3},{value:"Precalc Data",id:"precalc-data",level:3},{value:"World Geography",id:"world-geography",level:3},{value:"View Reports",id:"view-reports",level:3},{value:"Octocoral Report",id:"octocoral-report",level:2},{value:"Import Data",id:"import-data-2",level:3},{value:"Add Metric Group",id:"add-metric-group-1",level:3},{value:"Create Report",id:"create-report-1",level:3},{value:"Advanced Features",id:"advanced-features",level:2},{value:"Add Planning Boundary",id:"add-planning-boundary",level:3},{value:"Update default Geography",id:"update-default-geography",level:3},{value:"Precalc Data",id:"precalc-data-1",level:3},{value:"Language Translation",id:"language-translation-1",level:3},{value:"What's Next",id:"whats-next",level:2}];function d(e){const n={a:"a",code:"code",h1:"h1",h2:"h2",h3:"h3",header:"header",img:"img",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,s.R)(),...e.components},{Details:a}=n;return a||function(e,n){throw new Error("Expected "+(n?"component":"object")+" `"+e+"` to be defined: you likely forgot to import, pass, or provide it.")}("Details",!0),(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(n.header,{children:(0,r.jsx)(n.h1,{id:"create-sample-project",children:"Create Sample Project"})}),"\n",(0,r.jsx)(n.p,{children:"This tutorial walks through creating a sample geoprocessing project for the Federated States of Micronesia. It demonstrates multiple methods for doing spatial analysis and creating reports, from low-level to high-level, so that you can engage with it at any/all of the levels needed for your project."}),"\n",(0,r.jsx)(n.p,{children:"The planning area for this example is defined as the area extending from the baseline (coastline/shoreline) to the outer boundary of the Exclusive Economic Zone (200 nautical miles)."}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.img,{alt:"EEZ with land",src:t(94616).A+"",width:"2113",height:"1099"})}),"\n",(0,r.jsx)(n.p,{children:"This tutorial assumes:"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:["Your ",(0,r.jsx)(n.a,{href:"/geoprocessing/docs/next/tutorials/",children:"system setup"})," is complete"]}),"\n",(0,r.jsx)(n.li,{children:"Your geoprocessing virtual environment is running (Devcontainer or WSL)"}),"\n",(0,r.jsx)(n.li,{children:"You have VSCode open in your virtual environment with a terminal pane open"}),"\n"]}),"\n",(0,r.jsxs)(n.p,{children:["Have questions along the way? Start a ",(0,r.jsx)(n.a,{href:"https://github.com/seasketch/geoprocessing/discussions",children:"discussion"})," on Github"]}),"\n",(0,r.jsx)(n.h2,{id:"initialize-geoprocessing-project",children:"Initialize Geoprocessing Project"}),"\n",(0,r.jsxs)(n.p,{children:["Start the project ",(0,r.jsx)(n.code,{children:"init"})," process, which will download the framework, and collect required project metadata."]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-sh",children:"cd /workspaces\nnpx @seasketch/geoprocessing@7.0.0-experimental-7x-docs.112 init 7.0.0-experimental-7x-docs.112\n"})}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-text",children:"? Choose a name for your project\nfsm-reports-test\n? Please provide a short description of this project\nMicronesia reports\n? Source code repository location\n[LEAVE BLANK]\n? Your name\n[YOUR_NAME]\n? Your email\n[YOUR_EMAIL]\n? Organization name (optional)\nExample organization\n? What software license would you like to use?\nBSD-3-Clause\n? What AWS region would you like to deploy functions in?\nus-west-1\n? What languages will your reports be published in, other than English? (leave blank for none)\nChuukese\nKosraean\n"})}),"\n",(0,r.jsx)(n.p,{children:"After pressing Enter, your project will be created and all NodeJS software dependencies installed. If your language is not present, you will be able to add it later."}),"\n",(0,r.jsx)(n.p,{children:"Now, re-open VSCode one level deeper, in your project folder::"}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-text",children:"File -> Open Folder\nType /workspaces/fsm-reports-test/\nPress Ctrl-J or Ctrl-backtick to open a new terminal\n"})}),"\n",(0,r.jsx)(n.h2,{id:"connect-github-repo-and-push",children:"Connect Github repo and push"}),"\n",(0,r.jsx)(n.p,{children:"Before you continue, let's take a snapshot of your code now, at the starting point."}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.a,{href:"https://github.com/new",children:"Create a remote Github repository"})," called ",(0,r.jsx)(n.code,{children:"fsm-reports-test"}),". Leave it empty, do not choose to initialize with a template, README, gitignore, or LICENSE."]}),"\n",(0,r.jsx)(n.p,{children:"Then connect your local repo and make your first code commit:"}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:'git init\ngit add .\ngit commit -m "first commit"\ngit branch -M main\ngit remote add origin https://github.com/PUT_YOUR_GITHUB_ORG_OR_USERNAME_HERE/fsm-reports-test.git\ngit push -u origin main\n'})}),"\n",(0,r.jsx)(n.p,{children:"You should see your files successfuly pushed to Github."}),"\n",(0,r.jsx)(n.p,{children:"It may ask you if it can use the Github extension to sign you in using Github. It will open a browser tab and communicate with the Github website. If you are already logged in there, then it should be done quickly, otherwise it may have you login to Github."}),"\n",(0,r.jsxs)(n.p,{children:["After this point, you can continue using git commands in the terminal to stage code changes and commit them if that's what you know, or you can use VSCode's ",(0,r.jsx)(n.a,{href:"https://code.visualstudio.com/docs/sourcecontrol/overview",children:"built-in git support"}),"."]}),"\n",(0,r.jsxs)(n.p,{children:["You can learn more about your projects ",(0,r.jsx)(n.a,{href:"/geoprocessing/docs/next/structure",children:"folder structure"})]}),"\n",(0,r.jsx)(n.h2,{id:"preprocessing",children:"Preprocessing"}),"\n",(0,r.jsx)(n.p,{children:'Preprocessing function are invoked by the SeaSketch platform, on a user-drawn shape, right after the user finishes drawing it. It\'s a specialized function that validates a drawn shape and potentially modifies it, such as to remove portions of the shape outside the planning boundary. This "clipping" of the shape is useful in that it allows a user to overdraw beyond the planning boundary and it will be clipped right to the edge of that boundary.'}),"\n",(0,r.jsxs)(n.p,{children:["In the ",(0,r.jsx)(n.code,{children:"src/functions"})," directory you will find four preprocessing functions that come with every project, and they are further configureable to meet your needs:"]}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.code,{children:"validatePolygon"})," - verifies shape is not self-crossing, is at least 500 square meters in size, and no larger than 1 million square kilometers."]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.code,{children:"clipToLand"})," - clips the shape to just the portion on land, as defined by OpenStreeMap land polygons. Includes validatePolygon."]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.code,{children:"clipToOcean"})," - clips the shape to remove the portion on land, as defined by OpenStreetMap land polygons. Includes validatePolygon."]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.code,{children:"clipToOceanEez"})," - clips the shape to keep the portion within the boundary from the coastline to the outer boundary of the EEZ. Includes validatePolygon."]}),"\n"]}),"\n",(0,r.jsx)(n.h3,{id:"testing",children:"Testing"}),"\n",(0,r.jsx)(n.p,{children:"Each preprocessing function has its own unit test and smoke test file. For example:"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:["Unit: ",(0,r.jsx)(n.code,{children:"src/functions/validatePolygon.test.ts"})]}),"\n",(0,r.jsxs)(n.li,{children:["Smoke: ",(0,r.jsx)(n.code,{children:"src/functions/validatePolygonSmoke.test.ts"})]}),"\n"]}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Unit tests"})," ensure the preprocessor produces exact output for very specific input features and configuration, and throws errors properly."]}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Smoke tests"}),' are about ensuring the preprocessor behaves properly for your project location, and that its results "look right" for a variety of input features. It does this by loading example shapes from the project ',(0,r.jsx)(n.code,{children:"examples/features"}),' directory. It then runs the preprocessing function on the examples, makes sure they produce "truthy" output, and saves them to ',(0,r.jsx)(n.code,{children:"examples/output"}),"."]}),"\n",(0,r.jsx)(n.p,{children:"To test your preprocessing functions, we need to create example features within the extent of our Micronesian planning area. To do this, run the following script:"}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:'npx tsx scripts/genRandomPolygon.ts --outDir examples/features --filename polygon1.json --bbox "[135.31244183762126,-1.1731109652985907,165.67652822599732,13.445432925389298]"\nnpx tsx scripts/genRandomPolygon.ts --outDir examples/features --filename polygon2.json --bbox "[135.31244183762126,-1.1731109652985907,165.67652822599732,13.445432925389298]"\n'})}),"\n",(0,r.jsxs)(n.p,{children:["This will output an example Feature and an example FeatureCollection to ",(0,r.jsx)(n.code,{children:"examples/features"}),"."]}),"\n",(0,r.jsx)(n.p,{children:"Now run the tests:"}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"npm test\n"})}),"\n",(0,r.jsxs)(n.p,{children:["You can now look at the geojson output in ",(0,r.jsx)(n.code,{children:"examples/output"}),", including visually by opening a file in QGIS or pasting it into geojson.io. This is the best way to verify the preprocessor worked as expected."]}),"\n",(0,r.jsx)(n.p,{children:"Commit the feature examples and their output files to your git repository so that you can track changes over time."}),"\n",(0,r.jsxs)(n.p,{children:["To learn more about preprocessing, check out the ",(0,r.jsx)(n.a,{href:"/geoprocessing/docs/next/preprocessing",children:"guide"})]}),"\n",(0,r.jsx)(n.h2,{id:"simple-report",children:"Simple Report"}),"\n",(0,r.jsx)(n.p,{children:"Your new project comes with a simple report that calculates the area of a sketch or sketch collection and presents it in a human readable format. Let's look at the pieces that go into this report."}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.img,{alt:"Simple Card View",src:t(44424).A+"",width:"775",height:"553"})}),"\n",(0,r.jsx)(n.h3,{id:"simplefunction",children:"simpleFunction"}),"\n",(0,r.jsxs)(n.p,{children:["The area calculation is done within a geoprocessing function in ",(0,r.jsx)(n.code,{children:"src/functions/simpleFunction.ts"}),"."]}),"\n",(0,r.jsxs)(n.p,{children:["Open this file and you will notice this function defines a custom result payload called ",(0,r.jsx)(n.code,{children:"SimpleResults"}),", which in this case is an object with an ",(0,r.jsx)(n.code,{children:"area"})," number value."]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-typescript",children:"export interface SimpleResults {\n /** area of sketch within geography in square meters */\n area: number;\n}\n"})}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.code,{children:"simpleFunction"})," starts off with the basic signature of a geoprocessing function. It accepts a ",(0,r.jsx)(n.code,{children:"sketch"})," parameter that is either a single ",(0,r.jsx)(n.code,{children:"Sketch"})," polygon or a ",(0,r.jsx)(n.code,{children:"SketchCollection"})," with multiple Sketch polygons. Unless your planning project only requires users to design single sketches and not collections, your geoprocessing function must be able to handle both."]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-typescript",children:"async function simpleFunction(\n sketch:\n | Sketch\n | SketchCollection,\n): Promise {\n"})}),"\n",(0,r.jsx)(n.p,{children:"The function then performs its analysis and returns the result."}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-typescript",children:"// Add analysis code\nconst sketchArea = area(sketch);\n\n// Custom return type\nreturn {\n area: sketchArea,\n};\n"})}),"\n",(0,r.jsxs)(n.p,{children:["Below that, a new ",(0,r.jsx)(n.code,{children:"GeoprocessingHandler"})," is instantiated, with simpleFunction passed into it. Behind the scenes, this wraps simpleFunction in an AWS Lambda handler function, which once deployed to AWS, allows the geoprocessing function to be invoked using an API call, by a report client running in a web browser."]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-typescript",children:'export default new GeoprocessingHandler(simpleFunction, {\n title: "simpleFunction",\n description: "Function description",\n timeout: 60, // seconds\n memory: 1024, // megabytes\n executionMode: "async",\n});\n'})}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.code,{children:"GeoprocessingHandler"})," requires a ",(0,r.jsx)(n.code,{children:"title"})," and ",(0,r.jsx)(n.code,{children:"description"}),", which uniquely identifies the function that will be published by your project. It also accepts some additional parameters defining what resources the Lamda should have, and its behavior:"]}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.code,{children:"timeout"}),": how many seconds the Lambda will run before it times out in error."]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.code,{children:"memory"}),": memory allocated to the Lambda, can go up to 10,240 MB. Number of processors increase with memory size automatically."]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.code,{children:"executionMode"}),": determines how the report client waits for geoprocessing function results, defaults to async. Sync - wait with connection open for immediate results, Async - wait for web socket message that results are ready, then fetch. Sync should only be used for very fast geoprocessing functions (1-2 seconds max). Think of it as a performance optimization."]}),"\n"]}),"\n",(0,r.jsx)(n.p,{children:"You can change all these parameter values to suit your needs, but the default values are suitable for now."}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.code,{children:"simpleFunction"})," is already registered as a geoprocessing function in ",(0,r.jsx)(n.code,{children:"project/geoprocessing.json"}),"."]}),"\n",(0,r.jsx)(n.p,{children:"Now let's look at the browser report client that invokes this function."}),"\n",(0,r.jsx)(n.h3,{id:"simplereport",children:"SimpleReport"}),"\n",(0,r.jsxs)(n.p,{children:["A report client is a top-level React component for rendering a report in the users web browser. Report clients are located in the ",(0,r.jsx)(n.code,{children:"src/clients"})," directory and are responsible for the layout of one or more ",(0,r.jsx)(n.code,{children:"Card"})," components. Cards are able to invoke geoprocessing functions and display their results."]}),"\n",(0,r.jsx)(n.p,{children:"The two report clients that come with your project are:"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.code,{children:"SimpleReport.tsx"})," - simple one page report client containing a SketchAttributesCard and a SimpleCard."]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.code,{children:"TabReport.tsx"})," - more complex multi-page report layout controlled by a tab switcher component, so that only one page is in view at a time."]}),"\n"]}),"\n",(0,r.jsxs)(n.p,{children:["Both these report clients are already registered in ",(0,r.jsx)(n.code,{children:"project/geoprocessing.json"}),". To start, let's focus on ",(0,r.jsx)(n.code,{children:"SimpleReport"})," and ",(0,r.jsx)(n.code,{children:"SimpleCard"}),"."]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-jsx",children:"export const SimpleReport = () => {\n return (\n \n \n \n \n );\n};\n"})}),"\n",(0,r.jsxs)(n.p,{children:["SimpleReport renders two cards, ",(0,r.jsx)(n.code,{children:"SimpleCard"})," and ",(0,r.jsx)(n.code,{children:"SketchAttributesCard"}),", wrapping them in a languge ",(0,r.jsx)(n.code,{children:"Translator"})," component (you will learn more about this later)."]}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.code,{children:"SketchAttributes"})," card is a card component that displays the properties of the users Sketch. No geoprocessing function is needed to do its work."]}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.code,{children:"SimpleCard"})," is a card component that invokes simpleFunction and displays its results. Let's look at the full initial code:"]}),"\n",(0,r.jsxs)(a,{children:[(0,r.jsx)("summary",{children:"src/components/SimpleCard.tsx"}),(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-jsx",children:'import React from "react";\nimport { Trans, useTranslation } from "react-i18next";\nimport {\n ResultsCard,\n useSketchProperties,\n} from "@seasketch/geoprocessing/client-ui";\nimport { roundDecimalFormat } from "@seasketch/geoprocessing/client-core";\n// Import SimpleResults to type-check data access in ResultsCard render function\nimport { SimpleResults } from "../functions/simpleFunction.js";\n\nexport const SimpleCard = () => {\n const { t } = useTranslation();\n const [{ isCollection }] = useSketchProperties();\n const titleTrans = t("SimpleCard title", "Simple Report");\n return (\n <>\n \n {(data: SimpleResults) => {\n const areaSqKm = data.area / 1_000_000;\n const areaString = roundDecimalFormat(areaSqKm, 0, {\n keepSmallValues: true,\n });\n const sketchStr = isCollection ? t("sketch collection") : t("sketch");\n\n return (\n <>\n

\n \n This {{ sketchStr }} is {{ areaString }} square kilometers.\n \n

\n \n );\n }}\n
\n \n );\n};\n'})})]}),"\n",(0,r.jsxs)(n.p,{children:["The first thing to notice is that SimpleCard renders a ",(0,r.jsx)(n.code,{children:"ResultsCard"})," component. Behind the scenes ResultsCard invokes the geoprocessing function with the ",(0,r.jsx)(n.code,{children:"functionName"})," provided (simpleFunction)."]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-typescript",children:'\n'})}),"\n",(0,r.jsx)(n.p,{children:"ResultsCard then render function it is provided with the results."}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-typescript",children:"{\n (data: SimpleResults) => {\n // Render results here\n };\n}\n"})}),"\n",(0,r.jsxs)(n.p,{children:["This render function takes an input parameter ",(0,r.jsx)(n.code,{children:"data"})," that has the same type (",(0,r.jsx)(n.code,{children:"SimpleResults"}),") as the return type of ",(0,r.jsx)(n.code,{children:"simpleFunction"}),". This gives you fully typed access to your report results."]}),"\n",(0,r.jsxs)(n.p,{children:["The code in this render function is the heart of each report card. This particular card takes the ",(0,r.jsx)(n.code,{children:"area"})," value it is given in square meters, and converts it to square kilometers. It then rounds it to a whole number, and formats it to make it more readable. Also notice that it renders a slightly different message depending on whether it is a single sketch or a sketch collection being reported on."]}),"\n",(0,r.jsx)(n.h3,{id:"language-translation",children:"Language Translation"}),"\n",(0,r.jsxs)(n.p,{children:["The last thing to notice is that SimpleCard contains a lot of boilerplate for language translation of its strings (using ",(0,r.jsx)(n.a,{href:"https://react.i18next.com/",children:(0,r.jsx)(n.code,{children:"react-i18next"})}),"). If your reports need to be multi-lingual you will need to to use these, otherwise you can drop them. Language translation is a multi-part process:"]}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:["First, a combination of ",(0,r.jsx)(n.code,{children:"useTranslation"}),", ",(0,r.jsx)(n.code,{children:"t"})," function, and ",(0,r.jsx)(n.code,{children:"Trans"})," components are used to establish which strings in your report client and components should be translated."]}),"\n",(0,r.jsxs)(n.li,{children:["Next, translateable strings are extracted using the ",(0,r.jsx)(n.code,{children:"extract:translation"})," command to ",(0,r.jsx)(n.code,{children:"src/i18n/lang/en/translation.json"}),". The strings extacted for SimpleCard are:"]}),"\n"]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-text",children:'{\n "sketch": "sketch",\n "sketch collection": "sketch collection",\n "SimpleCard sketch size message": "This {{sketchStr}} is {{areaString}} square kilometers.",\n}\n'})}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:["Once the strings are translated to different languages (covered in a later tutorial), the ",(0,r.jsx)(n.code,{children:"Translator"})," component in our report client is responsible for inspecting the users language at runtime in the browser and swapping in strings for the appropriate language."]}),"\n"]}),"\n",(0,r.jsx)(n.h3,{id:"generate-examples",children:"Generate Examples"}),"\n",(0,r.jsxs)(n.p,{children:["With a working geoprocessing function and report client already in place, you're ready to generate example sketches for testing them. We'll use the same ",(0,r.jsx)(n.code,{children:"genRandomPolygon"})," script as before. But let's look closer at how we figured out the bounding box extent of the Micronesian planning area. First, use ogrinfo to inspect the Micronesia EEZ polygon data layer in your data package."]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"ogrinfo -so -json data/src/eez_withland_mr.fgb\n"})}),"\n",(0,r.jsxs)(n.p,{children:["Deep in its output you will see a ",(0,r.jsx)(n.code,{children:"geometryFields"})," property, which contains the bounding box extent of the EEZ feature. Use the ",(0,r.jsx)(n.code,{children:"jq"})," utility to extract this extent:"]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"ogrinfo -so -json data/src/eez_withland_mr.fgb | jq -c .layers[0].geometryFields[0].extent\n[135.31244183762126,-1.1731109652985907,165.67652822599732,13.445432925389298]\n"})}),"\n",(0,r.jsx)(n.p,{children:"This will output an array with the extent of the EEZ. This is just one of multiple possible methods to get this extent. You are welcome to use the method that works best for you."}),"\n",(0,r.jsx)(n.p,{children:"Now run the genRandomPolygon script with this extent. The following examples will create a Sketch polygon, and then a SketchCollection containing 10 Sketch polygons."}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:'npx tsx scripts/genRandomPolygon.ts --outDir examples/sketches --filename sketch1.json --bbox "[135.31244183762126,-1.1731109652985907,165.67652822599732,13.445432925389298]" --bboxShrinkFactor 5 --sketch\nnpx tsx scripts/genRandomPolygon.ts --outDir examples/sketches --filename sketchCollection1.json --bbox "[135.31244183762126,-1.1731109652985907,165.67652822599732,13.445432925389298]" --bboxShrinkFactor 5 --sketch --numFeatures 10\n'})}),"\n",(0,r.jsxs)(n.p,{children:["The ",(0,r.jsx)(n.code,{children:"--bboxShrinkFactor"})," argument used shrinks the height and width of the given bbox by a factor of 5, and then generates random features that are within that reduced bbox. A suitable shrink factor value was discovered through trial and error. Simply visualize the resulting json file in QGIS or other software and find a value that produces polygons that are completely within the planning area polygon. (see image below)."]}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.img,{alt:"EEZ bbox",src:t(81465).A+"",width:"1278",height:"661"}),"\nImage: cluster of 10 random sketches (in orange) within Micronesia EEZ"]}),"\n",(0,r.jsxs)(n.p,{children:["Learn more about the options for ",(0,r.jsx)(n.code,{children:"genRandomPolygon"})," by running:"]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{children:"npx tsx scripts/genRandomPolygon.ts --help\n"})}),"\n",(0,r.jsx)(n.h3,{id:"run-test-suite",children:"Run test suite"}),"\n",(0,r.jsxs)(n.p,{children:["Now that you have example features and sketches, you can test ",(0,r.jsx)(n.code,{children:"simpleFunction"}),". Run the test suite now:"]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"npm test\n"})}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:["Using ",(0,r.jsx)(n.code,{children:"simpleFunctionSmoke.test.ts"}),", simpleFunction will be run against all of the polygon Sketches in ",(0,r.jsx)(n.code,{children:"examples/sketches"}),"."]}),"\n",(0,r.jsxs)(n.li,{children:["The results of all smokes tests are output to the ",(0,r.jsx)(n.code,{children:"examples/output"})," directory."]}),"\n",(0,r.jsx)(n.li,{children:"You can inspect the output files, and see the calculated area values for each sketch input."}),"\n"]}),"\n",(0,r.jsx)(n.p,{children:"Commit the output files to your git repository at this time."}),"\n",(0,r.jsxs)(n.p,{children:["You can make changes to simpleFunction, then rerun tests to regenerate them at any time, and delete any that are stale and no longer needed. For advanced use, check out the ",(0,r.jsx)(n.a,{href:"/geoprocessing/docs/next/testing",children:"testing"})," guide."]}),"\n",(0,r.jsx)(n.h3,{id:"storybook",children:"Storybook"}),"\n",(0,r.jsx)(n.p,{children:"Storybook is used to view your reports."}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"npm run storybook\n"})}),"\n",(0,r.jsx)(n.p,{children:"This will:"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:["Generate a story for every combination of report client registered in ",(0,r.jsx)(n.code,{children:"project/geoprocessing.json"})," and sketch present in ",(0,r.jsx)(n.code,{children:"examples/sketches"}),"."]}),"\n",(0,r.jsx)(n.li,{children:"Load all of the smoke test output for every sketch (to load in stories instead of running geoprocessing functions)"}),"\n",(0,r.jsx)(n.li,{children:"Start the storybook server and give you the URL."}),"\n"]}),"\n",(0,r.jsx)(n.p,{children:"Open the storybook URL in your browser and click through the stories."}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.img,{alt:"Storybook initial view",src:t(26730).A+"",width:"775",height:"340"})}),"\n",(0,r.jsx)(n.p,{children:"A powerful feature of Storybook is that when you save edits to your report client or component code, storybook will refresh the browser automatically with the changes. This lets you develop your reports and debug them more quickly."}),"\n",(0,r.jsxs)(n.p,{children:["If you later add more sketch examples to the ",(0,r.jsx)(n.code,{children:"examples/sketch"})," directory, will need to rerun the smoke tests to generate example output, and then stop and restart your storybook to re-generate all the stories."]}),"\n",(0,r.jsxs)(n.p,{children:["Learn more in the ",(0,r.jsx)(n.a,{href:"/geoprocessing/docs/next/tutorials/storybook",children:"storybook guide"}),"."]}),"\n",(0,r.jsx)(n.h3,{id:"simple-function-modifications",children:"Simple Function Modifications"}),"\n",(0,r.jsx)(n.p,{children:"Let's enhance your simple geoprocessing function to calculate more detailed information when the report is run on a sketch collection. It should now also calculate the area of the entire collection, and the area of each child sketch in the collection."}),"\n",(0,r.jsxs)(n.p,{children:["First modify SimpleResults with an additional property ",(0,r.jsx)(n.code,{children:"childSketchAreas"})," that can store this information:"]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-typescript",children:"export interface SimpleResults {\n /** area of reef within sketch in square meters */\n area: number;\n childSketchAreas: {\n /** Name of the sketch */\n name: string;\n /** Area of the sketch in square meters */\n area: number;\n }[];\n}\n"})}),"\n",(0,r.jsx)(n.p,{children:"Then calculate the additional values and return them in the result payload:"}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-typescript",children:'// Add analysis code\nconst sketchArea = area(sketch);\n\nlet childSketchAreas: SimpleResults["childSketchAreas"] = [];\nif (sketch.properties.isCollection) {\n childSketchAreas = toSketchArray(sketch).map((sketch) => ({\n name: sketch.properties.name,\n area: area(sketch),\n }));\n}\n\n// Custom return type\nreturn {\n area: sketchArea,\n childSketchAreas,\n};\n'})}),"\n",(0,r.jsxs)(n.p,{children:["Here's what the final ",(0,r.jsx)(n.code,{children:"simpleFunction"})," code should look like:"]}),"\n",(0,r.jsxs)(a,{children:[(0,r.jsx)("summary",{children:"src/functions/simpleFunction.ts"}),(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-typescript",children:'import {\n Sketch,\n SketchCollection,\n Polygon,\n MultiPolygon,\n GeoprocessingHandler,\n toSketchArray,\n} from "@seasketch/geoprocessing";\nimport { area } from "@turf/turf";\n\nexport interface SimpleResults {\n /** area of reef within sketch in square meters */\n area: number;\n childSketchAreas: {\n /** Name of the sketch */\n name: string;\n /** Area of the sketch in square meters */\n area: number;\n }[];\n}\n\n/**\n * Simple geoprocessing function with custom result payload\n */\nasync function simpleFunction(\n sketch:\n | Sketch\n | SketchCollection,\n): Promise {\n // Add analysis code\n const sketchArea = area(sketch);\n\n let childSketchAreas: SimpleResults["childSketchAreas"] = [];\n if (sketch.properties.isCollection) {\n childSketchAreas = toSketchArray(sketch).map((sketch) => ({\n name: sketch.properties.name,\n area: area(sketch),\n }));\n }\n\n // Custom return type\n return {\n area: sketchArea,\n childSketchAreas,\n };\n}\n\nexport default new GeoprocessingHandler(simpleFunction, {\n title: "simpleFunction",\n description: "Function description",\n timeout: 60, // seconds\n memory: 1024, // megabytes\n executionMode: "async",\n});\n'})})]}),"\n",(0,r.jsx)(n.p,{children:"Run your tests again to generate the new smoke test output:"}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"npm run test\n"})}),"\n",(0,r.jsx)(n.h3,{id:"simple-report-modification",children:"Simple Report Modification"}),"\n",(0,r.jsxs)(n.p,{children:["Now let's modify SimpleReportCard to display the new data. You will add a new ",(0,r.jsx)(n.code,{children:"Collapse"})," section with a ",(0,r.jsx)(n.code,{children:"Table"})," component that lists out the sketch areas by name."]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-jsx",children:'

\n \n This {{ sketchStr }} is {{ areaString }} km\xb2.\n \n

\n{isCollection && (\n \n \n roundDecimalFormat(row.area / 1_000_000, 0, {\n keepSmallValues: true,\n }),\n },\n ]}\n />\n \n)}\n'})}),"\n",(0,r.jsx)(n.p,{children:"Here's what the final SimpleCard code should look like:"}),"\n",(0,r.jsxs)(a,{children:[(0,r.jsx)("summary",{children:"src/components/SimpleCard.tsx"}),(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-jsx",children:'import React from "react";\nimport { Trans, useTranslation } from "react-i18next";\nimport {\n Collapse,\n ResultsCard,\n Table,\n useSketchProperties,\n} from "@seasketch/geoprocessing/client-ui";\n// Import SimpleResults to type-check data access in ResultsCard render function\nimport { SimpleResults } from "../functions/simpleFunction.js";\nimport { roundDecimalFormat } from "@seasketch/geoprocessing/client-core";\n\nexport const SimpleCard = () => {\n const { t } = useTranslation();\n const [{ isCollection }] = useSketchProperties();\n const titleTrans = t("SimpleCard title", "Simple Report");\n return (\n <>\n \n {(data: SimpleResults) => {\n const areaSqKm = data.area / 1_000_000;\n const areaString = roundDecimalFormat(areaSqKm, 0, {\n keepSmallValues: true,\n });\n const sketchStr = isCollection ? t("sketch collection") : t("sketch");\n\n return (\n <>\n

\n \n This {{ sketchStr }} is {{ areaString }} km\xb2.\n \n

\n {isCollection && (\n \n \n roundDecimalFormat(row.area / 1_000_000, 0, {\n keepSmallValues: true,\n }),\n },\n ]}\n />\n \n )}\n \n );\n }}\n
\n \n );\n};\n'})})]}),"\n",(0,r.jsx)(n.p,{children:"If your storybook is still running from last time, you will need to restart it to pick up the new smoke test output. In fact, anytime you rerun your smoke tests to generate new output, you will need to restart your storybook."}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"Ctrl-C\nnpm run storybook\n"})}),"\n",(0,r.jsxs)(n.p,{children:["Your updated report should have a new collapsible table, that when expanded looks like the following:\n",(0,r.jsx)(n.img,{alt:"Simple Card with table",src:t(51899).A+"",width:"747",height:"679"})]}),"\n",(0,r.jsx)(n.h3,{id:"first-project-build",children:"First Project Build"}),"\n",(0,r.jsxs)(n.p,{children:["Now that you have confirmed your function is working properly, and your report client displays properly for a variety of example sketches, you are ready to do your first build. The application ",(0,r.jsx)(n.code,{children:"build"})," proceess packages it for deployment. Specifically it:"]}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:"Checks all the Typescript code to make sure it's valid and types are used properly."}),"\n",(0,r.jsx)(n.li,{children:"Transpiles all Typescript to Javascript"}),"\n",(0,r.jsxs)(n.li,{children:["Bundles UI report clients into the ",(0,r.jsx)(n.code,{children:".build-web"})," directory"]}),"\n",(0,r.jsxs)(n.li,{children:["Bundles geoprocessing and preprocessing functions into the ",(0,r.jsx)(n.code,{children:".build"})," directory."]}),"\n"]}),"\n",(0,r.jsx)(n.p,{children:"To build your application run the following:"}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"npm run build\n"})}),"\n",(0,r.jsx)(n.p,{children:"Once your build is successful, you should stage and commit all your changes to git."}),"\n",(0,r.jsx)(n.h2,{id:"reef-report",children:"Reef Report"}),"\n",(0,r.jsx)(n.p,{children:"Next you will create a coral reef report that uses the reef extent dataset. Here is an image of it displayed in QGIS. Notice that the coral is entirely in shallow water around the island coastline and atolls."}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.img,{alt:"Reef Extent",src:t(35162).A+"",width:"2053",height:"1024"})}),"\n",(0,r.jsx)(n.h3,{id:"import-data",children:"Import Data"}),"\n",(0,r.jsx)(n.p,{children:"To access this datasource, first download a data package prepared for FSM to your project space and unzip it:"}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"wget -P data/src https://github.com/user-attachments/files/17697992/FSM_MSP_Data_Example_V2.zip\nunzip data/src/FSM_MSP_Data_Example_V2.zip -d data/src\nrm data/src/FSM_MSP_Data_Example_V2.zip\n"})}),"\n",(0,r.jsx)(n.p,{children:"Now import the datasource to your project."}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"npm run import:data\n"})}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-text",children:"? Type of data?\nVector\n? Enter path to src file (with filename)\ndata/src/reefextent.fgb\n? Select layer to import\nreefextent\n? Choose unique datasource name (a-z, A-Z, 0-9, -, _), defaults to filename\nreefextent\n? Should multi-part geometries be split into single-part geometries?\nYes\n? (Optional) additional formats to create (besides fgb)\n[Press enter to skip]\n? Select feature properties that you want to group metrics by\n[Press enter to skip]\n? Select additional feature properties to keep in final datasource\n[Press enter to skip]\n? These formats are automatically created: fgb. Select any additional formats you want created\n[Press enter to skip]\n? Will you be precalculating summary metrics for this datasource after import? (Typically yes if reporting sketch % overlap with datasource)\nYes\n"})}),"\n",(0,r.jsx)(n.p,{children:"The import process will:"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:"reproject your data to the WGS84 reference system, if not already (for ease of use with Turf.JS)"}),"\n",(0,r.jsxs)(n.li,{children:["split any features that cross the 180 degree ",(0,r.jsx)(n.a,{href:"/geoprocessing/docs/next/antimeridian",children:"antimeridian"})]}),"\n",(0,r.jsx)(n.li,{children:"reduce the source dataset down to only the necessary attributes (saving network bandwidth later)"}),"\n",(0,r.jsxs)(n.li,{children:["output a new file in the cloud-optimized flatgeobuf format to the ",(0,r.jsx)(n.code,{children:"data/dist"})," directory."]}),"\n",(0,r.jsxs)(n.li,{children:["register the datasource in ",(0,r.jsx)(n.code,{children:"project/datasources.json"}),", along with metadata. This allows you to:","\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:["quickly access project datasources in your reports using the ",(0,r.jsx)(n.code,{children:"projectClient"})," (more on this later)"]}),"\n",(0,r.jsxs)(n.li,{children:["quickly reimport datasources using the ",(0,r.jsx)(n.code,{children:"reimport:data"})," command, without having to answer questions again."]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(n.p,{children:["Once finished you are ready to use your datasources for ",(0,r.jsx)(n.code,{children:"local"})," report development. Datasource publishing for ",(0,r.jsx)(n.code,{children:"production"})," use is covered later."]}),"\n",(0,r.jsxs)(n.p,{children:["You can add, edit, or delete records in datasources.json manually to meet your need as long as the records meet the expected ",(0,r.jsx)(n.a,{href:"/geoprocessing/docs/next/concepts/AdvancedConcepts#datasources",children:"schema"}),"."]}),"\n",(0,r.jsxs)(n.p,{children:["If at any point the process of using ",(0,r.jsx)(n.code,{children:"data:import"}),", ",(0,r.jsx)(n.code,{children:"datasources.json"}),", and ",(0,r.jsx)(n.code,{children:"projectClient"})," doesn't meet your needs, you are welcome to create your own separate process, as long as it gets datasources to the ",(0,r.jsx)(n.code,{children:"data/dist"})," directory in the format (fgb) and projection (WGS84) required, ready to be published for production use."]}),"\n",(0,r.jsx)(n.h3,{id:"precalculation",children:"Precalculation"}),"\n",(0,r.jsx)(n.p,{children:"Next, you will create a standalone script to calculate the total area of the polygons in the reef extent datasource for use in the report. By doing this calculation ahead of time, you won't need to do it every time the geoprocessing function runs."}),"\n",(0,r.jsxs)(n.p,{children:["Create a new file with the following code and save it to ",(0,r.jsx)(n.code,{children:"scripts/coralReefPrecalc.ts"}),":"]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-typescript",children:'// Run the following command from the project root directory\n// npx tsx scripts/coralReefPrecalc.ts\n\nimport { area } from "@turf/turf";\nimport { geojson } from "flatgeobuf";\nimport { readFileSync } from "fs";\nimport fs from "fs-extra";\n\n// Fetch all reef features and calculate total area\nconst buffer = readFileSync(\n `${import.meta.dirname}/../data/dist/reefextent.fgb`,\n);\nconst reefFeatures = geojson.deserialize(new Uint8Array(buffer));\nconst totalArea = area(reefFeatures);\n\nconst reefPrecalc = {\n totalAreaSqMeters: totalArea,\n};\n\nfs.ensureDirSync(`${import.meta.dirname}/../data/precalc`);\nfs.writeJsonSync(\n `${import.meta.dirname}/../data/precalc/reefextent.json`,\n reefPrecalc,\n);\n'})}),"\n",(0,r.jsx)(n.p,{children:"Now run it:"}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"npx tsx scripts/coralReefPrecalc.ts\n"})}),"\n",(0,r.jsxs)(n.p,{children:["The script fetches all features from the reef extent flatgeobuf file, calculates their total area and writes it to ",(0,r.jsx)(n.code,{children:"data/precalc/reefextent.json"}),"."]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-text",children:'{\n "totalArea": 716100906.2570591\n}\n'})}),"\n",(0,r.jsx)(n.p,{children:"We are going to use this precalculated value in a geoprocessing function in the next step."}),"\n",(0,r.jsx)(n.h3,{id:"geoprocessing-function",children:"Geoprocessing Function"}),"\n",(0,r.jsx)(n.p,{children:"To create a new geoprocessing function ready to build on, run the following:"}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"npm run create:function\n"})}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-text",children:"? Function type\nGeoprocessing - For sketch reports\n? Title for this function, in camelCase\ncoralReef\n? Describe what this function does\ncalculate sketch overlap with reef extent datasource\n? Choose an execution mode\nAsync - Better for long-running processes\n\n\u2714 created coralReef function in src/functions/\n\u2714 Registered function in project/geoprocessing.json\n\nGeoprocessing function: src/functions/coralReef.ts\nSmoke test: src/functions/coralReefSmoke.test.ts\n\nNext Steps:\n * Update the geoprocessing function with your analysis\n * Populate examples/sketches folder with sketches for smoke test to run against\n * 'npm test' to smoke test your new geoprocessing function against all example sketches\n"})}),"\n",(0,r.jsxs)(n.p,{children:["Open ",(0,r.jsx)(n.code,{children:"src/functions/coralReef.ts"}),"."]}),"\n",(0,r.jsx)(n.p,{children:"You will now update this code answer the following questions:"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:"What percentage of all coral reef is within the current sketch polygon (or sketch collection polygons)?"}),"\n",(0,r.jsx)(n.li,{children:"If it is a sketch collection, does it meet the planning objective of protecting 20% of all coral reef?"}),"\n"]}),"\n",(0,r.jsx)(n.p,{children:"Replace the existing code with the following:"}),"\n",(0,r.jsxs)(a,{children:[(0,r.jsx)("summary",{children:"src/functions/coralReef.ts"}),(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-typescript",children:'import {\n Sketch,\n SketchCollection,\n Polygon,\n MultiPolygon,\n GeoprocessingHandler,\n getFeaturesForSketchBBoxes,\n toSketchArray,\n clipMultiMerge,\n isSketchCollection,\n clip,\n Feature,\n} from "@seasketch/geoprocessing";\nimport project from "../../project/projectClient.js";\nimport { area, featureCollection } from "@turf/turf";\nimport reefPrecalc from "../../data/precalc/reefextent.json";\n\nexport interface CoralReefResults {\n /** area of all reef extent polygons in square meters */\n totalArea: number;\n /** area of reef extent within sketch or sketch collection in square meters */\n sketchArea: number;\n childSketchAreas: {\n /** Name of the sketch */\n name: string;\n /** Area of reef extent within child sketch in square meters */\n area: number | null;\n }[];\n}\n\n/**\n * Simple geoprocessing function with custom result payload\n */\nasync function coralReef(\n sketch:\n | Sketch\n | SketchCollection,\n): Promise {\n // Load just the reef features that intersect with the sketch bounding box\n // or in case of a sketch collection, the child sketch bounding boxes\n const ds = project.getInternalVectorDatasourceById("reefextent");\n const url = project.getDatasourceUrl(ds);\n const reefFeatures = await getFeaturesForSketchBBoxes(sketch, url);\n\n // Add analysis code\n\n // If collection, calculate area of each sketches intersection with reef\n let childSketchAreas: CoralReefResults["childSketchAreas"] = [];\n if (sketch.properties.isCollection) {\n childSketchAreas = toSketchArray(sketch).map((sketch) => {\n const sketchReefOverlap = clipMultiMerge(\n sketch,\n featureCollection(reefFeatures),\n "intersection",\n );\n return {\n name: sketch.properties.name,\n area: sketchReefOverlap ? area(sketchReefOverlap) : 0,\n };\n });\n }\n\n // Calculate area of overall sketch intersection with reef\n const sketchArea = (() => {\n // Figure out feature to clip\n let clipFeature: Feature | null;\n if (reefFeatures.length === 0) {\n return 0;\n } else if (isSketchCollection(sketch)) {\n // union sketches to remove overlap and avoid double count\n clipFeature = clip(sketch, "union");\n if (!clipFeature) return 0;\n } else {\n clipFeature = sketch;\n }\n //Merge reefFeatures into a single multipolygon, then intersect\n const sketchReefOverlap = clipMultiMerge(\n clipFeature,\n featureCollection(reefFeatures),\n "intersection",\n );\n return sketchReefOverlap ? area(sketchReefOverlap) : 0;\n })();\n\n // Custom return type\n return {\n totalArea: reefPrecalc.totalAreaSqMeters,\n sketchArea: sketchArea,\n childSketchAreas,\n };\n}\n\nexport default new GeoprocessingHandler(coralReef, {\n title: "coralReef",\n description: "calculate sketch overlap with reef extent datasource",\n timeout: 60, // seconds\n memory: 1024, // megabytes\n executionMode: "async",\n});\n'})})]}),"\n",(0,r.jsx)(n.p,{children:"Notice that the code imports the totalArea value you precalculated and inserts it into the result payload, avoiding the need to recalculate it each time."}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-typescript",children:'import reefPrecalc from "../../data/precalc/reefextent.json";\n\nreefPrecalc.totalArea;\n'})}),"\n",(0,r.jsx)(n.p,{children:"Then it fetches only the reef features whose bounding box intersects with the sketch bounding box, or in case of a sketch collection, that intersects with each of its child sketch bounding boxes. This is more efficient than fetching the entire reef dataset, saving time and network bandwidth."}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-typescript",children:'// Load just the reef features that intersect with the sketch bounding box\n// or in case of a sketch collection, the child sketch bounding boxes\nconst ds = project.getInternalVectorDatasourceById("reefextent");\nconst url = project.getDatasourceUrl(ds);\nconst reefFeatures = await getFeaturesForSketchBBoxes(sketch, url);\n'})}),"\n",(0,r.jsxs)(n.p,{children:["Next, if the sketch is a collection, it calculates how much coral reef overlaps with each individual sketch. To do this, it needs to figure out the areas where the sketches and coral reef ",(0,r.jsx)(n.code,{children:"intersect"}),". This is calculated using the ",(0,r.jsx)(n.code,{children:"clipMultiMerge"})," function. It is essential that this function is used because it merges the reefFeatures collection into a single multipolygon before intersecting it with the sketch. If you were to use the ",(0,r.jsx)(n.code,{children:"clip"})," function you would need to loop through each reef feature and clip the sketch to it."]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-typescript",children:'// If collection, calculate area of each sketches intersection with reef\nlet childSketchAreas: CoralReefResults["childSketchAreas"] = [];\nif (sketch.properties.isCollection) {\n childSketchAreas = toSketchArray(sketch).map((sketch) => {\n const sketchReefOverlap = clipMultiMerge(\n sketch,\n featureCollection(reefFeatures),\n "intersection",\n );\n return {\n name: sketch.properties.name,\n area: sketchReefOverlap ? area(sketchReefOverlap) : 0,\n };\n });\n}\n'})}),"\n",(0,r.jsx)(n.p,{children:"Finally, it calculates how much coral reef overlaps with the entire sketch/collection."}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:"If there is no overlap between the reef and sketch, then it simply returns zero."}),"\n",(0,r.jsxs)(n.li,{children:["If it's a sketch collection it first performs a ",(0,r.jsx)(n.code,{children:"union"})," operation that merges all of the sketches into a single Multipolygon, dissolving any overlap between the sketches so that area is not double counted."]}),"\n",(0,r.jsx)(n.li,{children:"If it's a single sketch polygon then it just calculates its area and returns it."}),"\n"]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-typescript",children:'// Calculate area of overall sketch intersection with reef\nconst sketchArea = (() => {\n // Figure out feature to clip\n let clipFeature: Feature | null;\n if (reefFeatures.length === 0) {\n return 0;\n } else if (isSketchCollection(sketch)) {\n // union sketches to remove overlap and avoid double count\n clipFeature = clip(sketch, "union");\n if (!clipFeature) return 0;\n } else {\n clipFeature = sketch;\n }\n //Merge reefFeatures into a single multipolygon, then intersect\n const sketchReefOverlap = clipMultiMerge(\n clipFeature,\n featureCollection(reefFeatures),\n "intersection",\n );\n return sketchReefOverlap ? area(sketchReefOverlap) : 0;\n})();\n\n// Custom return type\nreturn {\n totalArea: reefPrecalc.totalAreaSqMeters,\n sketchArea: sketchArea,\n childSketchAreas,\n};\n'})}),"\n",(0,r.jsx)(n.p,{children:"Now run tests to generate updated output for each of the sample sketches:"}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"npm run test\n"})}),"\n",(0,r.jsx)(n.p,{children:"Confirm that the output looks as expected."}),"\n",(0,r.jsxs)(a,{children:[(0,r.jsx)("summary",{children:"Example output"}),(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-text",children:'{\n "totalArea": 716100906.2570591,\n "sketchArea": 367734.86730626615,\n "childSketchAreas": [\n {\n "name": "sketchCollection1-1",\n "area": 428611581.5348215\n },\n {\n "name": "sketchCollection1-2",\n "area": 258701691.8012635\n },\n {\n "name": "sketchCollection1-3",\n "area": 599831752.2377243\n },\n {\n "name": "sketchCollection1-4",\n "area": 372585470.74404347\n },\n {\n "name": "sketchCollection1-5",\n "area": 562781719.588172\n },\n {\n "name": "sketchCollection1-6",\n "area": 528237794.83984125\n },\n {\n "name": "sketchCollection1-7",\n "area": 253970548.59694752\n },\n {\n "name": "sketchCollection1-8",\n "area": 376674659.1741572\n },\n {\n "name": "sketchCollection1-9",\n "area": 657788539.6501052\n },\n {\n "name": "sketchCollection1-10",\n "area": 712233449.0549812\n }\n ]\n}\n'})})]}),"\n",(0,r.jsx)(n.h3,{id:"report-client",children:"Report Client"}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-typescript",children:"npm run create:client\n"})}),"\n",(0,r.jsx)(n.p,{children:"Open src/components/CoralReefCard.tsx."}),"\n",(0,r.jsx)(n.p,{children:"You will now update this code to:"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:"Display the % of total coral reef captured within this sketch"}),"\n",(0,r.jsxs)(n.li,{children:["If it is a sketch collection","\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:"Indicate whether the objective of protecting 20% of all coral reef has been met."}),"\n",(0,r.jsx)(n.li,{children:"Display a collapsible area with a breakdown of the area and % area of coral reef within each individual sketch in the collection."}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,r.jsx)(n.p,{children:"Replace the existing code with the following:"}),"\n",(0,r.jsxs)(a,{children:[(0,r.jsx)("summary",{children:"src/components/CoralReefCard.tsx"}),(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-javascript",children:'import React from "react";\nimport { Trans, useTranslation } from "react-i18next";\nimport {\n ResultsCard,\n useSketchProperties,\n HorizontalStackedBar,\n Collapse,\n Table,\n ObjectiveStatus,\n VerticalSpacer,\n} from "@seasketch/geoprocessing/client-ui";\nimport {\n percentWithEdge,\n roundDecimalFormat,\n squareMeterToKilometer,\n} from "@seasketch/geoprocessing/client-core";\n\n// Import CoralReefResults to type-check data access in ResultsCard render function\nimport { CoralReefResults } from "../functions/coralReef.js";\n\nexport const CoralReefCard = () => {\n const { t } = useTranslation();\n const [{ isCollection }] = useSketchProperties();\n const titleTrans = t("CoralReefCard title", "Coral Reef");\n return (\n <>\n \n {(data: CoralReefResults) => {\n const target = 0.2; // 20%\n const reefPerc = data.sketchArea / data.totalArea;\n const reefPercString = percentWithEdge(reefPerc);\n const targetPercString = percentWithEdge(target);\n\n const meetsObjective = reefPerc >= target;\n const chartRows = [[[reefPerc]]];\n\n const sketchTypeStr = isCollection\n ? t("sketch collection")\n : t("sketch");\n\n const meetsOrNotElement = meetsObjective ? (\n \n This {{ sketchTypeStr }} meets the objective of protecting{" "}\n {{ targetPercString }} of coral reef\n \n ) : (\n \n This {{ sketchTypeStr }} does not meet the objective of protecting{" "}\n {{ targetPercString }} of coral reef\n \n );\n\n return (\n <>\n

\n \n {{ reefPercString }} of all Micronesia coral reef is within\n this {{ sketchTypeStr }}.\n \n

\n {isCollection && (\n \n )}\n\n \n percentWithEdge(value / 100)}\n max={4}\n target={20}\n targetValueFormatter={(targetValue) => (\n \n Target {{ targetValue: percentWithEdge(targetValue / 100) }}\n \n )}\n rowConfigs={[\n {\n title: t("Total coral reef"),\n },\n ]}\n blockGroupNames={[]}\n blockGroupStyles={[{ backgroundColor: "#64c2a6" }]}\n />\n {isCollection && (\n \n \n roundDecimalFormat(squareMeterToKilometer(row.area)),\n },\n {\n Header: t("% Reef within Sketch"),\n accessor: (row: any) =>\n percentWithEdge(row.area / data.totalArea),\n },\n ]}\n />\n \n )}\n \n );\n }}\n
\n \n );\n};\n'})})]}),"\n",(0,r.jsx)(n.p,{children:"There are multiple things worth noticing:"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.code,{children:"squareMeterToKilometer"})," conversion helper function is used"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.code,{children:"percentWithEdge"})," and ",(0,r.jsx)(n.code,{children:"roundDecimalFormat"})," helper functions are used to format values to be more human readable. Will use locale settings of the users browser when formatting decimal and percent."]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.code,{children:"HorizontalStackedBar"})," and ",(0,r.jsx)(n.code,{children:"ObjectiveStatus"})," core UI components present information in a more visually interesting way that can be reused across reports. See core ",(0,r.jsx)(n.a,{href:"/storybook",children:"storybook"})," for more examples of their use."]}),"\n"]}),"\n",(0,r.jsx)(n.p,{children:"Now, start storybook and view the result:"}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"npm run storybook\n"})}),"\n",(0,r.jsx)(n.p,{children:"When viewing a sketch example, it should display the following:"}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.img,{alt:"CoralReefCard sketch view",src:t(8847).A+"",width:"742",height:"291"})}),"\n",(0,r.jsx)(n.p,{children:"And when viewing a sketch collection example, it should display the additional components:"}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.img,{alt:"CoralReefCard collection view",src:t(97287).A+"",width:"748",height:"928"})}),"\n",(0,r.jsx)(n.h3,{id:"add-to-tab-report",children:"Add to Tab Report"}),"\n",(0,r.jsx)(n.p,{children:"Now add the CoralReefCard as a new section to your top-level TabReport, on its ViabilityPage."}),"\n",(0,r.jsxs)(n.p,{children:["Open ",(0,r.jsx)(n.code,{children:"src/components/ViabilityPage.tsx"})," and replace the code with the following:"]}),"\n",(0,r.jsxs)(a,{children:[(0,r.jsx)("summary",{children:"src/components/ViabilityPage.tsx"}),(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-typescript",children:'import React from "react";\nimport { SimpleCard } from "./SimpleCard.js";\nimport { SketchAttributesCard } from "@seasketch/geoprocessing/client-ui";\nimport { CoralReefCard } from "./CoralReefCard.js";\n\nexport const ViabilityPage = () => {\n return (\n <>\n \n \n \n \n );\n};\n'})})]}),"\n",(0,r.jsx)(n.p,{children:"Storybook should update on save and display the following:"}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.img,{alt:"CoralReefCard add to page",src:t(62848).A+"",width:"748",height:"631"})}),"\n",(0,r.jsx)(n.h2,{id:"benthic-habitat-report",children:"Benthic Habitat Report"}),"\n",(0,r.jsx)(n.p,{children:"Next you will create a report summarizing sketch overlap with multiple classes of benthic rock. More advanced framework features will be used that streamline the process further."}),"\n",(0,r.jsx)(n.h3,{id:"import-data-1",children:"Import Data"}),"\n",(0,r.jsx)(n.p,{children:"First, import the data."}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"npm run import:data\n"})}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-text",children:"? Type of data?\nVector\n? Enter path to src file (with filename)\ndata/src/benthic-rock.fgb\n? Select layer to import\nbenthic-rock\n? Choose unique datasource name (a-z, A-Z, 0-9, -, _), defaults to filename\nbenthic-rock\n? Should multi-part geometries be split into single-part geometries?\nYes\n? (Optional) additional formats to create (besides fgb)\n[Press Enter to skip]\n? Select feature properties that you want to group metrics by\nclass\n? Select additional feature properties to keep in final datasource\n[Press Enter to skip]\n\nAdding benthic-rock record in project/datasources.json file\n"})}),"\n",(0,r.jsx)(n.h3,{id:"add-metric-group",children:"Add Metric Group"}),"\n",(0,r.jsxs)(n.p,{children:["A metric group is a higher-level entity that defines a metric to be measured, for one or more classes of data. ",(0,r.jsx)(n.code,{children:"MetricGroup"})," ",(0,r.jsx)(n.strong,{children:"records"})," can defined in ",(0,r.jsx)(n.code,{children:"project/metrics.json"})," and accessed using the project client in your geoprocessing functions and reports."]}),"\n",(0,r.jsxs)(n.p,{children:["Let's create a metric group by first looking at the benthic dataset. It represents where multiple classes of benthic habitat are present - sand, rock, rubble. Each polygon is assigned with a single habitat type using the ",(0,r.jsx)(n.code,{children:"class"})," attribute and given a value of ",(0,r.jsx)(n.code,{children:"Sand"}),", ",(0,r.jsx)(n.code,{children:"Rock"}),", or ",(0,r.jsx)(n.code,{children:"Rubble"}),"."]}),"\n",(0,r.jsxs)(n.p,{children:["Add the following metric group object to ",(0,r.jsx)(n.code,{children:"project/metrics.json"})," and save the file."]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-json",children:'{\n "metricId": "benthicHabitat",\n "classKey": "class",\n "datasourceId": "benthic-rock",\n "classes": [\n {\n "classId": "Sand",\n "display": "Sand"\n },\n {\n "classId": "Rock",\n "display": "Rock"\n },\n {\n "classId": "Rubble",\n "display": "Rubble"\n }\n ]\n}\n'})}),"\n",(0,r.jsxs)(n.p,{children:["This defines a ",(0,r.jsx)(n.code,{children:"benthicHabitat"})," metric that sources data from the ",(0,r.jsx)(n.code,{children:"benthic"})," datasource. The ",(0,r.jsx)(n.code,{children:"classKey"})," indicates this datasource has an attribute named ",(0,r.jsx)(n.code,{children:"class"})," used to identify which data class each polygon is a member of. 3 data classes are defined with a ",(0,r.jsx)(n.code,{children:"classId"})," serving as the unique identifier for the data class, and it also matches the value used in the data at the ",(0,r.jsx)(n.code,{children:"classKey"})," attribute."]}),"\n",(0,r.jsxs)(n.p,{children:["To learn more about metric groups, visit the ",(0,r.jsx)(n.a,{href:"/geoprocessing/docs/next/concepts/AdvancedConcepts#metric-group",children:"advanced concepts"})," page."]}),"\n",(0,r.jsx)(n.h3,{id:"create-report",children:"Create Report"}),"\n",(0,r.jsx)(n.p,{children:"Next you will create a report that uses your metric group. Run the following command and answer the questions:"}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"npm run create:report\n"})}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-text",children:"? Type of report to create\nVector overlap report - calculates sketch overlap with vector datasources\n? Describe what this reports geoprocessing function will calculate (e.g. Calculate sketch overlap with boundary polygons)\nCalculate sketch overlap with benthic habitat\n? Select the metric group to report on\nbenthicHabitat\n\n\u2714 Created benthicHabitat report\n\u2714 Registered report assets in project/geoprocessing.json\n\nGeoprocessing function: src/functions/benthicHabitat.ts\nSmoke test: src/functions/benthicHabitatSmoke.test.ts\nReport component: src/components/BenthicHabitatCard.tsx\nStory generator: src/components/BenthicHabitatCard.example-stories.ts\n\nNext Steps:\n * 'npm test' to run smoke tests against your new geoprocessing function\n * 'npm run storybook' to view your new report with smoke test output\n * Add to a top-level report client or page when ready\n"})}),"\n",(0,r.jsx)(n.p,{children:"You should now have a geoprocessing function and card component ready to go that will iterate through your data classes and calculate/report area overlap with your sketch."}),"\n",(0,r.jsx)(n.h3,{id:"test-new-example-sketch",children:"Test New Example Sketch"}),"\n",(0,r.jsxs)(n.p,{children:["Now ",(0,r.jsx)(n.code,{children:"npm test"})," your geoprocessing function and look at the new smoke test output in ",(0,r.jsx)(n.code,{children:"examples/output"}),"."]}),"\n",(0,r.jsx)(n.p,{children:"It's very likely that none of your random sketchs overlapped with any benthic polygons and all display zero. Let's add an example sketch that we know will overlap."}),"\n",(0,r.jsxs)(a,{children:[(0,r.jsx)("summary",{children:"examples.output/sketch2.json"}),(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-json",children:'{\n "type": "Feature",\n "properties": {\n "id": "78f6e916-20f0-471e-a15e-6d632650cf68",\n "isCollection": false,\n "userAttributes": [\n {\n "label": "Type",\n "fieldType": "ChoiceField",\n "exportId": "TYPE",\n "value": "sketch"\n },\n {\n "label": "Notes",\n "value": "": "NOTES",\n "fieldType": "TextArea"\n }\n ],\n "sketchClassId": "3ac026ad-c3eb-471a-b6ad-58782aa5e949",\n "createdAt": "2024-11-26T02:48:33.985Z",\n "updatedAt": "2024-11-26T02:48:33.985Z",\n "name": "sketch2"\n },\n "geometry": {\n "type": "Polygon",\n "coordinates": [\n [\n [\n 151.31665625673213,\n 7.749571426060996\n ],\n [\n 151.31665625673213,\n 5.925462431466443\n ],\n [\n 153.9861009666032,\n 5.925462431466443\n ],\n [\n 153.9861009666032,\n 7.749571426060996\n ],\n [\n 151.31665625673213,\n 7.749571426060996\n ]\n ]\n ]\n },\n "id": "78f6e916-20f0-471e-a15e-6d632650cf68"\n}\n'})})]}),"\n",(0,r.jsx)(n.p,{children:"You should now see non-zero output for each benthic class for the sketch2 example:"}),"\n",(0,r.jsxs)(a,{children:[(0,r.jsx)("summary",{children:"examples/output/sketch2/benthicHabitat.json"}),(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-json",children:'{\n "metrics": [\n {\n "geographyId": "world",\n "metricId": "benthicHabitat",\n "classId": "Rock",\n "sketchId": "78f6e916-20f0-471e-a15e-6d632650cf68",\n "groupId": null,\n "value": 11210186.968081,\n "extra": {\n "sketchName": "sketch2"\n }\n },\n {\n "geographyId": "world",\n "metricId": "benthicHabitat",\n "classId": "Rubble",\n "sketchId": "78f6e916-20f0-471e-a15e-6d632650cf68",\n "groupId": null,\n "value": 11210186.968081,\n "extra": {\n "sketchName": "sketch2"\n }\n },\n {\n "geographyId": "world",\n "metricId": "benthicHabitat",\n "classId": "Sand",\n "sketchId": "78f6e916-20f0-471e-a15e-6d632650cf68",\n "groupId": null,\n "value": 11210186.968081,\n "extra": {\n "sketchName": "sketch2"\n }\n }\n ]\n}\n'})})]}),"\n",(0,r.jsx)(n.h3,{id:"precalc-data",children:"Precalc Data"}),"\n",(0,r.jsxs)(n.p,{children:["Before you can use your benthic report, you need to precalculate the area of your benthic polygons. Rather than writing a script for this, the ",(0,r.jsx)(n.code,{children:"precalc:data"})," command is available that will inspect your datasources and precalculate basic metrics (area, count). Let's look at the datasource record generated for our benthic-rock datasource to understand what precalc will do."]}),"\n",(0,r.jsxs)(a,{children:[(0,r.jsx)("summary",{children:"project/datasources.json"}),(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-typescript",children:'{\n "src": "data/src/benthic-rock.fgb",\n "layerName": "benthic-rock",\n "geo_type": "vector",\n "datasourceId": "benthic-rock",\n "formats": [\n "fgb"\n ],\n "classKeys": [\n "class"\n ],\n "created": "2024-11-28T05:58:26.284Z",\n "lastUpdated": "2024-11-28T05:58:26.284Z",\n "propertiesToKeep": [\n "class"\n ],\n "explodeMulti": true,\n "precalc": true\n}\n'})})]}),"\n",(0,r.jsxs)(n.p,{children:["You'll notice that the ",(0,r.jsx)(n.code,{children:"precalc"})," property is set to true. That means that it is made available for precalculation. You can disable precalculation for any datasource you want at any time."]}),"\n",(0,r.jsxs)(n.p,{children:["You'll also notice that the ",(0,r.jsx)(n.code,{children:"class"})," attribute is configured under ",(0,r.jsx)(n.code,{children:"classKeys"}),"."]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-json",children:'"classKeys": [\n "class"\n],\n'})}),"\n",(0,r.jsxs)(n.p,{children:["This is because when importing your datasource, when asked to select feature properties that you want to group metrics by, you should have selected ",(0,r.jsx)(n.code,{children:"class"}),". If present, the precalc command will use this to precalculate metrics by each unique value present in the dataset for the ",(0,r.jsx)(n.code,{children:"class"})," attribute."]}),"\n",(0,r.jsx)(n.p,{children:"You're now ready to precalculate your metrics."}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"npm run precalc:data\n\n? Do you want to precalculate only a subset?\nNo, just precalculate everything (may take a while)\n\n...\n\n2 datasource/geography combinations precalculated successfully\n2 datasource/geography combinations skipped due to precalc disabled\n"})}),"\n",(0,r.jsxs)(n.p,{children:["You should now have precalculated ",(0,r.jsx)(n.code,{children:"area"})," and ",(0,r.jsx)(n.code,{children:"count"})," metrics for both reefextent and benthic-rock datasources. Let's look closer at the output."]}),"\n",(0,r.jsxs)(a,{children:[(0,r.jsx)("summary",{children:"project/precalc.json"}),(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-json",children:'[\n {\n "geographyId": "world",\n "metricId": "area",\n "classId": "benthic-rock-Rock",\n "sketchId": null,\n "groupId": null,\n "value": 16604057.106034255\n },\n {\n "geographyId": "world",\n "metricId": "area",\n "classId": "benthic-rock-Rubble",\n "sketchId": null,\n "groupId": null,\n "value": 14568314.003883593\n },\n {\n "geographyId": "world",\n "metricId": "area",\n "classId": "benthic-rock-Sand",\n "sketchId": null,\n "groupId": null,\n "value": 41378302.21403051\n },\n {\n "geographyId": "world",\n "metricId": "area",\n "classId": "benthic-rock-total",\n "sketchId": null,\n "groupId": null,\n "value": 72550673.32394843\n },\n {\n "geographyId": "world",\n "metricId": "area",\n "classId": "reefextent-total",\n "sketchId": null,\n "groupId": null,\n "value": 716231422.607066\n },\n {\n "geographyId": "world",\n "metricId": "count",\n "classId": "benthic-rock-Rock",\n "sketchId": null,\n "groupId": null,\n "value": 2712\n },\n {\n "geographyId": "world",\n "metricId": "count",\n "classId": "benthic-rock-Rubble",\n "sketchId": null,\n "groupId": null,\n "value": 2002\n },\n {\n "geographyId": "world",\n "metricId": "count",\n "classId": "benthic-rock-Sand",\n "sketchId": null,\n "groupId": null,\n "value": 2658\n },\n {\n "geographyId": "world",\n "metricId": "count",\n "classId": "benthic-rock-total",\n "sketchId": null,\n "groupId": null,\n "value": 7372\n },\n {\n "geographyId": "world",\n "metricId": "count",\n "classId": "reefextent-total",\n "sketchId": null,\n "groupId": null,\n "value": 14406\n }\n]\n'})})]}),"\n",(0,r.jsx)(n.p,{children:"Within all of these records you will see four that represent the total area of all benthic-rock polygons and the total area for each of the 3 benthic rock classes:"}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-json",children:'{\n "geographyId": "world",\n "metricId": "area",\n "classId": "benthic-rock-total",\n "sketchId": null,\n "groupId": null,\n "value": 72550673.32394843\n},\n{\n "geographyId": "world",\n "metricId": "area",\n "classId": "benthic-rock-Rock",\n "sketchId": null,\n "groupId": null,\n "value": 16604057.106034255\n},\n{\n "geographyId": "world",\n "metricId": "area",\n "classId": "benthic-rock-Rubble",\n "sketchId": null,\n "groupId": null,\n "value": 14568314.003883593\n},\n{\n "geographyId": "world",\n "metricId": "area",\n "classId": "benthic-rock-Sand",\n "sketchId": null,\n "groupId": null,\n "value": 41378302.21403051\n}\n'})}),"\n",(0,r.jsx)(n.p,{children:"These will get loaded and used in our BenthicReefCard as the denominator value when calculating percent sketch overlap."}),"\n",(0,r.jsx)(n.h3,{id:"world-geography",children:"World Geography"}),"\n",(0,r.jsxs)(n.p,{children:["You might have noticed in the precalculated metrics that they are assigned a geographyId of ",(0,r.jsx)(n.code,{children:"world"}),". ",(0,r.jsx)(n.code,{children:"Geographies"})," are a higher level feature of the framework that define polygon boundaries that serve a specfic purpose in your project. The main use case is to define planning boundaries for your project, if you have them."]}),"\n",(0,r.jsxs)(n.p,{children:["The default Geography for a new project is the ",(0,r.jsx)(n.code,{children:"world"})," geography, which establishes the entire world as your planning boundary. This is sufficient for your needs until you have a more specific planning boundary that you want to work with. For example you can clip your sketches and your data to a geography in order to report metrics for a specific geography. Since your data is already pre-clipped to the planning area, and there is only one planning area, you don't need to do anything more with this feature. You can just leave it to use the ",(0,r.jsx)(n.code,{children:"world"})," geography."]}),"\n",(0,r.jsxs)(n.p,{children:["Geographies are defined in ",(0,r.jsx)(n.code,{children:"project/geographies.json"}),". To learn more visit the ",(0,r.jsx)(n.a,{href:"/geoprocessing/docs/next/concepts/AdvancedConcepts#geographies",children:"advanced concepts"})," page."]}),"\n",(0,r.jsx)(n.h3,{id:"view-reports",children:"View Reports"}),"\n",(0,r.jsx)(n.p,{children:"Next, add BenthicHabitatCard to the ViabilityPage so that it now displays in your TabReport."}),"\n",(0,r.jsxs)(a,{children:[(0,r.jsx)("summary",{children:"src/components/ViabilityPage.tsx"}),(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-typescript",children:'import React from "react";\nimport { SimpleCard } from "./SimpleCard.js";\nimport { SketchAttributesCard } from "@seasketch/geoprocessing/client-ui";\nimport { CoralReefCard } from "./CoralReefCard.js";\nimport { BenthicHabitatCard } from "./BenthicHabitatCard.js";\n\nexport const ViabilityPage = () => {\n return (\n <>\n \n \n \n \n \n );\n};\n'})})]}),"\n",(0,r.jsxs)(n.p,{children:["Then ",(0,r.jsx)(n.code,{children:"npm run storybook"})," and verify both TabReport and BenthicHabitatCard display as expected for your various example sketches."]}),"\n",(0,r.jsx)(n.h2,{id:"octocoral-report",children:"Octocoral Report"}),"\n",(0,r.jsx)(n.h3,{id:"import-data-2",children:"Import Data"}),"\n",(0,r.jsx)(n.p,{children:"Now import the following additional datasources:"}),"\n",(0,r.jsx)(n.p,{children:"Octocorals - raster with 0/1 values representing predicted presence/absence of species."}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-text",children:"? Type of data?\nRaster\n? Enter path to src file (with filename)\ndata/src/yesson_octocorals.tif\n? Choose unique datasource name (a-z, A-Z, 0-9, -, _), defaults to filename\noctocorals\n? Select raster band to import\n1\n? What type of measurement is used for this raster data?\nQuantitative - values represent amounts, measurement of single thing\n? Will you be precalculating summary metrics for this datasource after import? (Typically yes if reporting sketch % overlap with datasource)\nYes\n"})}),"\n",(0,r.jsx)(n.h3,{id:"add-metric-group-1",children:"Add Metric Group"}),"\n",(0,r.jsx)(n.h3,{id:"create-report-1",children:"Create Report"}),"\n",(0,r.jsx)(n.h2,{id:"advanced-features",children:"Advanced Features"}),"\n",(0,r.jsx)(n.h3,{id:"add-planning-boundary",children:"Add Planning Boundary"}),"\n",(0,r.jsx)(n.h3,{id:"update-default-geography",children:"Update default Geography"}),"\n",(0,r.jsx)(n.p,{children:"Now change the projects default geography from the world, to your new planning boundary."}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:["Open ",(0,r.jsx)(n.code,{children:"project/geographies.json"}),". You will see an array with one geography record called ",(0,r.jsx)(n.code,{children:"world"}),". This is the default geography and can be left here. You will disable its precalc and remove it from the ",(0,r.jsx)(n.code,{children:"default-boundary"})," group, then add a new geography record for your ",(0,r.jsx)(n.code,{children:"planning-boundary"}),"."]}),"\n",(0,r.jsx)(n.li,{children:"Replace the contents of the geographies file with the following and save it:"}),"\n"]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-json",children:'[\n {\n "geographyId": "world",\n "datasourceId": "world",\n "display": "World",\n "groups": [],\n "precalc": false\n },\n {\n "geographyId": "planning-boundary",\n "datasourceId": "planning-boundary",\n "display": "Planning Boundary",\n "groups": ["default-boundary"],\n "precalc": true\n }\n]\n'})}),"\n",(0,r.jsx)(n.h3,{id:"precalc-data-1",children:"Precalc Data"}),"\n",(0,r.jsxs)(n.p,{children:["The ",(0,r.jsx)(n.code,{children:"precalc"})," command calculates spatial statistics for the portion of each of your datasources that falls within each of your project's Geographies."]}),"\n",(0,r.jsx)(n.p,{children:"Geographies are simply geographic boundaries for your project, and the default Geography for this project is the entire World."}),"\n",(0,r.jsx)(n.p,{children:"Why do this?"}),"\n",(0,r.jsx)(n.p,{children:'One of the questions our report needs to answer is "what percentage of coral reef within the planning boundary are within my Sketch polygon?'}),"\n",(0,r.jsxs)(n.p,{children:["This is calculated as:\n",(0,r.jsx)(n.code,{children:"% area of coral reef in sketch = area of coral reef within sketch / area of coral reef within planning boundary"})]}),"\n",(0,r.jsx)(n.p,{children:"The numerator in this equation (area of reef within sketch) is relatively inexpensive to calculate and we will do it within a geoprocessing function where we have access to the sketch. But the denominator calculation can be expensive if the data is very large or complex. Thankfully we can calculate it ahead of time."}),"\n",(0,r.jsxs)(n.p,{children:["Since your datasources and geographies already have ",(0,r.jsx)(n.code,{children:"precalc: true"})," set, you are ready to start:"]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"npm run precalc:data\n\n? Do you want to precalculate only a subset?\n Yes, by datasource\n Yes, by geography\n Yes, by both\n\u276f No, just precalculate everything (may take a while)\n"})}),"\n",(0,r.jsx)(n.p,{children:'Choose to "precalculate everything". Then press enter. The precalc process may take a while.'}),"\n",(0,r.jsxs)(n.p,{children:["What's happening is that the precalc script starts a local web server on port 8001 that serves up the datasources in ",(0,r.jsx)(n.code,{children:"data/dist"}),"."]}),"\n",(0,r.jsxs)(n.p,{children:["The precalc script then gets all your project datasources with ",(0,r.jsx)(n.code,{children:"precalc: true"}),", and all your project geographies with ",(0,r.jsx)(n.code,{children:"precalc: true"}),", and then calculate ",(0,r.jsx)(n.code,{children:"area"}),", ",(0,r.jsx)(n.code,{children:"sum"}),", and ",(0,r.jsx)(n.code,{children:"count"})," metrics for each combination of datasource and geography."]}),"\n",(0,r.jsxs)(n.p,{children:["Once complete ",(0,r.jsx)(n.code,{children:"project/precalc.json"})," will have been updated with the new metric values."]}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:["To learn more advanced use, see the ",(0,r.jsx)(n.a,{href:"/geoprocessing/docs/next/precalc",children:"precalc"})," guide."]}),"\n",(0,r.jsxs)(n.li,{children:["To learn more about use of precalculated metrics, see the ",(0,r.jsx)(n.a,{href:"/geoprocessing/docs/next/reportclient",children:"report client"})," guide."]}),"\n"]}),"\n",(0,r.jsx)(n.h3,{id:"language-translation-1",children:"Language Translation"}),"\n",(0,r.jsx)(n.p,{children:"Run the following to extract the latest translations from all of you report clients and its underlying components."}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"npm run extract:translation\n"})}),"\n",(0,r.jsx)(n.h2,{id:"whats-next",children:"What's Next"}),"\n",(0,r.jsx)(n.p,{children:"You've now completed the sample tutorial. Your next step is to choose whether you would like to:"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:["Setup an ",(0,r.jsx)(n.a,{href:"/geoprocessing/docs/next/tutorials/existingproject",children:"existing project to setup"}),", and re-deploy it."]}),"\n",(0,r.jsxs)(n.li,{children:["Create a ",(0,r.jsx)(n.a,{href:"/geoprocessing/docs/next/tutorials/newproject",children:"create a new project"}),", deploy it and integrate with SeaSketch."]}),"\n"]})]})}function h(e={}){const{wrapper:n}={...(0,s.R)(),...e.components};return n?(0,r.jsx)(n,{...e,children:(0,r.jsx)(d,{...e})}):d(e)}},62848:(e,n,t)=>{t.d(n,{A:()=>r});const r=t.p+"assets/images/coral-reef-card-add-to-page-acfb419983acedd6b1f2d576a422b175.jpg"},97287:(e,n,t)=>{t.d(n,{A:()=>r});const r=t.p+"assets/images/coral-reef-card-collection-42587097890cc8cb14f0276d105af2b1.jpg"},8847:(e,n,t)=>{t.d(n,{A:()=>r});const r=t.p+"assets/images/coral-reef-card-sketch-a752ef560d2ef81510dcc024f968b2b3.jpg"},81465:(e,n,t)=>{t.d(n,{A:()=>r});const r=t.p+"assets/images/eez-bbox-eaed173f82fe29cdd6c06782e621ff43.jpg"},94616:(e,n,t)=>{t.d(n,{A:()=>r});const r=t.p+"assets/images/eez-with-land-a17837dd0ade1b26dd289529dc938a38.jpg"},35162:(e,n,t)=>{t.d(n,{A:()=>r});const r=t.p+"assets/images/reef-extent-c5b22beda714f8f21941e25144be67f2.jpg"},51899:(e,n,t)=>{t.d(n,{A:()=>r});const r=t.p+"assets/images/simple-card-table-fb0438e81de84b2fabe0ab3a176cb0c5.jpg"},44424:(e,n,t)=>{t.d(n,{A:()=>r});const r=t.p+"assets/images/simple-card-view-98fb13a0d5b08444c9a4aff7e8a980e3.jpg"},26730:(e,n,t)=>{t.d(n,{A:()=>r});const r=t.p+"assets/images/storybook-one-5564fd0bc2a46d74d1c37746689fae7d.jpg"},28453:(e,n,t)=>{t.d(n,{R:()=>o,x:()=>i});var r=t(96540);const s={},a=r.createContext(s);function o(e){const n=r.useContext(a);return r.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function i(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:o(e.components),r.createElement(a.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/runtime~main.0f72ee2c.js b/assets/js/runtime~main.f86b006c.js similarity index 99% rename from assets/js/runtime~main.0f72ee2c.js rename to assets/js/runtime~main.f86b006c.js index 216cad19e..cfc248a93 100644 --- a/assets/js/runtime~main.0f72ee2c.js +++ b/assets/js/runtime~main.f86b006c.js @@ -1 +1 @@ -(()=>{"use strict";var e,a,c,b,f,d={},t={};function r(e){var a=t[e];if(void 0!==a)return a.exports;var c=t[e]={id:e,loaded:!1,exports:{}};return d[e].call(c.exports,c,c.exports,r),c.loaded=!0,c.exports}r.m=d,r.c=t,e=[],r.O=(a,c,b,f)=>{if(!c){var d=1/0;for(i=0;i=f)&&Object.keys(r.O).every((e=>r.O[e](c[o])))?c.splice(o--,1):(t=!1,f0&&e[i-1][2]>f;i--)e[i]=e[i-1];e[i]=[c,b,f]},r.n=e=>{var a=e&&e.__esModule?()=>e.default:()=>e;return r.d(a,{a:a}),a},c=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,r.t=function(e,b){if(1&b&&(e=this(e)),8&b)return e;if("object"==typeof e&&e){if(4&b&&e.__esModule)return e;if(16&b&&"function"==typeof e.then)return e}var f=Object.create(null);r.r(f);var d={};a=a||[null,c({}),c([]),c(c)];for(var t=2&b&&e;"object"==typeof t&&!~a.indexOf(t);t=c(t))Object.getOwnPropertyNames(t).forEach((a=>d[a]=()=>e[a]));return d.default=()=>e,r.d(f,d),f},r.d=(e,a)=>{for(var c in a)r.o(a,c)&&!r.o(e,c)&&Object.defineProperty(e,c,{enumerable:!0,get:a[c]})},r.f={},r.e=e=>Promise.all(Object.keys(r.f).reduce(((a,c)=>(r.f[c](e,a),a)),[])),r.u=e=>"assets/js/"+({13:"583603b7",34:"d3fb262d",38:"449e4dc6",42:"9fe84de8",306:"58a05d9a",339:"9b757d58",511:"6cb9b8c5",587:"df5aa7dd",749:"b1abec39",784:"d10f84d4",801:"d466d172",855:"42ec3285",1378:"715df43e",1411:"6e8a13b0",2105:"cdec8630",2748:"822bd8ab",2915:"ef57aa4c",3053:"5a77b0d8",3098:"533a09ca",3575:"c5b77b19",3783:"20c30c76",4060:"296a3842",4169:"b0fe2760",4186:"838fb0b0",4317:"c9716e5b",4390:"ad5d9006",4562:"13245b4f",4644:"065977f7",4713:"4ced9953",4748:"19bc8eef",4763:"6069dc02",4965:"678d861b",4969:"f71bca15",5174:"e442797e",5277:"a9e39b96",5558:"bcb896d7",5562:"9b2427a8",5635:"8cedeea9",5814:"76f1a969",5820:"1020312d",5899:"a09c2993",5920:"7ddc1705",6089:"de0ec296",6507:"18ca75cf",6650:"204e117e",6673:"9709e7cb",6846:"8f95f66c",6949:"3ff52dca",7251:"91b6783f",7336:"76d46aba",7435:"9f83c6f7",7955:"339f6315",8016:"64dbaf0f",8326:"b79706ee",8465:"6efe857f",8489:"a58f4723",8649:"9d05cd7d",8745:"5c25e40f",9035:"99df31ff",9067:"ec19e0a6",9159:"3bb712cb",9235:"d761df68",9248:"a5000089",9430:"60437e04",9451:"2f4d29f9",9462:"c0d9604c",9647:"5e95c892",9670:"296a08bc",9898:"81f057ea",10045:"cdea44ef",10305:"28543a21",10317:"85ddfa3e",10433:"311ab9cf",10535:"c8f327b7",10578:"e37e0948",11093:"26a8165c",11149:"19c161ed",11407:"94e3e0e3",11431:"b35a4bab",11807:"a6fab790",12094:"d6d926f4",12099:"d92ca8f5",12443:"d8107dcc",12577:"cce52400",12596:"f3e32ae2",12744:"9a50c92d",12903:"a1c3829e",13095:"922b37a4",13298:"4c98ba2d",13579:"ca83acbe",13615:"e7cfc72c",13618:"0e930aeb",13786:"35709b3d",13829:"46c06872",14160:"ca1aa266",14646:"f46cf07e",14856:"2b163177",15040:"452aa042",15448:"1cbe4596",15626:"672ed64a",15908:"96c6ab62",16100:"5bf3aef7",16182:"cd280042",16253:"8bc8919d",16436:"ef6674fe",16824:"5b725301",16844:"d39d81b4",16966:"cb6adff9",16978:"d3818960",17063:"ceb71161",17284:"3041404c",17288:"cf8d0fcc",17530:"05da8984",17608:"d6fc3522",17631:"660b2a78",17710:"4a4fa746",17840:"f3d56391",18137:"ecfed5ec",18185:"5faf1f47",18232:"057a4864",18298:"6f53a749",18331:"a6270d48",18401:"17896441",19018:"21b0cdf7",19029:"a156e6ac",19202:"8b0f1c4e",19413:"5be9832d",19669:"f64fce26",19761:"673ec543",19788:"b75d1943",20100:"e276cf42",20552:"5a69df3e",20647:"a2b365cf",20673:"d3fa14af",20942:"04b9c63d",21051:"f47f5b5c",21241:"a74d2383",21319:"34cab964",21489:"5c52f6e8",21895:"e6688bcd",21919:"f567390f",22166:"a73c2a00",22248:"6aa3a25b",22308:"28bea1e7",22482:"3267b9a3",22663:"0553e70a",22720:"2bf4ec9b",22747:"295604f4",22798:"00120f28",22910:"18b3c895",23120:"9bc477a6",23543:"549db752",23596:"42c64eb9",23754:"aafb361c",23940:"3885774a",23970:"ab71a14f",24155:"87ef4734",24652:"f5720a8f",24736:"e44a2883",25030:"79d1a076",25072:"4dd4eb46",25134:"3ff000ec",25435:"7a0e7b59",25910:"54a3c5db",26043:"f183e07b",26126:"77861e5d",26833:"37a91261",26945:"cc189fd2",26968:"51c27797",27055:"3374161e",27360:"0b8ab3bc",27375:"58ef7c00",27417:"a1b14e0f",27479:"406590f2",27521:"6884bd1a",27584:"8e52731f",27606:"49257947",27630:"bed62a7f",28524:"dba81e08",28590:"73e979b3",28639:"18f8d593",28641:"2f97ff33",28898:"11eaec78",29181:"7b202e13",29295:"c6aca044",29305:"3223cc95",29369:"60f65e51",29559:"a067ac6d",29755:"d3bb98d0",29965:"e9a0ef15",30068:"bd00d4f3",30326:"5fd2ca4b",30343:"636e82b2",30414:"5a91e8db",30603:"936e820e",30648:"a03c5edd",30683:"7a5b6a82",31046:"ffe5d85d",31073:"3465e32b",31145:"fe77d560",31149:"76339d26",31386:"6b810897",31387:"c533f048",31429:"c5879d20",31437:"9f1c9cfe",31493:"8ebd9ccd",31681:"bb47ce6c",31904:"5072f88a",32218:"57b14e43",32222:"301e080f",32355:"b4ad6a28",32387:"7b2fdb8a",32641:"11b8c77a",32839:"ab0eb107",32897:"351342bb",32952:"efff1481",33137:"27580d35",33730:"d2a7cdae",33777:"b705015d",33794:"a745502a",33967:"9a64398d",34016:"6d296574",34321:"51c12c5f",34426:"d834047e",34435:"dc7cfb41",34467:"cf65afab",34583:"1df93b7f",34620:"5eed5665",34625:"e2c2a025",34639:"8517b31c",34761:"06d51d06",34872:"e8d3f6f9",35402:"c4be7b44",35466:"ea0e90af",35563:"3f655634",35742:"aba21aa0",35894:"1d18b285",36043:"d7790313",36077:"753493e0",36439:"51cf6fc8",36614:"427578a9",36640:"970de22d",36811:"aefb526e",36894:"404c31a1",36984:"7d6c9398",37041:"b260a133",37138:"3603a0ea",37341:"8f797c1e",37385:"000edf12",37587:"36d9a104",37602:"30330b8d",37627:"6e26a28f",37785:"126c431b",37879:"c0953c5f",37906:"6cfde557",38096:"7bf88be3",38130:"98b8dd79",38343:"1c396d99",38743:"3eb03649",38803:"59a1ce31",38811:"0d00f88f",39009:"facd25cf",39014:"58297ce8",39019:"9279e2ec",39046:"35b544ea",39057:"a273324b",39092:"5a71cf91",39339:"29b28278",39546:"e88f1506",39588:"470cb80a",39598:"8ee52ef7",39874:"ab208bf2",39928:"4e336666",40632:"57e60529",40650:"6d612f6b",40910:"9312cbc6",41039:"63b9acb4",41130:"69e9e61b",41321:"3e19de0e",41382:"3f189bf2",41465:"fb7e9e31",41604:"10852366",41945:"a41bcd85",41954:"7c49023e",41998:"e5e12b34",42280:"7e75397b",42292:"f0480ff1",42477:"30837423",42666:"3db66c4a",42792:"a3e64e69",42819:"27bf54aa",42970:"277b12d2",43101:"c0295fc4",43107:"f0ec41e8",43155:"2737f74b",43252:"99fc20f8",43333:"6a3047b1",43359:"ac5c11db",43527:"bda60f6c",43853:"88724c8f",43891:"c0b36077",43988:"47691619",44020:"841863c4",44099:"a698f61a",44125:"093ef478",44291:"83a76d74",44362:"7ba7cfc0",44512:"9bdb307d",44514:"cb42257b",44717:"597c813f",44849:"6dd78e99",44919:"594c1392",45131:"fa1e3c90",45140:"e602906e",45152:"23e66fc6",45182:"260793df",45189:"b19c47a1",45449:"4f92df94",45547:"9bd9506e",45560:"60d03e30",45691:"47db13d9",45744:"aa37aa09",45848:"0b237cae",46138:"206aceb6",46187:"3508ba7b",46188:"ee7f1ebf",46808:"e357afdb",46904:"835f7f11",46906:"08877af4",46977:"45bfc0b8",47006:"b5927a7f",47024:"81113f50",47102:"f67fc0f1",47182:"5a573055",47419:"4cc3c8d8",47420:"d299e6a5",47467:"c6fb0e59",47902:"4c0b429a",47964:"cae4d725",48095:"091b5047",48213:"3aa06708",48296:"1b5fdf8a",48369:"6e02bca9",48589:"ff31178b",48623:"a1982cf6",48702:"724437c1",48903:"d8e024af",49176:"54ad080c",49197:"8a5d79c1",49205:"c9f6b581",49280:"d3d9fe11",49840:"a39f65f3",49981:"1c94f36b",50105:"0e8eb251",50232:"ed4fae79",50332:"fe853a6c",50566:"f1b17b9a",50577:"718a249f",50594:"5e8c322a",50701:"dd29fc44",50753:"ac398330",50945:"42028749",51030:"539ea286",51050:"8e1e80f0",51055:"e1f1f5e5",51298:"15f9a01d",52219:"5cd6694a",52325:"c30ad28c",52543:"d076dc84",52637:"6f9fe69a",52644:"b23c3530",53038:"20a9eafe",53173:"427536e0",53253:"88adb28a",53618:"c33184be",53666:"81384957",53786:"57734c3e",53841:"38a169f8",53863:"ecaae4e2",53939:"c42a8406",53986:"b498c8c4",53989:"592f89b7",54044:"f80dd7b4",54062:"3b062bbb",54299:"8b417bc1",54369:"40d5179d",54420:"0aa7b0f6",54522:"c93ad82c",54557:"897968e6",54724:"e740adc1",54865:"88b032cb",54986:"af937e88",55341:"3af2a197",55709:"450968d8",55791:"c01f9689",55814:"f2f63246",56258:"b3b449a4",56444:"4eaab309",56479:"5cbd25da",56528:"dc8226a5",56783:"8ec0cf54",56813:"9804dfdc",56871:"cbfe050e",56985:"bbe5e087",57349:"b34b854d",57450:"6a7304f2",57765:"38ace798",57829:"685db979",57971:"281124ee",57986:"fc333af4",58213:"64866596",58246:"4c776e9d",58280:"2b85c0dc",58382:"de02cc97",58441:"dfbaa6ae",58454:"7fbe8658",58827:"180f3b55",58833:"0353b5aa",58918:"3ca92a4f",59076:"d9d2bbd8",59207:"ae6af915",59253:"c0043b6b",59484:"56816773",59576:"266d7307",59926:"cdc57661",60010:"34457c54",60047:"6e2997f6",60361:"994b54c0",60503:"0ef97a33",60586:"4e7e8c03",60597:"141df5ef",60744:"9a2ca7ca",60775:"8f002d3e",60894:"1ad74611",61014:"599b8a50",61235:"a7456010",61436:"f8ca1226",61521:"145f0f2d",61724:"19b0e798",61785:"5287bb0d",61886:"dccbc92c",61894:"e906e12e",61993:"61695351",62094:"4c31e171",62865:"f1cc8ddc",63062:"7e41cfba",63232:"89b81506",63234:"6a916855",63437:"d0c3e410",63682:"dedaee21",63771:"01d8ea8c",63787:"679dc2ab",63822:"76b1649d",63950:"9f6cf5fd",64243:"f2a2f9b0",64383:"bba702a1",64710:"f988f039",65078:"0e6005a4",65361:"9aca3dd5",65442:"43f13aa6",65533:"7c4c7e94",65561:"9561be57",65713:"e2104e2c",65725:"b6471e50",65960:"49ab270b",66061:"1f391b9e",66161:"3c309f93",66203:"c60f0ca5",66253:"0342ac2e",66310:"8cfa7b46",66826:"492daeac",66875:"ca557eb8",66934:"af847786",67086:"06ebab54",67098:"a7bd4aaa",67293:"10035306",67306:"326d3e84",67458:"853a55a9",67511:"9c30c2c3",67666:"adf3778a",67683:"9c48eed6",68162:"d0b39ee5",68269:"d82f874a",68402:"dd844236",68522:"1d142a28",68634:"9a2bb2a0",68675:"2ede8631",68775:"11c3f46d",68777:"a1650638",68985:"54e3ca7d",69262:"18c41134",69312:"71bcdb39",69328:"6b9fd7ab",69427:"2f95d118",69539:"a37cc2d1",69648:"20c96d7f",69896:"03ece191",69963:"56a94e77",70107:"4dce8c58",70278:"e2dec549",70341:"25367aee",70467:"5f72403c",70513:"02d98a17",70514:"213749d1",70719:"3e9cee20",70925:"98ab9f09",71052:"5114cac7",71153:"bd35c30f",71253:"d54172bc",71374:"ff5f0538",71436:"739628b0",71698:"3182f957",71724:"dff1c289",71886:"047c1b55",72061:"73eb5afe",72433:"e63c21e9",72457:"443836b2",72472:"eafe052e",72605:"76f005df",72684:"430ec093",73044:"c9cc33ba",73114:"c6109f2f",73211:"5a940ec9",73250:"dc5c6130",73430:"95d7193c",73569:"5dce8dd1",73943:"088da689",73963:"8bfd748a",74134:"393be207",74146:"f85cca3b",74646:"9c1010f7",74696:"b8e8735c",74936:"c4b7406e",75049:"1aa6104b",75272:"6d96b411",75807:"f755a884",75836:"87bfefef",75857:"92734467",75922:"b570adc9",75949:"e4103a51",76148:"4ac6148f",76162:"c74d5e3d",76350:"fbf479b9",76373:"5b483024",76573:"2b31bbe1",76597:"69d4b55a",76629:"1f45bfa9",76673:"254b07d4",76847:"b4632e35",76927:"4d7553bb",77091:"831d0057",77204:"707b92ce",77220:"7ded32e9",77314:"467c34f2",77321:"50efa68a",77481:"08440b71",77800:"f9377955",77815:"ea075918",77925:"f52989a7",77933:"eb7f1393",77989:"9b7a6760",78049:"2478852b",78129:"4d8e6a66",78190:"6e7377a1",78328:"c65e3ea9",78544:"c9d639a6",78625:"7d3c65f4",78809:"3e510822",79048:"a94703ab",79075:"42d6648b",79382:"8c623740",79929:"8dc88e6d",80334:"a7e44d9e",80385:"114a55b5",80407:"96060487",80636:"c5f21ea6",80684:"5b5a2815",81032:"94ad216f",81413:"5765ff9f",81590:"a0a49e6e",81837:"bcea90b8",81953:"1e4232ab",82381:"015a12ec",82428:"21ed9df6",82486:"df943bb5",82664:"9639b4bb",82706:"e7a2ccdf",82901:"400e5e05",83039:"a72a19ab",83168:"60c49928",83197:"f8abf08c",83276:"14469aa3",83673:"7e272f4c",83976:"0e384e19",84064:"48dd8fe6",84138:"6556adbb",84536:"7b505d62",84581:"f16a979a",84943:"b604b309",84968:"e9524228",85268:"16cc8cf5",85342:"f9498ed2",85460:"13d21b80",85499:"e83415f2",85590:"77be8d48",85789:"12d92307",85894:"3036cc63",85907:"dd11fd39",85964:"b6f12020",86012:"4b0140ca",86090:"a9687b02",86180:"5fab0d7b",86249:"783965ce",86409:"8690fb5d",86514:"4ac9b518",86577:"4eb66dc8",86979:"5d30da0c",87152:"3794302a",87189:"2d91c4e0",87294:"76e51487",87517:"35d95d3a",87785:"f0f562a4",87793:"5b65a4a8",88345:"cf1a380b",88518:"575e5b46",88527:"a7c88a93",88614:"b965fcf2",88630:"db98811b",88735:"13b1a3fa",88788:"4c22038c",88863:"f55d3e7a",88955:"cbfda352",89052:"687577ad",89695:"3af33abc",90031:"a4b70c0e",90033:"87eb9014",90054:"304c2294",90146:"df5a394e",90294:"abb5965e",90564:"7569ca31",90597:"9bbbaa56",90687:"976e56d2",90771:"d4813f73",90799:"7bb51cbb",90878:"39efb958",91074:"a5017b85",91344:"de5cc829",91466:"f0864452",91603:"160053eb",91945:"6073880f",91974:"5c868d36",92373:"4871d8df",92388:"96c08df1",92401:"1ffd08f7",92576:"22700033",92813:"2cf7b004",92997:"f5e67f25",93306:"f7cc92e8",93364:"50662ffb",93505:"5c244a8a",93860:"782b2d66",93953:"97aced89",94072:"68bac681",94270:"b20ce122",94298:"11dd256b",94506:"cc531d35",94878:"795bd4c9",94903:"7e8901cb",94944:"1b8ce8cc",94992:"96c285ca",95020:"ab53dc1b",95594:"18ad6322",95611:"c4703dab",95686:"191c6045",95705:"3f605b15",95734:"117b8318",95886:"962e3ba3",95941:"0cac68f9",96057:"def76093",96444:"4486aafe",96517:"d2f7be51",96524:"3c5be31c",96753:"e1b3512a",96983:"969ca81a",96985:"b93181d8",97146:"d1227148",97149:"bebddf70",97161:"349819cc",97163:"cd64df70",97455:"2487ef53",97587:"44234b90",97610:"40895397",97666:"117cc3f1",97860:"598a57b2",97942:"e12be479",98064:"a1a710c7",98234:"84ddff5f",98275:"e9b84260",98376:"5bd7a5c6",98451:"8bec7861",98766:"c3f53926",99126:"5c41f114",99458:"c45a4367",99554:"20b9b68d",99609:"5e411019",99666:"b03a6809",99904:"f7cc2be3",99908:"d3b48789",99990:"55110d5f"}[e]||e)+"."+{13:"122a00d5",34:"fca275ba",38:"3f95da3f",42:"7b9a97da",306:"16cf2f03",339:"f79250e0",511:"13ac80be",587:"b34254ac",749:"71dcdcac",784:"1c829f8b",801:"f1a3bdfb",855:"f9a70d13",1378:"52bbe800",1411:"38751a07",2105:"8725561e",2748:"769d1a66",2915:"8b05ea1b",3053:"189ff70d",3098:"7ed9614a",3575:"9fc14f09",3783:"988db2a3",4060:"6c652d3a",4169:"e92886f6",4186:"7aca2730",4317:"32e18889",4390:"3b61df3b",4562:"e810b3b4",4644:"3b71efd9",4713:"c3edc836",4748:"b7f9e814",4763:"2930fce3",4965:"029bf14d",4969:"1da306f7",5174:"61aa01c4",5277:"27a910a6",5558:"f8050026",5562:"f6d871e2",5635:"410c10f3",5814:"946e381d",5820:"f36fa593",5899:"81843208",5920:"0a6c329c",6089:"7f379904",6507:"dcf4e333",6650:"f3a8031b",6673:"fb8b3a66",6846:"6df3332a",6949:"fb689810",7251:"8a5e19ad",7336:"bf67304e",7435:"cc510bdf",7955:"30f26da1",8016:"3cb9b509",8326:"a2fdc56e",8465:"e127f147",8489:"fac35c93",8649:"07c139c4",8745:"d76f7000",9035:"dfa4d474",9067:"d35991dd",9159:"a5063e24",9235:"c6a4fc0d",9248:"4eb1aae8",9430:"d74a2795",9451:"09532881",9462:"8b68c599",9647:"0bba9670",9670:"756e59dd",9898:"6158e9fd",10045:"f999d084",10305:"d3a2bd97",10317:"3a8fd5ae",10433:"3f0d53a5",10535:"6bb9a6dc",10578:"6ce0ac86",11093:"971f0f8d",11149:"02c9cffb",11407:"8508af00",11431:"b75cb7a2",11807:"ee0a7b1f",12094:"b2c0787f",12099:"f7c89bc8",12443:"f7701803",12577:"e30312a0",12596:"eff98b02",12744:"68f29480",12903:"8e4cf4c8",13095:"d4245844",13298:"18cd7aeb",13579:"671b3c65",13615:"83a8d36a",13618:"abf72b71",13786:"1c51ca95",13829:"b78a00b7",14160:"1331a43a",14646:"1a570053",14856:"6bb1f8ae",15040:"52d79319",15448:"0c593b80",15626:"2882cab8",15908:"4998e3be",16100:"c5b498de",16182:"5a472c06",16253:"d0a88c76",16436:"5ef43035",16824:"c240e7f9",16844:"cb31df76",16966:"9f3b4640",16978:"7260306a",17063:"a0e27fa7",17284:"88b6add2",17288:"b1950617",17530:"584da056",17608:"47b10fea",17631:"6476e8ac",17710:"bddc2dcb",17840:"073cad7a",18137:"62c824ff",18185:"c020901f",18232:"089380f3",18298:"b965a015",18331:"41541f4d",18401:"bd3a775b",19018:"26b32b46",19029:"6594b79c",19202:"29de31ed",19413:"b05f135c",19669:"7688da6a",19761:"10541662",19788:"c495b842",20100:"722cb7d3",20552:"b87927a3",20647:"9fe54789",20673:"eeccce3f",20942:"1b2f49af",21051:"c9f167cf",21241:"d59be70f",21319:"82d402ee",21489:"82a59342",21895:"3f21ea10",21919:"2b652f17",22166:"b41cbd00",22248:"4403807f",22308:"d2e6637c",22482:"a83a7ce7",22663:"d879106b",22720:"5e2cc236",22747:"dc888cb6",22798:"01de62ff",22910:"808a1618",23120:"4607258d",23543:"37236400",23596:"0dafae2b",23754:"07f49549",23940:"18015fb1",23970:"d8b84d97",24155:"57571899",24652:"2bae855e",24736:"966bbd35",25030:"869d4d8b",25072:"68a58752",25134:"8ee406a8",25435:"e87f7fc9",25910:"017529ec",26043:"1d53a4cb",26126:"edb5c3a1",26833:"e8ec6494",26945:"a01ad1ec",26968:"81fe198c",27055:"efbca69f",27360:"6bb5b9dd",27375:"42acf4ca",27417:"f6e380d7",27479:"c635d40d",27521:"b6a905c0",27584:"612e6e18",27606:"e7ede1e3",27630:"3fd22946",28524:"ff915397",28590:"89c75a2e",28639:"7bb64752",28641:"3fd0c4f3",28898:"6d438b3f",29181:"861e1038",29295:"4d0f3415",29305:"f863c714",29369:"44d76668",29559:"a3c2757b",29755:"fc92233e",29965:"be988d33",30068:"d3b5f4c7",30326:"3f27e759",30343:"80d9d232",30414:"08dda6b6",30603:"fc05eb92",30648:"becf8087",30683:"ee386fad",31046:"f893defa",31073:"b8a67cb3",31145:"1b55450f",31149:"944a3f10",31386:"1de8e8ad",31387:"2311eac5",31429:"d16d4e8e",31437:"10e4c2ca",31493:"f81dc978",31681:"89cbca3e",31904:"61b1ea38",32218:"5bb16b49",32222:"4a423fa7",32355:"9dfa5bcd",32387:"d350c361",32641:"5a8e6d4b",32839:"ccd631f7",32897:"16ba5b41",32952:"f85a9b07",33137:"5422a0b7",33730:"4197d786",33777:"8a0039a9",33794:"40d7d52a",33967:"cbabe14a",34016:"55511902",34321:"aed362bd",34426:"1c5e0795",34435:"b8d3b9f0",34467:"e4de8d25",34583:"25056f35",34620:"d654a493",34625:"d8f1ff7e",34639:"0fa2469e",34761:"fdf08675",34872:"314228a1",35402:"252c693b",35466:"6bab2880",35563:"3efcf5fe",35742:"3f05066e",35894:"d50ceed9",36043:"f8ffa82d",36077:"79a4ba61",36439:"9fbc412d",36614:"af0ea545",36640:"eeb77d44",36811:"c3364162",36894:"adaff2d1",36984:"89e85469",37041:"93fb45b7",37138:"dbe1bc3a",37341:"e62d135f",37385:"9b15d393",37587:"f9edf8b1",37602:"3b1979dc",37627:"d7485072",37785:"0c759d0c",37879:"ad50afa1",37906:"454348c5",38096:"58d5752b",38130:"5db9b6b2",38343:"bec5c2a3",38743:"e8125e33",38803:"336d1eab",38811:"05712d64",39009:"39cc3b7f",39014:"eda8d570",39019:"40a9a4f5",39046:"49e1cac0",39057:"97bdbc01",39092:"34ee8c59",39339:"01258c65",39408:"31d90fff",39546:"d19696f3",39588:"d933ed4b",39598:"336d4c97",39874:"2fc83bb2",39928:"ba545b42",40632:"770fbf4a",40650:"354fc3bf",40910:"cc2c38d2",41039:"36652644",41130:"540b1517",41321:"85700b6b",41382:"1fc7b5a4",41465:"d80081ab",41604:"7eb9bb07",41945:"c31d568d",41954:"eee52780",41998:"7c47fa34",42280:"06c0a78d",42292:"d5feaee2",42477:"9c5d7f31",42666:"e3be0844",42792:"aa9d2bec",42819:"27f25ae5",42970:"e31d1efb",43101:"1bf86b35",43107:"223638e3",43155:"ff9c2073",43252:"708a5dc6",43333:"366c5497",43359:"befa9baf",43527:"584edb7d",43853:"43e17b79",43891:"336a50d2",43988:"47d001ae",44020:"55df1169",44099:"74566260",44125:"b60f1ea5",44291:"1bc6c114",44362:"4c96f73f",44512:"93a0a5cf",44514:"f71ed386",44717:"461ba04b",44849:"7c3a7fc5",44919:"b25f059a",45131:"b1eddb81",45140:"04c480ae",45152:"f5626107",45182:"77e3f007",45189:"311a52c7",45449:"3984d821",45547:"b12d5e94",45560:"fdb861d5",45691:"f7c46fa4",45744:"5ac87c17",45848:"ff536975",46138:"ae1ee321",46187:"b54064b7",46188:"009b5e28",46808:"f3c9b0b2",46904:"1da44550",46906:"11e15a2d",46977:"8689144b",47006:"7ca02139",47024:"02b84622",47102:"afe6b784",47182:"8b43a573",47419:"a3ca9026",47420:"353a7a00",47467:"769960e2",47902:"26d40518",47964:"3acb994c",48095:"30dd6241",48213:"211ed213",48296:"a0164d2c",48369:"a8c39b5a",48589:"18271b0d",48623:"c5d97aa5",48702:"399b4023",48903:"d325cba8",49176:"fea4d09e",49197:"e0fb8a2e",49205:"bac34dd5",49280:"bd6e7f0a",49840:"29e25c84",49981:"a3046928",50105:"4ff7b0ed",50232:"d3cf910b",50332:"66fc94a3",50566:"1e0c5823",50577:"9363c826",50594:"f0f5d22d",50701:"53a04456",50753:"92f473eb",50945:"705b54ba",51030:"02f4b103",51050:"5a0c9e42",51055:"458abbc5",51298:"44619ac9",52219:"51b893d0",52325:"ea3322bc",52543:"01910b20",52637:"5cf29eb5",52644:"f7b6fc91",53038:"f1d6f8aa",53173:"84f9320b",53253:"3ae5ebc2",53618:"829e572e",53666:"d726decf",53786:"9f7b0a4a",53841:"020794e0",53863:"31947663",53939:"70bae44d",53986:"b6ff1452",53989:"087ad936",54044:"d48bcf2f",54062:"e831ba2c",54299:"371867dc",54369:"0660630b",54420:"81825617",54522:"ba278d82",54557:"1a3f1d52",54724:"288d1fe8",54865:"8bb2612b",54986:"9e890ab5",55341:"7c49ed1e",55709:"ca3c51ab",55791:"94caf8ac",55814:"ff076f51",56258:"6d54bafc",56444:"9343a91d",56479:"46cf7633",56528:"4c49111d",56783:"51b26f3b",56813:"b03aaa98",56871:"cabb075b",56985:"10bc5e1e",57349:"203dfd34",57450:"741122ce",57765:"95a9193a",57829:"525a435a",57971:"fa96b6d6",57986:"10427959",58213:"807f1de1",58246:"f5099b21",58280:"1209041d",58382:"eee8e8d8",58441:"5dc2c650",58454:"db05df5f",58827:"d767d3f4",58833:"9f21a326",58918:"8dfd2959",59076:"30b13c0f",59207:"05a870f5",59253:"dfcfc5a7",59484:"846949ba",59576:"c139e764",59926:"4102027f",60010:"76c86acf",60047:"409c9311",60361:"7f3bad23",60503:"3714ee1a",60586:"da3a0fb1",60597:"647fdbf0",60744:"e750d67a",60775:"07b81bfa",60894:"bf3f40ae",61014:"c5badf91",61235:"8b8a98d9",61436:"dc733da2",61521:"1c4af96a",61724:"ec1fcf59",61785:"96bcbece",61886:"de2cfd7b",61894:"e55ba280",61993:"2e87f03f",62094:"6c0794f6",62865:"2e192438",63062:"25bbf22a",63232:"ed6e4f64",63234:"cffcd830",63437:"1714d1a9",63682:"48abb111",63771:"f06b5db1",63787:"29320ea9",63822:"90c3333e",63950:"fda647f4",64243:"03cbd395",64383:"97f6f2af",64710:"898a9af6",65078:"bce9a80e",65361:"0b51caf8",65442:"cba173ba",65533:"c2813182",65561:"9587fb32",65713:"a045027a",65725:"5fb170bf",65960:"f476bc16",66061:"251ad4c0",66161:"fa5672f4",66203:"811d9415",66253:"fac09dc4",66310:"5e3fa55d",66826:"6d9ece93",66875:"25ade41c",66934:"3cbdcf48",67086:"72530177",67098:"3a7e4142",67293:"7c5694a7",67306:"37bde278",67458:"33de24fd",67511:"5091a90d",67666:"946c9316",67683:"42461544",68162:"b4b127ab",68269:"31a0fb60",68402:"7a0f495f",68522:"a04edd60",68634:"3165ecc4",68675:"e7d9337d",68775:"f16539d8",68777:"b3416d76",68985:"5446a30c",69262:"810442a9",69312:"8e4443ac",69328:"954c04a9",69427:"276a2a53",69539:"09269d14",69648:"1049784a",69896:"9d4e68f2",69963:"12c50f04",70107:"c212461d",70278:"b16af069",70341:"82dc9cdc",70467:"85ce3247",70513:"de4ccb1d",70514:"33c6fd16",70719:"87695578",70925:"cbed641e",71052:"7864e68e",71153:"7575ba72",71253:"0d70acbe",71374:"09df3773",71436:"f21f3f1b",71698:"0c133056",71724:"5dd49ee2",71886:"07911186",72061:"55dbc9f0",72433:"5794e62a",72457:"f20572e4",72472:"d725f5d4",72605:"5e108ba4",72684:"52ff8132",73044:"c442f1a9",73114:"eedc5f42",73211:"99053e12",73250:"e7ab9216",73430:"9ead79fd",73569:"022a35f8",73943:"b19752f3",73963:"cb139d98",74134:"657b4bea",74146:"f63a4a4b",74646:"01cfa7e9",74696:"6b668198",74936:"5e355d28",75049:"4dad0421",75272:"008245e1",75807:"724b7419",75836:"367f3c84",75857:"e0bf7038",75922:"8eaeb1b1",75949:"d0373ee5",76148:"26f53db9",76162:"4991ce57",76350:"5c1e48f6",76373:"b585567f",76573:"c81c1633",76597:"fcf84f71",76629:"eabb83eb",76673:"117c00bf",76847:"b1308295",76927:"a3049859",77091:"97fb0600",77204:"aaaad3af",77220:"d573bda5",77314:"709237de",77321:"4942ea04",77481:"19d1bc70",77800:"1a0fe93f",77815:"89fca7c6",77925:"9d4f5ab6",77933:"35d5be31",77989:"ba88e4a8",78049:"10826f88",78129:"6d7358d0",78190:"6cc6d9f8",78328:"e6c6b5a7",78544:"13d66aa2",78625:"cd8ae9f8",78809:"981884a1",79048:"c8450660",79075:"0fa2f825",79382:"75cab064",79929:"d7c1e08d",80334:"a8e195c7",80385:"b9c0e823",80407:"09144228",80636:"6d39a38f",80684:"c81bf34b",81032:"c76f4d19",81413:"39d42a3a",81590:"4b48ce6f",81837:"55867a75",81953:"204de63d",82237:"87a08d63",82381:"6bd35f6a",82428:"60123d4d",82486:"4394731e",82664:"c5004ae5",82706:"b4a4b320",82901:"a9a75c71",83039:"65ae6646",83168:"f3ec6ff5",83197:"b4e27096",83276:"786e8dfa",83673:"85101d98",83976:"63fdc59b",84064:"bca156a1",84138:"558d1a7f",84536:"6cab27c3",84581:"f27b5eb8",84943:"bf4d333f",84968:"0bd72a85",85268:"918f924c",85342:"26d0c67a",85460:"a6f2b02b",85499:"4df4dcf9",85590:"5e0a4543",85789:"16c2e5be",85894:"6f445a39",85907:"c11ec05c",85964:"661a733a",86012:"b9a330f9",86090:"bf1df0c2",86180:"f2e8165a",86249:"e670b831",86409:"0c0aa434",86514:"118c5776",86577:"d9707ed3",86979:"ccad5ac7",87152:"5bca9e6c",87189:"3b35393b",87294:"f151b45d",87517:"39222b5d",87785:"c5a6f848",87793:"fbca7175",88345:"6ecceca5",88518:"f02d9bda",88527:"34e0966e",88614:"25928989",88630:"e61e71b7",88735:"6a5143a4",88788:"3cd58870",88863:"d49795bb",88955:"681816e4",89052:"f8d22459",89695:"030e4216",90031:"8c3d3384",90033:"2c98a32d",90054:"0e67d513",90146:"395c8f62",90294:"a2665fad",90564:"4341ac20",90597:"5447b95a",90687:"dcae98ea",90771:"b41a8afc",90799:"d23a254e",90878:"c06eb9cb",91074:"52685b17",91344:"4f37f7e8",91466:"b1b529af",91603:"505ad007",91945:"d68535ea",91974:"1beacdba",92373:"5f5da80e",92388:"b5dc0bba",92401:"5fee68b1",92576:"b3488941",92813:"deaaa4db",92997:"b3d943eb",93306:"291e5e76",93364:"ed15f531",93505:"9ee07887",93860:"5820e651",93953:"a4c68a1e",94072:"113a6bff",94270:"c19e6482",94298:"79511b46",94506:"b3be55d1",94878:"e24d888e",94903:"ac027a6b",94944:"e331f8e0",94992:"edee8a6b",95020:"a7bb4892",95594:"c45bb08c",95611:"bf9e9a27",95686:"43f13ff2",95705:"2ef962f2",95734:"11253355",95886:"75cb91f5",95941:"b988aa22",96057:"2b17d4c3",96444:"38793119",96517:"bbcb85c3",96524:"5c9cd89a",96753:"fab25491",96983:"0fcec120",96985:"309d840b",97146:"27675cba",97149:"b1df2d56",97161:"1acff857",97163:"df452ab5",97455:"496d68b1",97587:"81a2f615",97610:"213ff56d",97666:"4784c8bd",97860:"a4f381a7",97942:"10932bd3",98064:"2d2b942f",98234:"6133ac9a",98275:"ad342d31",98376:"12a048f0",98451:"80fddf33",98766:"f5359d3e",99126:"c83524dd",99458:"90ebed86",99554:"2d4f7769",99609:"6252a28d",99666:"165936f8",99904:"073e9c34",99908:"5cca9ec2",99990:"bd707e34"}[e]+".js",r.miniCssF=e=>{},r.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),r.o=(e,a)=>Object.prototype.hasOwnProperty.call(e,a),b={},f="website:",r.l=(e,a,c,d)=>{if(b[e])b[e].push(a);else{var t,o;if(void 0!==c)for(var n=document.getElementsByTagName("script"),i=0;i{t.onerror=t.onload=null,clearTimeout(s);var f=b[e];if(delete b[e],t.parentNode&&t.parentNode.removeChild(t),f&&f.forEach((e=>e(c))),a)return a(c)},s=setTimeout(l.bind(null,void 0,{type:"timeout",target:t}),12e4);t.onerror=l.bind(null,t.onerror),t.onload=l.bind(null,t.onload),o&&document.head.appendChild(t)}},r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.p="/geoprocessing/",r.gca=function(e){return e={10035306:"67293",10852366:"41604",17896441:"18401",22700033:"92576",30837423:"42477",40895397:"97610",42028749:"50945",47691619:"43988",49257947:"27606",56816773:"59484",61695351:"61993",64866596:"58213",81384957:"53666",92734467:"75857",96060487:"80407","583603b7":"13",d3fb262d:"34","449e4dc6":"38","9fe84de8":"42","58a05d9a":"306","9b757d58":"339","6cb9b8c5":"511",df5aa7dd:"587",b1abec39:"749",d10f84d4:"784",d466d172:"801","42ec3285":"855","715df43e":"1378","6e8a13b0":"1411",cdec8630:"2105","822bd8ab":"2748",ef57aa4c:"2915","5a77b0d8":"3053","533a09ca":"3098",c5b77b19:"3575","20c30c76":"3783","296a3842":"4060",b0fe2760:"4169","838fb0b0":"4186",c9716e5b:"4317",ad5d9006:"4390","13245b4f":"4562","065977f7":"4644","4ced9953":"4713","19bc8eef":"4748","6069dc02":"4763","678d861b":"4965",f71bca15:"4969",e442797e:"5174",a9e39b96:"5277",bcb896d7:"5558","9b2427a8":"5562","8cedeea9":"5635","76f1a969":"5814","1020312d":"5820",a09c2993:"5899","7ddc1705":"5920",de0ec296:"6089","18ca75cf":"6507","204e117e":"6650","9709e7cb":"6673","8f95f66c":"6846","3ff52dca":"6949","91b6783f":"7251","76d46aba":"7336","9f83c6f7":"7435","339f6315":"7955","64dbaf0f":"8016",b79706ee:"8326","6efe857f":"8465",a58f4723:"8489","9d05cd7d":"8649","5c25e40f":"8745","99df31ff":"9035",ec19e0a6:"9067","3bb712cb":"9159",d761df68:"9235",a5000089:"9248","60437e04":"9430","2f4d29f9":"9451",c0d9604c:"9462","5e95c892":"9647","296a08bc":"9670","81f057ea":"9898",cdea44ef:"10045","28543a21":"10305","85ddfa3e":"10317","311ab9cf":"10433",c8f327b7:"10535",e37e0948:"10578","26a8165c":"11093","19c161ed":"11149","94e3e0e3":"11407",b35a4bab:"11431",a6fab790:"11807",d6d926f4:"12094",d92ca8f5:"12099",d8107dcc:"12443",cce52400:"12577",f3e32ae2:"12596","9a50c92d":"12744",a1c3829e:"12903","922b37a4":"13095","4c98ba2d":"13298",ca83acbe:"13579",e7cfc72c:"13615","0e930aeb":"13618","35709b3d":"13786","46c06872":"13829",ca1aa266:"14160",f46cf07e:"14646","2b163177":"14856","452aa042":"15040","1cbe4596":"15448","672ed64a":"15626","96c6ab62":"15908","5bf3aef7":"16100",cd280042:"16182","8bc8919d":"16253",ef6674fe:"16436","5b725301":"16824",d39d81b4:"16844",cb6adff9:"16966",d3818960:"16978",ceb71161:"17063","3041404c":"17284",cf8d0fcc:"17288","05da8984":"17530",d6fc3522:"17608","660b2a78":"17631","4a4fa746":"17710",f3d56391:"17840",ecfed5ec:"18137","5faf1f47":"18185","057a4864":"18232","6f53a749":"18298",a6270d48:"18331","21b0cdf7":"19018",a156e6ac:"19029","8b0f1c4e":"19202","5be9832d":"19413",f64fce26:"19669","673ec543":"19761",b75d1943:"19788",e276cf42:"20100","5a69df3e":"20552",a2b365cf:"20647",d3fa14af:"20673","04b9c63d":"20942",f47f5b5c:"21051",a74d2383:"21241","34cab964":"21319","5c52f6e8":"21489",e6688bcd:"21895",f567390f:"21919",a73c2a00:"22166","6aa3a25b":"22248","28bea1e7":"22308","3267b9a3":"22482","0553e70a":"22663","2bf4ec9b":"22720","295604f4":"22747","00120f28":"22798","18b3c895":"22910","9bc477a6":"23120","549db752":"23543","42c64eb9":"23596",aafb361c:"23754","3885774a":"23940",ab71a14f:"23970","87ef4734":"24155",f5720a8f:"24652",e44a2883:"24736","79d1a076":"25030","4dd4eb46":"25072","3ff000ec":"25134","7a0e7b59":"25435","54a3c5db":"25910",f183e07b:"26043","77861e5d":"26126","37a91261":"26833",cc189fd2:"26945","51c27797":"26968","3374161e":"27055","0b8ab3bc":"27360","58ef7c00":"27375",a1b14e0f:"27417","406590f2":"27479","6884bd1a":"27521","8e52731f":"27584",bed62a7f:"27630",dba81e08:"28524","73e979b3":"28590","18f8d593":"28639","2f97ff33":"28641","11eaec78":"28898","7b202e13":"29181",c6aca044:"29295","3223cc95":"29305","60f65e51":"29369",a067ac6d:"29559",d3bb98d0:"29755",e9a0ef15:"29965",bd00d4f3:"30068","5fd2ca4b":"30326","636e82b2":"30343","5a91e8db":"30414","936e820e":"30603",a03c5edd:"30648","7a5b6a82":"30683",ffe5d85d:"31046","3465e32b":"31073",fe77d560:"31145","76339d26":"31149","6b810897":"31386",c533f048:"31387",c5879d20:"31429","9f1c9cfe":"31437","8ebd9ccd":"31493",bb47ce6c:"31681","5072f88a":"31904","57b14e43":"32218","301e080f":"32222",b4ad6a28:"32355","7b2fdb8a":"32387","11b8c77a":"32641",ab0eb107:"32839","351342bb":"32897",efff1481:"32952","27580d35":"33137",d2a7cdae:"33730",b705015d:"33777",a745502a:"33794","9a64398d":"33967","6d296574":"34016","51c12c5f":"34321",d834047e:"34426",dc7cfb41:"34435",cf65afab:"34467","1df93b7f":"34583","5eed5665":"34620",e2c2a025:"34625","8517b31c":"34639","06d51d06":"34761",e8d3f6f9:"34872",c4be7b44:"35402",ea0e90af:"35466","3f655634":"35563",aba21aa0:"35742","1d18b285":"35894",d7790313:"36043","753493e0":"36077","51cf6fc8":"36439","427578a9":"36614","970de22d":"36640",aefb526e:"36811","404c31a1":"36894","7d6c9398":"36984",b260a133:"37041","3603a0ea":"37138","8f797c1e":"37341","000edf12":"37385","36d9a104":"37587","30330b8d":"37602","6e26a28f":"37627","126c431b":"37785",c0953c5f:"37879","6cfde557":"37906","7bf88be3":"38096","98b8dd79":"38130","1c396d99":"38343","3eb03649":"38743","59a1ce31":"38803","0d00f88f":"38811",facd25cf:"39009","58297ce8":"39014","9279e2ec":"39019","35b544ea":"39046",a273324b:"39057","5a71cf91":"39092","29b28278":"39339",e88f1506:"39546","470cb80a":"39588","8ee52ef7":"39598",ab208bf2:"39874","4e336666":"39928","57e60529":"40632","6d612f6b":"40650","9312cbc6":"40910","63b9acb4":"41039","69e9e61b":"41130","3e19de0e":"41321","3f189bf2":"41382",fb7e9e31:"41465",a41bcd85:"41945","7c49023e":"41954",e5e12b34:"41998","7e75397b":"42280",f0480ff1:"42292","3db66c4a":"42666",a3e64e69:"42792","27bf54aa":"42819","277b12d2":"42970",c0295fc4:"43101",f0ec41e8:"43107","2737f74b":"43155","99fc20f8":"43252","6a3047b1":"43333",ac5c11db:"43359",bda60f6c:"43527","88724c8f":"43853",c0b36077:"43891","841863c4":"44020",a698f61a:"44099","093ef478":"44125","83a76d74":"44291","7ba7cfc0":"44362","9bdb307d":"44512",cb42257b:"44514","597c813f":"44717","6dd78e99":"44849","594c1392":"44919",fa1e3c90:"45131",e602906e:"45140","23e66fc6":"45152","260793df":"45182",b19c47a1:"45189","4f92df94":"45449","9bd9506e":"45547","60d03e30":"45560","47db13d9":"45691",aa37aa09:"45744","0b237cae":"45848","206aceb6":"46138","3508ba7b":"46187",ee7f1ebf:"46188",e357afdb:"46808","835f7f11":"46904","08877af4":"46906","45bfc0b8":"46977",b5927a7f:"47006","81113f50":"47024",f67fc0f1:"47102","5a573055":"47182","4cc3c8d8":"47419",d299e6a5:"47420",c6fb0e59:"47467","4c0b429a":"47902",cae4d725:"47964","091b5047":"48095","3aa06708":"48213","1b5fdf8a":"48296","6e02bca9":"48369",ff31178b:"48589",a1982cf6:"48623","724437c1":"48702",d8e024af:"48903","54ad080c":"49176","8a5d79c1":"49197",c9f6b581:"49205",d3d9fe11:"49280",a39f65f3:"49840","1c94f36b":"49981","0e8eb251":"50105",ed4fae79:"50232",fe853a6c:"50332",f1b17b9a:"50566","718a249f":"50577","5e8c322a":"50594",dd29fc44:"50701",ac398330:"50753","539ea286":"51030","8e1e80f0":"51050",e1f1f5e5:"51055","15f9a01d":"51298","5cd6694a":"52219",c30ad28c:"52325",d076dc84:"52543","6f9fe69a":"52637",b23c3530:"52644","20a9eafe":"53038","427536e0":"53173","88adb28a":"53253",c33184be:"53618","57734c3e":"53786","38a169f8":"53841",ecaae4e2:"53863",c42a8406:"53939",b498c8c4:"53986","592f89b7":"53989",f80dd7b4:"54044","3b062bbb":"54062","8b417bc1":"54299","40d5179d":"54369","0aa7b0f6":"54420",c93ad82c:"54522","897968e6":"54557",e740adc1:"54724","88b032cb":"54865",af937e88:"54986","3af2a197":"55341","450968d8":"55709",c01f9689:"55791",f2f63246:"55814",b3b449a4:"56258","4eaab309":"56444","5cbd25da":"56479",dc8226a5:"56528","8ec0cf54":"56783","9804dfdc":"56813",cbfe050e:"56871",bbe5e087:"56985",b34b854d:"57349","6a7304f2":"57450","38ace798":"57765","685db979":"57829","281124ee":"57971",fc333af4:"57986","4c776e9d":"58246","2b85c0dc":"58280",de02cc97:"58382",dfbaa6ae:"58441","7fbe8658":"58454","180f3b55":"58827","0353b5aa":"58833","3ca92a4f":"58918",d9d2bbd8:"59076",ae6af915:"59207",c0043b6b:"59253","266d7307":"59576",cdc57661:"59926","34457c54":"60010","6e2997f6":"60047","994b54c0":"60361","0ef97a33":"60503","4e7e8c03":"60586","141df5ef":"60597","9a2ca7ca":"60744","8f002d3e":"60775","1ad74611":"60894","599b8a50":"61014",a7456010:"61235",f8ca1226:"61436","145f0f2d":"61521","19b0e798":"61724","5287bb0d":"61785",dccbc92c:"61886",e906e12e:"61894","4c31e171":"62094",f1cc8ddc:"62865","7e41cfba":"63062","89b81506":"63232","6a916855":"63234",d0c3e410:"63437",dedaee21:"63682","01d8ea8c":"63771","679dc2ab":"63787","76b1649d":"63822","9f6cf5fd":"63950",f2a2f9b0:"64243",bba702a1:"64383",f988f039:"64710","0e6005a4":"65078","9aca3dd5":"65361","43f13aa6":"65442","7c4c7e94":"65533","9561be57":"65561",e2104e2c:"65713",b6471e50:"65725","49ab270b":"65960","1f391b9e":"66061","3c309f93":"66161",c60f0ca5:"66203","0342ac2e":"66253","8cfa7b46":"66310","492daeac":"66826",ca557eb8:"66875",af847786:"66934","06ebab54":"67086",a7bd4aaa:"67098","326d3e84":"67306","853a55a9":"67458","9c30c2c3":"67511",adf3778a:"67666","9c48eed6":"67683",d0b39ee5:"68162",d82f874a:"68269",dd844236:"68402","1d142a28":"68522","9a2bb2a0":"68634","2ede8631":"68675","11c3f46d":"68775",a1650638:"68777","54e3ca7d":"68985","18c41134":"69262","71bcdb39":"69312","6b9fd7ab":"69328","2f95d118":"69427",a37cc2d1:"69539","20c96d7f":"69648","03ece191":"69896","56a94e77":"69963","4dce8c58":"70107",e2dec549:"70278","25367aee":"70341","5f72403c":"70467","02d98a17":"70513","213749d1":"70514","3e9cee20":"70719","98ab9f09":"70925","5114cac7":"71052",bd35c30f:"71153",d54172bc:"71253",ff5f0538:"71374","739628b0":"71436","3182f957":"71698",dff1c289:"71724","047c1b55":"71886","73eb5afe":"72061",e63c21e9:"72433","443836b2":"72457",eafe052e:"72472","76f005df":"72605","430ec093":"72684",c9cc33ba:"73044",c6109f2f:"73114","5a940ec9":"73211",dc5c6130:"73250","95d7193c":"73430","5dce8dd1":"73569","088da689":"73943","8bfd748a":"73963","393be207":"74134",f85cca3b:"74146","9c1010f7":"74646",b8e8735c:"74696",c4b7406e:"74936","1aa6104b":"75049","6d96b411":"75272",f755a884:"75807","87bfefef":"75836",b570adc9:"75922",e4103a51:"75949","4ac6148f":"76148",c74d5e3d:"76162",fbf479b9:"76350","5b483024":"76373","2b31bbe1":"76573","69d4b55a":"76597","1f45bfa9":"76629","254b07d4":"76673",b4632e35:"76847","4d7553bb":"76927","831d0057":"77091","707b92ce":"77204","7ded32e9":"77220","467c34f2":"77314","50efa68a":"77321","08440b71":"77481",f9377955:"77800",ea075918:"77815",f52989a7:"77925",eb7f1393:"77933","9b7a6760":"77989","2478852b":"78049","4d8e6a66":"78129","6e7377a1":"78190",c65e3ea9:"78328",c9d639a6:"78544","7d3c65f4":"78625","3e510822":"78809",a94703ab:"79048","42d6648b":"79075","8c623740":"79382","8dc88e6d":"79929",a7e44d9e:"80334","114a55b5":"80385",c5f21ea6:"80636","5b5a2815":"80684","94ad216f":"81032","5765ff9f":"81413",a0a49e6e:"81590",bcea90b8:"81837","1e4232ab":"81953","015a12ec":"82381","21ed9df6":"82428",df943bb5:"82486","9639b4bb":"82664",e7a2ccdf:"82706","400e5e05":"82901",a72a19ab:"83039","60c49928":"83168",f8abf08c:"83197","14469aa3":"83276","7e272f4c":"83673","0e384e19":"83976","48dd8fe6":"84064","6556adbb":"84138","7b505d62":"84536",f16a979a:"84581",b604b309:"84943",e9524228:"84968","16cc8cf5":"85268",f9498ed2:"85342","13d21b80":"85460",e83415f2:"85499","77be8d48":"85590","12d92307":"85789","3036cc63":"85894",dd11fd39:"85907",b6f12020:"85964","4b0140ca":"86012",a9687b02:"86090","5fab0d7b":"86180","783965ce":"86249","8690fb5d":"86409","4ac9b518":"86514","4eb66dc8":"86577","5d30da0c":"86979","3794302a":"87152","2d91c4e0":"87189","76e51487":"87294","35d95d3a":"87517",f0f562a4:"87785","5b65a4a8":"87793",cf1a380b:"88345","575e5b46":"88518",a7c88a93:"88527",b965fcf2:"88614",db98811b:"88630","13b1a3fa":"88735","4c22038c":"88788",f55d3e7a:"88863",cbfda352:"88955","687577ad":"89052","3af33abc":"89695",a4b70c0e:"90031","87eb9014":"90033","304c2294":"90054",df5a394e:"90146",abb5965e:"90294","7569ca31":"90564","9bbbaa56":"90597","976e56d2":"90687",d4813f73:"90771","7bb51cbb":"90799","39efb958":"90878",a5017b85:"91074",de5cc829:"91344",f0864452:"91466","160053eb":"91603","6073880f":"91945","5c868d36":"91974","4871d8df":"92373","96c08df1":"92388","1ffd08f7":"92401","2cf7b004":"92813",f5e67f25:"92997",f7cc92e8:"93306","50662ffb":"93364","5c244a8a":"93505","782b2d66":"93860","97aced89":"93953","68bac681":"94072",b20ce122:"94270","11dd256b":"94298",cc531d35:"94506","795bd4c9":"94878","7e8901cb":"94903","1b8ce8cc":"94944","96c285ca":"94992",ab53dc1b:"95020","18ad6322":"95594",c4703dab:"95611","191c6045":"95686","3f605b15":"95705","117b8318":"95734","962e3ba3":"95886","0cac68f9":"95941",def76093:"96057","4486aafe":"96444",d2f7be51:"96517","3c5be31c":"96524",e1b3512a:"96753","969ca81a":"96983",b93181d8:"96985",d1227148:"97146",bebddf70:"97149","349819cc":"97161",cd64df70:"97163","2487ef53":"97455","44234b90":"97587","117cc3f1":"97666","598a57b2":"97860",e12be479:"97942",a1a710c7:"98064","84ddff5f":"98234",e9b84260:"98275","5bd7a5c6":"98376","8bec7861":"98451",c3f53926:"98766","5c41f114":"99126",c45a4367:"99458","20b9b68d":"99554","5e411019":"99609",b03a6809:"99666",f7cc2be3:"99904",d3b48789:"99908","55110d5f":"99990"}[e]||e,r.p+r.u(e)},(()=>{var e={45354:0,71869:0};r.f.j=(a,c)=>{var b=r.o(e,a)?e[a]:void 0;if(0!==b)if(b)c.push(b[2]);else if(/^(45354|71869)$/.test(a))e[a]=0;else{var f=new Promise(((c,f)=>b=e[a]=[c,f]));c.push(b[2]=f);var d=r.p+r.u(a),t=new Error;r.l(d,(c=>{if(r.o(e,a)&&(0!==(b=e[a])&&(e[a]=void 0),b)){var f=c&&("load"===c.type?"missing":c.type),d=c&&c.target&&c.target.src;t.message="Loading chunk "+a+" failed.\n("+f+": "+d+")",t.name="ChunkLoadError",t.type=f,t.request=d,b[1](t)}}),"chunk-"+a,a)}},r.O.j=a=>0===e[a];var a=(a,c)=>{var b,f,d=c[0],t=c[1],o=c[2],n=0;if(d.some((a=>0!==e[a]))){for(b in t)r.o(t,b)&&(r.m[b]=t[b]);if(o)var i=o(r)}for(a&&a(c);n{"use strict";var e,a,c,b,f,d={},t={};function r(e){var a=t[e];if(void 0!==a)return a.exports;var c=t[e]={id:e,loaded:!1,exports:{}};return d[e].call(c.exports,c,c.exports,r),c.loaded=!0,c.exports}r.m=d,r.c=t,e=[],r.O=(a,c,b,f)=>{if(!c){var d=1/0;for(i=0;i=f)&&Object.keys(r.O).every((e=>r.O[e](c[o])))?c.splice(o--,1):(t=!1,f0&&e[i-1][2]>f;i--)e[i]=e[i-1];e[i]=[c,b,f]},r.n=e=>{var a=e&&e.__esModule?()=>e.default:()=>e;return r.d(a,{a:a}),a},c=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,r.t=function(e,b){if(1&b&&(e=this(e)),8&b)return e;if("object"==typeof e&&e){if(4&b&&e.__esModule)return e;if(16&b&&"function"==typeof e.then)return e}var f=Object.create(null);r.r(f);var d={};a=a||[null,c({}),c([]),c(c)];for(var t=2&b&&e;"object"==typeof t&&!~a.indexOf(t);t=c(t))Object.getOwnPropertyNames(t).forEach((a=>d[a]=()=>e[a]));return d.default=()=>e,r.d(f,d),f},r.d=(e,a)=>{for(var c in a)r.o(a,c)&&!r.o(e,c)&&Object.defineProperty(e,c,{enumerable:!0,get:a[c]})},r.f={},r.e=e=>Promise.all(Object.keys(r.f).reduce(((a,c)=>(r.f[c](e,a),a)),[])),r.u=e=>"assets/js/"+({13:"583603b7",34:"d3fb262d",38:"449e4dc6",42:"9fe84de8",306:"58a05d9a",339:"9b757d58",511:"6cb9b8c5",587:"df5aa7dd",749:"b1abec39",784:"d10f84d4",801:"d466d172",855:"42ec3285",1378:"715df43e",1411:"6e8a13b0",2105:"cdec8630",2748:"822bd8ab",2915:"ef57aa4c",3053:"5a77b0d8",3098:"533a09ca",3575:"c5b77b19",3783:"20c30c76",4060:"296a3842",4169:"b0fe2760",4186:"838fb0b0",4317:"c9716e5b",4390:"ad5d9006",4562:"13245b4f",4644:"065977f7",4713:"4ced9953",4748:"19bc8eef",4763:"6069dc02",4965:"678d861b",4969:"f71bca15",5174:"e442797e",5277:"a9e39b96",5558:"bcb896d7",5562:"9b2427a8",5635:"8cedeea9",5814:"76f1a969",5820:"1020312d",5899:"a09c2993",5920:"7ddc1705",6089:"de0ec296",6507:"18ca75cf",6650:"204e117e",6673:"9709e7cb",6846:"8f95f66c",6949:"3ff52dca",7251:"91b6783f",7336:"76d46aba",7435:"9f83c6f7",7955:"339f6315",8016:"64dbaf0f",8326:"b79706ee",8465:"6efe857f",8489:"a58f4723",8649:"9d05cd7d",8745:"5c25e40f",9035:"99df31ff",9067:"ec19e0a6",9159:"3bb712cb",9235:"d761df68",9248:"a5000089",9430:"60437e04",9451:"2f4d29f9",9462:"c0d9604c",9647:"5e95c892",9670:"296a08bc",9898:"81f057ea",10045:"cdea44ef",10305:"28543a21",10317:"85ddfa3e",10433:"311ab9cf",10535:"c8f327b7",10578:"e37e0948",11093:"26a8165c",11149:"19c161ed",11407:"94e3e0e3",11431:"b35a4bab",11807:"a6fab790",12094:"d6d926f4",12099:"d92ca8f5",12443:"d8107dcc",12577:"cce52400",12596:"f3e32ae2",12744:"9a50c92d",12903:"a1c3829e",13095:"922b37a4",13298:"4c98ba2d",13579:"ca83acbe",13615:"e7cfc72c",13618:"0e930aeb",13786:"35709b3d",13829:"46c06872",14160:"ca1aa266",14646:"f46cf07e",14856:"2b163177",15040:"452aa042",15448:"1cbe4596",15626:"672ed64a",15908:"96c6ab62",16100:"5bf3aef7",16182:"cd280042",16253:"8bc8919d",16436:"ef6674fe",16824:"5b725301",16844:"d39d81b4",16966:"cb6adff9",16978:"d3818960",17063:"ceb71161",17284:"3041404c",17288:"cf8d0fcc",17530:"05da8984",17608:"d6fc3522",17631:"660b2a78",17710:"4a4fa746",17840:"f3d56391",18137:"ecfed5ec",18185:"5faf1f47",18232:"057a4864",18298:"6f53a749",18331:"a6270d48",18401:"17896441",19018:"21b0cdf7",19029:"a156e6ac",19202:"8b0f1c4e",19413:"5be9832d",19669:"f64fce26",19761:"673ec543",19788:"b75d1943",20100:"e276cf42",20552:"5a69df3e",20647:"a2b365cf",20673:"d3fa14af",20942:"04b9c63d",21051:"f47f5b5c",21241:"a74d2383",21319:"34cab964",21489:"5c52f6e8",21895:"e6688bcd",21919:"f567390f",22166:"a73c2a00",22248:"6aa3a25b",22308:"28bea1e7",22482:"3267b9a3",22663:"0553e70a",22720:"2bf4ec9b",22747:"295604f4",22798:"00120f28",22910:"18b3c895",23120:"9bc477a6",23543:"549db752",23596:"42c64eb9",23754:"aafb361c",23940:"3885774a",23970:"ab71a14f",24155:"87ef4734",24652:"f5720a8f",24736:"e44a2883",25030:"79d1a076",25072:"4dd4eb46",25134:"3ff000ec",25435:"7a0e7b59",25910:"54a3c5db",26043:"f183e07b",26126:"77861e5d",26833:"37a91261",26945:"cc189fd2",26968:"51c27797",27055:"3374161e",27360:"0b8ab3bc",27375:"58ef7c00",27417:"a1b14e0f",27479:"406590f2",27521:"6884bd1a",27584:"8e52731f",27606:"49257947",27630:"bed62a7f",28524:"dba81e08",28590:"73e979b3",28639:"18f8d593",28641:"2f97ff33",28898:"11eaec78",29181:"7b202e13",29295:"c6aca044",29305:"3223cc95",29369:"60f65e51",29559:"a067ac6d",29755:"d3bb98d0",29965:"e9a0ef15",30068:"bd00d4f3",30326:"5fd2ca4b",30343:"636e82b2",30414:"5a91e8db",30603:"936e820e",30648:"a03c5edd",30683:"7a5b6a82",31046:"ffe5d85d",31073:"3465e32b",31145:"fe77d560",31149:"76339d26",31386:"6b810897",31387:"c533f048",31429:"c5879d20",31437:"9f1c9cfe",31493:"8ebd9ccd",31681:"bb47ce6c",31904:"5072f88a",32218:"57b14e43",32222:"301e080f",32355:"b4ad6a28",32387:"7b2fdb8a",32641:"11b8c77a",32839:"ab0eb107",32897:"351342bb",32952:"efff1481",33137:"27580d35",33730:"d2a7cdae",33777:"b705015d",33794:"a745502a",33967:"9a64398d",34016:"6d296574",34321:"51c12c5f",34426:"d834047e",34435:"dc7cfb41",34467:"cf65afab",34583:"1df93b7f",34620:"5eed5665",34625:"e2c2a025",34639:"8517b31c",34761:"06d51d06",34872:"e8d3f6f9",35402:"c4be7b44",35466:"ea0e90af",35563:"3f655634",35742:"aba21aa0",35894:"1d18b285",36043:"d7790313",36077:"753493e0",36439:"51cf6fc8",36614:"427578a9",36640:"970de22d",36811:"aefb526e",36894:"404c31a1",36984:"7d6c9398",37041:"b260a133",37138:"3603a0ea",37341:"8f797c1e",37385:"000edf12",37587:"36d9a104",37602:"30330b8d",37627:"6e26a28f",37785:"126c431b",37879:"c0953c5f",37906:"6cfde557",38096:"7bf88be3",38130:"98b8dd79",38343:"1c396d99",38743:"3eb03649",38803:"59a1ce31",38811:"0d00f88f",39009:"facd25cf",39014:"58297ce8",39019:"9279e2ec",39046:"35b544ea",39057:"a273324b",39092:"5a71cf91",39339:"29b28278",39546:"e88f1506",39588:"470cb80a",39598:"8ee52ef7",39874:"ab208bf2",39928:"4e336666",40632:"57e60529",40650:"6d612f6b",40910:"9312cbc6",41039:"63b9acb4",41130:"69e9e61b",41321:"3e19de0e",41382:"3f189bf2",41465:"fb7e9e31",41604:"10852366",41945:"a41bcd85",41954:"7c49023e",41998:"e5e12b34",42280:"7e75397b",42292:"f0480ff1",42477:"30837423",42666:"3db66c4a",42792:"a3e64e69",42819:"27bf54aa",42970:"277b12d2",43101:"c0295fc4",43107:"f0ec41e8",43155:"2737f74b",43252:"99fc20f8",43333:"6a3047b1",43359:"ac5c11db",43527:"bda60f6c",43853:"88724c8f",43891:"c0b36077",43988:"47691619",44020:"841863c4",44099:"a698f61a",44125:"093ef478",44291:"83a76d74",44362:"7ba7cfc0",44512:"9bdb307d",44514:"cb42257b",44717:"597c813f",44849:"6dd78e99",44919:"594c1392",45131:"fa1e3c90",45140:"e602906e",45152:"23e66fc6",45182:"260793df",45189:"b19c47a1",45449:"4f92df94",45547:"9bd9506e",45560:"60d03e30",45691:"47db13d9",45744:"aa37aa09",45848:"0b237cae",46138:"206aceb6",46187:"3508ba7b",46188:"ee7f1ebf",46808:"e357afdb",46904:"835f7f11",46906:"08877af4",46977:"45bfc0b8",47006:"b5927a7f",47024:"81113f50",47102:"f67fc0f1",47182:"5a573055",47419:"4cc3c8d8",47420:"d299e6a5",47467:"c6fb0e59",47902:"4c0b429a",47964:"cae4d725",48095:"091b5047",48213:"3aa06708",48296:"1b5fdf8a",48369:"6e02bca9",48589:"ff31178b",48623:"a1982cf6",48702:"724437c1",48903:"d8e024af",49176:"54ad080c",49197:"8a5d79c1",49205:"c9f6b581",49280:"d3d9fe11",49840:"a39f65f3",49981:"1c94f36b",50105:"0e8eb251",50232:"ed4fae79",50332:"fe853a6c",50566:"f1b17b9a",50577:"718a249f",50594:"5e8c322a",50701:"dd29fc44",50753:"ac398330",50945:"42028749",51030:"539ea286",51050:"8e1e80f0",51055:"e1f1f5e5",51298:"15f9a01d",52219:"5cd6694a",52325:"c30ad28c",52543:"d076dc84",52637:"6f9fe69a",52644:"b23c3530",53038:"20a9eafe",53173:"427536e0",53253:"88adb28a",53618:"c33184be",53666:"81384957",53786:"57734c3e",53841:"38a169f8",53863:"ecaae4e2",53939:"c42a8406",53986:"b498c8c4",53989:"592f89b7",54044:"f80dd7b4",54062:"3b062bbb",54299:"8b417bc1",54369:"40d5179d",54420:"0aa7b0f6",54522:"c93ad82c",54557:"897968e6",54724:"e740adc1",54865:"88b032cb",54986:"af937e88",55341:"3af2a197",55709:"450968d8",55791:"c01f9689",55814:"f2f63246",56258:"b3b449a4",56444:"4eaab309",56479:"5cbd25da",56528:"dc8226a5",56783:"8ec0cf54",56813:"9804dfdc",56871:"cbfe050e",56985:"bbe5e087",57349:"b34b854d",57450:"6a7304f2",57765:"38ace798",57829:"685db979",57971:"281124ee",57986:"fc333af4",58213:"64866596",58246:"4c776e9d",58280:"2b85c0dc",58382:"de02cc97",58441:"dfbaa6ae",58454:"7fbe8658",58827:"180f3b55",58833:"0353b5aa",58918:"3ca92a4f",59076:"d9d2bbd8",59207:"ae6af915",59253:"c0043b6b",59484:"56816773",59576:"266d7307",59926:"cdc57661",60010:"34457c54",60047:"6e2997f6",60361:"994b54c0",60503:"0ef97a33",60586:"4e7e8c03",60597:"141df5ef",60744:"9a2ca7ca",60775:"8f002d3e",60894:"1ad74611",61014:"599b8a50",61235:"a7456010",61436:"f8ca1226",61521:"145f0f2d",61724:"19b0e798",61785:"5287bb0d",61886:"dccbc92c",61894:"e906e12e",61993:"61695351",62094:"4c31e171",62865:"f1cc8ddc",63062:"7e41cfba",63232:"89b81506",63234:"6a916855",63437:"d0c3e410",63682:"dedaee21",63771:"01d8ea8c",63787:"679dc2ab",63822:"76b1649d",63950:"9f6cf5fd",64243:"f2a2f9b0",64383:"bba702a1",64710:"f988f039",65078:"0e6005a4",65361:"9aca3dd5",65442:"43f13aa6",65533:"7c4c7e94",65561:"9561be57",65713:"e2104e2c",65725:"b6471e50",65960:"49ab270b",66061:"1f391b9e",66161:"3c309f93",66203:"c60f0ca5",66253:"0342ac2e",66310:"8cfa7b46",66826:"492daeac",66875:"ca557eb8",66934:"af847786",67086:"06ebab54",67098:"a7bd4aaa",67293:"10035306",67306:"326d3e84",67458:"853a55a9",67511:"9c30c2c3",67666:"adf3778a",67683:"9c48eed6",68162:"d0b39ee5",68269:"d82f874a",68402:"dd844236",68522:"1d142a28",68634:"9a2bb2a0",68675:"2ede8631",68775:"11c3f46d",68777:"a1650638",68985:"54e3ca7d",69262:"18c41134",69312:"71bcdb39",69328:"6b9fd7ab",69427:"2f95d118",69539:"a37cc2d1",69648:"20c96d7f",69896:"03ece191",69963:"56a94e77",70107:"4dce8c58",70278:"e2dec549",70341:"25367aee",70467:"5f72403c",70513:"02d98a17",70514:"213749d1",70719:"3e9cee20",70925:"98ab9f09",71052:"5114cac7",71153:"bd35c30f",71253:"d54172bc",71374:"ff5f0538",71436:"739628b0",71698:"3182f957",71724:"dff1c289",71886:"047c1b55",72061:"73eb5afe",72433:"e63c21e9",72457:"443836b2",72472:"eafe052e",72605:"76f005df",72684:"430ec093",73044:"c9cc33ba",73114:"c6109f2f",73211:"5a940ec9",73250:"dc5c6130",73430:"95d7193c",73569:"5dce8dd1",73943:"088da689",73963:"8bfd748a",74134:"393be207",74146:"f85cca3b",74646:"9c1010f7",74696:"b8e8735c",74936:"c4b7406e",75049:"1aa6104b",75272:"6d96b411",75807:"f755a884",75836:"87bfefef",75857:"92734467",75922:"b570adc9",75949:"e4103a51",76148:"4ac6148f",76162:"c74d5e3d",76350:"fbf479b9",76373:"5b483024",76573:"2b31bbe1",76597:"69d4b55a",76629:"1f45bfa9",76673:"254b07d4",76847:"b4632e35",76927:"4d7553bb",77091:"831d0057",77204:"707b92ce",77220:"7ded32e9",77314:"467c34f2",77321:"50efa68a",77481:"08440b71",77800:"f9377955",77815:"ea075918",77925:"f52989a7",77933:"eb7f1393",77989:"9b7a6760",78049:"2478852b",78129:"4d8e6a66",78190:"6e7377a1",78328:"c65e3ea9",78544:"c9d639a6",78625:"7d3c65f4",78809:"3e510822",79048:"a94703ab",79075:"42d6648b",79382:"8c623740",79929:"8dc88e6d",80334:"a7e44d9e",80385:"114a55b5",80407:"96060487",80636:"c5f21ea6",80684:"5b5a2815",81032:"94ad216f",81413:"5765ff9f",81590:"a0a49e6e",81837:"bcea90b8",81953:"1e4232ab",82381:"015a12ec",82428:"21ed9df6",82486:"df943bb5",82664:"9639b4bb",82706:"e7a2ccdf",82901:"400e5e05",83039:"a72a19ab",83168:"60c49928",83197:"f8abf08c",83276:"14469aa3",83673:"7e272f4c",83976:"0e384e19",84064:"48dd8fe6",84138:"6556adbb",84536:"7b505d62",84581:"f16a979a",84943:"b604b309",84968:"e9524228",85268:"16cc8cf5",85342:"f9498ed2",85460:"13d21b80",85499:"e83415f2",85590:"77be8d48",85789:"12d92307",85894:"3036cc63",85907:"dd11fd39",85964:"b6f12020",86012:"4b0140ca",86090:"a9687b02",86180:"5fab0d7b",86249:"783965ce",86409:"8690fb5d",86514:"4ac9b518",86577:"4eb66dc8",86979:"5d30da0c",87152:"3794302a",87189:"2d91c4e0",87294:"76e51487",87517:"35d95d3a",87785:"f0f562a4",87793:"5b65a4a8",88345:"cf1a380b",88518:"575e5b46",88527:"a7c88a93",88614:"b965fcf2",88630:"db98811b",88735:"13b1a3fa",88788:"4c22038c",88863:"f55d3e7a",88955:"cbfda352",89052:"687577ad",89695:"3af33abc",90031:"a4b70c0e",90033:"87eb9014",90054:"304c2294",90146:"df5a394e",90294:"abb5965e",90564:"7569ca31",90597:"9bbbaa56",90687:"976e56d2",90771:"d4813f73",90799:"7bb51cbb",90878:"39efb958",91074:"a5017b85",91344:"de5cc829",91466:"f0864452",91603:"160053eb",91945:"6073880f",91974:"5c868d36",92373:"4871d8df",92388:"96c08df1",92401:"1ffd08f7",92576:"22700033",92813:"2cf7b004",92997:"f5e67f25",93306:"f7cc92e8",93364:"50662ffb",93505:"5c244a8a",93860:"782b2d66",93953:"97aced89",94072:"68bac681",94270:"b20ce122",94298:"11dd256b",94506:"cc531d35",94878:"795bd4c9",94903:"7e8901cb",94944:"1b8ce8cc",94992:"96c285ca",95020:"ab53dc1b",95594:"18ad6322",95611:"c4703dab",95686:"191c6045",95705:"3f605b15",95734:"117b8318",95886:"962e3ba3",95941:"0cac68f9",96057:"def76093",96444:"4486aafe",96517:"d2f7be51",96524:"3c5be31c",96753:"e1b3512a",96983:"969ca81a",96985:"b93181d8",97146:"d1227148",97149:"bebddf70",97161:"349819cc",97163:"cd64df70",97455:"2487ef53",97587:"44234b90",97610:"40895397",97666:"117cc3f1",97860:"598a57b2",97942:"e12be479",98064:"a1a710c7",98234:"84ddff5f",98275:"e9b84260",98376:"5bd7a5c6",98451:"8bec7861",98766:"c3f53926",99126:"5c41f114",99458:"c45a4367",99554:"20b9b68d",99609:"5e411019",99666:"b03a6809",99904:"f7cc2be3",99908:"d3b48789",99990:"55110d5f"}[e]||e)+"."+{13:"122a00d5",34:"fca275ba",38:"3f95da3f",42:"7b9a97da",306:"16cf2f03",339:"f79250e0",511:"13ac80be",587:"b34254ac",749:"71dcdcac",784:"1c829f8b",801:"f1a3bdfb",855:"f9a70d13",1378:"52bbe800",1411:"38751a07",2105:"8725561e",2748:"769d1a66",2915:"8b05ea1b",3053:"189ff70d",3098:"7ed9614a",3575:"9fc14f09",3783:"988db2a3",4060:"6c652d3a",4169:"e92886f6",4186:"7aca2730",4317:"32e18889",4390:"3b61df3b",4562:"e810b3b4",4644:"3b71efd9",4713:"c3edc836",4748:"b7f9e814",4763:"2930fce3",4965:"029bf14d",4969:"1da306f7",5174:"61aa01c4",5277:"27a910a6",5558:"f8050026",5562:"f6d871e2",5635:"410c10f3",5814:"946e381d",5820:"f36fa593",5899:"81843208",5920:"0a6c329c",6089:"7f379904",6507:"dcf4e333",6650:"f3a8031b",6673:"fb8b3a66",6846:"6df3332a",6949:"fb689810",7251:"8a5e19ad",7336:"bf67304e",7435:"cc510bdf",7955:"30f26da1",8016:"3cb9b509",8326:"9f46ee55",8465:"e127f147",8489:"fac35c93",8649:"07c139c4",8745:"d76f7000",9035:"dfa4d474",9067:"d35991dd",9159:"a5063e24",9235:"c6a4fc0d",9248:"4eb1aae8",9430:"d74a2795",9451:"09532881",9462:"8b68c599",9647:"0bba9670",9670:"756e59dd",9898:"6158e9fd",10045:"f999d084",10305:"d3a2bd97",10317:"3a8fd5ae",10433:"3f0d53a5",10535:"6bb9a6dc",10578:"6ce0ac86",11093:"971f0f8d",11149:"02c9cffb",11407:"8508af00",11431:"b75cb7a2",11807:"ee0a7b1f",12094:"b2c0787f",12099:"f7c89bc8",12443:"f7701803",12577:"e30312a0",12596:"eff98b02",12744:"68f29480",12903:"8e4cf4c8",13095:"d4245844",13298:"18cd7aeb",13579:"671b3c65",13615:"83a8d36a",13618:"abf72b71",13786:"1c51ca95",13829:"b78a00b7",14160:"1331a43a",14646:"1a570053",14856:"6bb1f8ae",15040:"52d79319",15448:"0c593b80",15626:"2882cab8",15908:"4998e3be",16100:"c5b498de",16182:"5a472c06",16253:"d0a88c76",16436:"5ef43035",16824:"c240e7f9",16844:"cb31df76",16966:"9f3b4640",16978:"7260306a",17063:"a0e27fa7",17284:"88b6add2",17288:"b1950617",17530:"584da056",17608:"47b10fea",17631:"6476e8ac",17710:"bddc2dcb",17840:"073cad7a",18137:"62c824ff",18185:"c020901f",18232:"089380f3",18298:"b965a015",18331:"41541f4d",18401:"bd3a775b",19018:"26b32b46",19029:"6594b79c",19202:"29de31ed",19413:"b05f135c",19669:"7688da6a",19761:"10541662",19788:"c495b842",20100:"722cb7d3",20552:"b87927a3",20647:"9fe54789",20673:"eeccce3f",20942:"1b2f49af",21051:"c9f167cf",21241:"d59be70f",21319:"82d402ee",21489:"82a59342",21895:"9b588541",21919:"2b652f17",22166:"b41cbd00",22248:"4403807f",22308:"d2e6637c",22482:"a83a7ce7",22663:"d879106b",22720:"5e2cc236",22747:"dc888cb6",22798:"01de62ff",22910:"808a1618",23120:"4607258d",23543:"37236400",23596:"0dafae2b",23754:"07f49549",23940:"18015fb1",23970:"d8b84d97",24155:"57571899",24652:"2bae855e",24736:"966bbd35",25030:"869d4d8b",25072:"68a58752",25134:"8ee406a8",25435:"e87f7fc9",25910:"017529ec",26043:"1d53a4cb",26126:"edb5c3a1",26833:"e8ec6494",26945:"a01ad1ec",26968:"81fe198c",27055:"efbca69f",27360:"6bb5b9dd",27375:"42acf4ca",27417:"f6e380d7",27479:"c635d40d",27521:"b6a905c0",27584:"612e6e18",27606:"e7ede1e3",27630:"3fd22946",28524:"ff915397",28590:"89c75a2e",28639:"7bb64752",28641:"3fd0c4f3",28898:"6d438b3f",29181:"861e1038",29295:"4d0f3415",29305:"f863c714",29369:"44d76668",29559:"a3c2757b",29755:"fc92233e",29965:"be988d33",30068:"d3b5f4c7",30326:"3f27e759",30343:"80d9d232",30414:"08dda6b6",30603:"fc05eb92",30648:"becf8087",30683:"ee386fad",31046:"f893defa",31073:"b8a67cb3",31145:"1b55450f",31149:"944a3f10",31386:"1de8e8ad",31387:"2311eac5",31429:"0279ec94",31437:"10e4c2ca",31493:"f81dc978",31681:"89cbca3e",31904:"61b1ea38",32218:"5bb16b49",32222:"4a423fa7",32355:"9dfa5bcd",32387:"d350c361",32641:"5a8e6d4b",32839:"ccd631f7",32897:"9b173aec",32952:"f85a9b07",33137:"5422a0b7",33730:"4197d786",33777:"8a0039a9",33794:"40d7d52a",33967:"cbabe14a",34016:"55511902",34321:"aed362bd",34426:"1c5e0795",34435:"b8d3b9f0",34467:"e4de8d25",34583:"25056f35",34620:"d654a493",34625:"d8f1ff7e",34639:"0fa2469e",34761:"fdf08675",34872:"314228a1",35402:"252c693b",35466:"6bab2880",35563:"3efcf5fe",35742:"3f05066e",35894:"d50ceed9",36043:"f8ffa82d",36077:"79a4ba61",36439:"9fbc412d",36614:"af0ea545",36640:"eeb77d44",36811:"c3364162",36894:"adaff2d1",36984:"89e85469",37041:"93fb45b7",37138:"dbe1bc3a",37341:"e62d135f",37385:"9b15d393",37587:"f9edf8b1",37602:"3b1979dc",37627:"d7485072",37785:"0c759d0c",37879:"ad50afa1",37906:"454348c5",38096:"58d5752b",38130:"5db9b6b2",38343:"bec5c2a3",38743:"e8125e33",38803:"336d1eab",38811:"05712d64",39009:"39cc3b7f",39014:"eda8d570",39019:"40a9a4f5",39046:"49e1cac0",39057:"97bdbc01",39092:"34ee8c59",39339:"01258c65",39408:"31d90fff",39546:"d19696f3",39588:"d933ed4b",39598:"336d4c97",39874:"2fc83bb2",39928:"ba545b42",40632:"770fbf4a",40650:"354fc3bf",40910:"cc2c38d2",41039:"36652644",41130:"540b1517",41321:"85700b6b",41382:"1fc7b5a4",41465:"d80081ab",41604:"7eb9bb07",41945:"c31d568d",41954:"eee52780",41998:"7c47fa34",42280:"06c0a78d",42292:"d5feaee2",42477:"9c5d7f31",42666:"e3be0844",42792:"aa9d2bec",42819:"27f25ae5",42970:"e31d1efb",43101:"1bf86b35",43107:"223638e3",43155:"ff9c2073",43252:"708a5dc6",43333:"366c5497",43359:"befa9baf",43527:"584edb7d",43853:"43e17b79",43891:"336a50d2",43988:"47d001ae",44020:"55df1169",44099:"74566260",44125:"b60f1ea5",44291:"1bc6c114",44362:"4c96f73f",44512:"93a0a5cf",44514:"f71ed386",44717:"461ba04b",44849:"7c3a7fc5",44919:"b25f059a",45131:"b1eddb81",45140:"04c480ae",45152:"f5626107",45182:"77e3f007",45189:"311a52c7",45449:"3984d821",45547:"b12d5e94",45560:"fdb861d5",45691:"f7c46fa4",45744:"5ac87c17",45848:"ff536975",46138:"ae1ee321",46187:"b54064b7",46188:"009b5e28",46808:"f3c9b0b2",46904:"1da44550",46906:"11e15a2d",46977:"8689144b",47006:"7ca02139",47024:"02b84622",47102:"afe6b784",47182:"8b43a573",47419:"a3ca9026",47420:"353a7a00",47467:"769960e2",47902:"26d40518",47964:"3acb994c",48095:"30dd6241",48213:"211ed213",48296:"a0164d2c",48369:"a8c39b5a",48589:"18271b0d",48623:"c5d97aa5",48702:"399b4023",48903:"d325cba8",49176:"fea4d09e",49197:"e0fb8a2e",49205:"bac34dd5",49280:"bd6e7f0a",49840:"29e25c84",49981:"a3046928",50105:"4ff7b0ed",50232:"d3cf910b",50332:"66fc94a3",50566:"1e0c5823",50577:"9363c826",50594:"f0f5d22d",50701:"53a04456",50753:"92f473eb",50945:"705b54ba",51030:"02f4b103",51050:"5a0c9e42",51055:"458abbc5",51298:"44619ac9",52219:"51b893d0",52325:"ea3322bc",52543:"01910b20",52637:"5cf29eb5",52644:"f7b6fc91",53038:"f1d6f8aa",53173:"84f9320b",53253:"3ae5ebc2",53618:"829e572e",53666:"d726decf",53786:"9f7b0a4a",53841:"020794e0",53863:"31947663",53939:"70bae44d",53986:"b6ff1452",53989:"087ad936",54044:"d48bcf2f",54062:"e831ba2c",54299:"371867dc",54369:"0660630b",54420:"81825617",54522:"ba278d82",54557:"1a3f1d52",54724:"288d1fe8",54865:"8bb2612b",54986:"9e890ab5",55341:"7c49ed1e",55709:"ca3c51ab",55791:"94caf8ac",55814:"ff076f51",56258:"6d54bafc",56444:"9343a91d",56479:"46cf7633",56528:"4c49111d",56783:"51b26f3b",56813:"b03aaa98",56871:"cabb075b",56985:"10bc5e1e",57349:"203dfd34",57450:"741122ce",57765:"95a9193a",57829:"525a435a",57971:"fa96b6d6",57986:"10427959",58213:"807f1de1",58246:"f5099b21",58280:"1209041d",58382:"eee8e8d8",58441:"5dc2c650",58454:"db05df5f",58827:"d767d3f4",58833:"9f21a326",58918:"8dfd2959",59076:"30b13c0f",59207:"05a870f5",59253:"dfcfc5a7",59484:"846949ba",59576:"c139e764",59926:"4102027f",60010:"76c86acf",60047:"409c9311",60361:"7f3bad23",60503:"3714ee1a",60586:"da3a0fb1",60597:"647fdbf0",60744:"e750d67a",60775:"07b81bfa",60894:"bf3f40ae",61014:"c5badf91",61235:"8b8a98d9",61436:"dc733da2",61521:"1c4af96a",61724:"ec1fcf59",61785:"96bcbece",61886:"de2cfd7b",61894:"e55ba280",61993:"2e87f03f",62094:"6c0794f6",62865:"2e192438",63062:"25bbf22a",63232:"ed6e4f64",63234:"cffcd830",63437:"1714d1a9",63682:"48abb111",63771:"f06b5db1",63787:"29320ea9",63822:"90c3333e",63950:"fda647f4",64243:"03cbd395",64383:"97f6f2af",64710:"898a9af6",65078:"bce9a80e",65361:"0b51caf8",65442:"cba173ba",65533:"c2813182",65561:"9587fb32",65713:"a045027a",65725:"5fb170bf",65960:"f476bc16",66061:"251ad4c0",66161:"fa5672f4",66203:"811d9415",66253:"fac09dc4",66310:"5e3fa55d",66826:"6d9ece93",66875:"25ade41c",66934:"3cbdcf48",67086:"72530177",67098:"3a7e4142",67293:"7c5694a7",67306:"37bde278",67458:"33de24fd",67511:"5091a90d",67666:"946c9316",67683:"42461544",68162:"b4b127ab",68269:"31a0fb60",68402:"7a0f495f",68522:"a04edd60",68634:"3165ecc4",68675:"e7d9337d",68775:"f16539d8",68777:"b3416d76",68985:"5446a30c",69262:"810442a9",69312:"8e4443ac",69328:"954c04a9",69427:"276a2a53",69539:"09269d14",69648:"1049784a",69896:"9d4e68f2",69963:"12c50f04",70107:"c212461d",70278:"b16af069",70341:"82dc9cdc",70467:"85ce3247",70513:"de4ccb1d",70514:"33c6fd16",70719:"87695578",70925:"cbed641e",71052:"7864e68e",71153:"7575ba72",71253:"0d70acbe",71374:"09df3773",71436:"f21f3f1b",71698:"0c133056",71724:"5dd49ee2",71886:"07911186",72061:"55dbc9f0",72433:"5794e62a",72457:"f20572e4",72472:"d725f5d4",72605:"5e108ba4",72684:"52ff8132",73044:"c442f1a9",73114:"eedc5f42",73211:"99053e12",73250:"e7ab9216",73430:"9ead79fd",73569:"022a35f8",73943:"b19752f3",73963:"cb139d98",74134:"657b4bea",74146:"f63a4a4b",74646:"01cfa7e9",74696:"6b668198",74936:"5e355d28",75049:"4dad0421",75272:"008245e1",75807:"724b7419",75836:"367f3c84",75857:"e0bf7038",75922:"8eaeb1b1",75949:"d0373ee5",76148:"26f53db9",76162:"4991ce57",76350:"5c1e48f6",76373:"b585567f",76573:"c81c1633",76597:"fcf84f71",76629:"eabb83eb",76673:"117c00bf",76847:"b1308295",76927:"a3049859",77091:"97fb0600",77204:"aaaad3af",77220:"d573bda5",77314:"709237de",77321:"4942ea04",77481:"19d1bc70",77800:"1a0fe93f",77815:"89fca7c6",77925:"9d4f5ab6",77933:"35d5be31",77989:"ba88e4a8",78049:"10826f88",78129:"6d7358d0",78190:"6cc6d9f8",78328:"e6c6b5a7",78544:"13d66aa2",78625:"cd8ae9f8",78809:"981884a1",79048:"c8450660",79075:"0fa2f825",79382:"75cab064",79929:"d7c1e08d",80334:"a8e195c7",80385:"b9c0e823",80407:"09144228",80636:"6d39a38f",80684:"c81bf34b",81032:"c76f4d19",81413:"39d42a3a",81590:"4b48ce6f",81837:"55867a75",81953:"204de63d",82237:"87a08d63",82381:"6bd35f6a",82428:"60123d4d",82486:"4394731e",82664:"c5004ae5",82706:"b4a4b320",82901:"a9a75c71",83039:"65ae6646",83168:"f3ec6ff5",83197:"b4e27096",83276:"786e8dfa",83673:"85101d98",83976:"63fdc59b",84064:"bca156a1",84138:"558d1a7f",84536:"6cab27c3",84581:"f27b5eb8",84943:"bf4d333f",84968:"0bd72a85",85268:"918f924c",85342:"26d0c67a",85460:"a6f2b02b",85499:"4df4dcf9",85590:"5e0a4543",85789:"16c2e5be",85894:"6f445a39",85907:"c11ec05c",85964:"661a733a",86012:"b9a330f9",86090:"bf1df0c2",86180:"f2e8165a",86249:"e670b831",86409:"0c0aa434",86514:"118c5776",86577:"d9707ed3",86979:"ccad5ac7",87152:"5bca9e6c",87189:"3b35393b",87294:"f151b45d",87517:"39222b5d",87785:"c5a6f848",87793:"fbca7175",88345:"6ecceca5",88518:"f02d9bda",88527:"34e0966e",88614:"25928989",88630:"e61e71b7",88735:"6a5143a4",88788:"3cd58870",88863:"d49795bb",88955:"681816e4",89052:"f8d22459",89695:"030e4216",90031:"8c3d3384",90033:"2c98a32d",90054:"0e67d513",90146:"395c8f62",90294:"a2665fad",90564:"4341ac20",90597:"5447b95a",90687:"dcae98ea",90771:"b41a8afc",90799:"d23a254e",90878:"c06eb9cb",91074:"52685b17",91344:"4f37f7e8",91466:"b1b529af",91603:"505ad007",91945:"d68535ea",91974:"1beacdba",92373:"5f5da80e",92388:"b5dc0bba",92401:"5fee68b1",92576:"b3488941",92813:"deaaa4db",92997:"b3d943eb",93306:"291e5e76",93364:"ed15f531",93505:"9ee07887",93860:"5820e651",93953:"a4c68a1e",94072:"113a6bff",94270:"c19e6482",94298:"79511b46",94506:"b3be55d1",94878:"e24d888e",94903:"ac027a6b",94944:"e331f8e0",94992:"edee8a6b",95020:"a7bb4892",95594:"c45bb08c",95611:"bf9e9a27",95686:"43f13ff2",95705:"2ef962f2",95734:"11253355",95886:"75cb91f5",95941:"b988aa22",96057:"2b17d4c3",96444:"38793119",96517:"bbcb85c3",96524:"5c9cd89a",96753:"fab25491",96983:"0fcec120",96985:"309d840b",97146:"27675cba",97149:"b1df2d56",97161:"1acff857",97163:"df452ab5",97455:"496d68b1",97587:"81a2f615",97610:"213ff56d",97666:"4784c8bd",97860:"a4f381a7",97942:"10932bd3",98064:"2d2b942f",98234:"6133ac9a",98275:"ad342d31",98376:"12a048f0",98451:"80fddf33",98766:"f5359d3e",99126:"c83524dd",99458:"90ebed86",99554:"2d4f7769",99609:"6252a28d",99666:"165936f8",99904:"073e9c34",99908:"5cca9ec2",99990:"bd707e34"}[e]+".js",r.miniCssF=e=>{},r.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),r.o=(e,a)=>Object.prototype.hasOwnProperty.call(e,a),b={},f="website:",r.l=(e,a,c,d)=>{if(b[e])b[e].push(a);else{var t,o;if(void 0!==c)for(var n=document.getElementsByTagName("script"),i=0;i{t.onerror=t.onload=null,clearTimeout(s);var f=b[e];if(delete b[e],t.parentNode&&t.parentNode.removeChild(t),f&&f.forEach((e=>e(c))),a)return a(c)},s=setTimeout(l.bind(null,void 0,{type:"timeout",target:t}),12e4);t.onerror=l.bind(null,t.onerror),t.onload=l.bind(null,t.onload),o&&document.head.appendChild(t)}},r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.p="/geoprocessing/",r.gca=function(e){return e={10035306:"67293",10852366:"41604",17896441:"18401",22700033:"92576",30837423:"42477",40895397:"97610",42028749:"50945",47691619:"43988",49257947:"27606",56816773:"59484",61695351:"61993",64866596:"58213",81384957:"53666",92734467:"75857",96060487:"80407","583603b7":"13",d3fb262d:"34","449e4dc6":"38","9fe84de8":"42","58a05d9a":"306","9b757d58":"339","6cb9b8c5":"511",df5aa7dd:"587",b1abec39:"749",d10f84d4:"784",d466d172:"801","42ec3285":"855","715df43e":"1378","6e8a13b0":"1411",cdec8630:"2105","822bd8ab":"2748",ef57aa4c:"2915","5a77b0d8":"3053","533a09ca":"3098",c5b77b19:"3575","20c30c76":"3783","296a3842":"4060",b0fe2760:"4169","838fb0b0":"4186",c9716e5b:"4317",ad5d9006:"4390","13245b4f":"4562","065977f7":"4644","4ced9953":"4713","19bc8eef":"4748","6069dc02":"4763","678d861b":"4965",f71bca15:"4969",e442797e:"5174",a9e39b96:"5277",bcb896d7:"5558","9b2427a8":"5562","8cedeea9":"5635","76f1a969":"5814","1020312d":"5820",a09c2993:"5899","7ddc1705":"5920",de0ec296:"6089","18ca75cf":"6507","204e117e":"6650","9709e7cb":"6673","8f95f66c":"6846","3ff52dca":"6949","91b6783f":"7251","76d46aba":"7336","9f83c6f7":"7435","339f6315":"7955","64dbaf0f":"8016",b79706ee:"8326","6efe857f":"8465",a58f4723:"8489","9d05cd7d":"8649","5c25e40f":"8745","99df31ff":"9035",ec19e0a6:"9067","3bb712cb":"9159",d761df68:"9235",a5000089:"9248","60437e04":"9430","2f4d29f9":"9451",c0d9604c:"9462","5e95c892":"9647","296a08bc":"9670","81f057ea":"9898",cdea44ef:"10045","28543a21":"10305","85ddfa3e":"10317","311ab9cf":"10433",c8f327b7:"10535",e37e0948:"10578","26a8165c":"11093","19c161ed":"11149","94e3e0e3":"11407",b35a4bab:"11431",a6fab790:"11807",d6d926f4:"12094",d92ca8f5:"12099",d8107dcc:"12443",cce52400:"12577",f3e32ae2:"12596","9a50c92d":"12744",a1c3829e:"12903","922b37a4":"13095","4c98ba2d":"13298",ca83acbe:"13579",e7cfc72c:"13615","0e930aeb":"13618","35709b3d":"13786","46c06872":"13829",ca1aa266:"14160",f46cf07e:"14646","2b163177":"14856","452aa042":"15040","1cbe4596":"15448","672ed64a":"15626","96c6ab62":"15908","5bf3aef7":"16100",cd280042:"16182","8bc8919d":"16253",ef6674fe:"16436","5b725301":"16824",d39d81b4:"16844",cb6adff9:"16966",d3818960:"16978",ceb71161:"17063","3041404c":"17284",cf8d0fcc:"17288","05da8984":"17530",d6fc3522:"17608","660b2a78":"17631","4a4fa746":"17710",f3d56391:"17840",ecfed5ec:"18137","5faf1f47":"18185","057a4864":"18232","6f53a749":"18298",a6270d48:"18331","21b0cdf7":"19018",a156e6ac:"19029","8b0f1c4e":"19202","5be9832d":"19413",f64fce26:"19669","673ec543":"19761",b75d1943:"19788",e276cf42:"20100","5a69df3e":"20552",a2b365cf:"20647",d3fa14af:"20673","04b9c63d":"20942",f47f5b5c:"21051",a74d2383:"21241","34cab964":"21319","5c52f6e8":"21489",e6688bcd:"21895",f567390f:"21919",a73c2a00:"22166","6aa3a25b":"22248","28bea1e7":"22308","3267b9a3":"22482","0553e70a":"22663","2bf4ec9b":"22720","295604f4":"22747","00120f28":"22798","18b3c895":"22910","9bc477a6":"23120","549db752":"23543","42c64eb9":"23596",aafb361c:"23754","3885774a":"23940",ab71a14f:"23970","87ef4734":"24155",f5720a8f:"24652",e44a2883:"24736","79d1a076":"25030","4dd4eb46":"25072","3ff000ec":"25134","7a0e7b59":"25435","54a3c5db":"25910",f183e07b:"26043","77861e5d":"26126","37a91261":"26833",cc189fd2:"26945","51c27797":"26968","3374161e":"27055","0b8ab3bc":"27360","58ef7c00":"27375",a1b14e0f:"27417","406590f2":"27479","6884bd1a":"27521","8e52731f":"27584",bed62a7f:"27630",dba81e08:"28524","73e979b3":"28590","18f8d593":"28639","2f97ff33":"28641","11eaec78":"28898","7b202e13":"29181",c6aca044:"29295","3223cc95":"29305","60f65e51":"29369",a067ac6d:"29559",d3bb98d0:"29755",e9a0ef15:"29965",bd00d4f3:"30068","5fd2ca4b":"30326","636e82b2":"30343","5a91e8db":"30414","936e820e":"30603",a03c5edd:"30648","7a5b6a82":"30683",ffe5d85d:"31046","3465e32b":"31073",fe77d560:"31145","76339d26":"31149","6b810897":"31386",c533f048:"31387",c5879d20:"31429","9f1c9cfe":"31437","8ebd9ccd":"31493",bb47ce6c:"31681","5072f88a":"31904","57b14e43":"32218","301e080f":"32222",b4ad6a28:"32355","7b2fdb8a":"32387","11b8c77a":"32641",ab0eb107:"32839","351342bb":"32897",efff1481:"32952","27580d35":"33137",d2a7cdae:"33730",b705015d:"33777",a745502a:"33794","9a64398d":"33967","6d296574":"34016","51c12c5f":"34321",d834047e:"34426",dc7cfb41:"34435",cf65afab:"34467","1df93b7f":"34583","5eed5665":"34620",e2c2a025:"34625","8517b31c":"34639","06d51d06":"34761",e8d3f6f9:"34872",c4be7b44:"35402",ea0e90af:"35466","3f655634":"35563",aba21aa0:"35742","1d18b285":"35894",d7790313:"36043","753493e0":"36077","51cf6fc8":"36439","427578a9":"36614","970de22d":"36640",aefb526e:"36811","404c31a1":"36894","7d6c9398":"36984",b260a133:"37041","3603a0ea":"37138","8f797c1e":"37341","000edf12":"37385","36d9a104":"37587","30330b8d":"37602","6e26a28f":"37627","126c431b":"37785",c0953c5f:"37879","6cfde557":"37906","7bf88be3":"38096","98b8dd79":"38130","1c396d99":"38343","3eb03649":"38743","59a1ce31":"38803","0d00f88f":"38811",facd25cf:"39009","58297ce8":"39014","9279e2ec":"39019","35b544ea":"39046",a273324b:"39057","5a71cf91":"39092","29b28278":"39339",e88f1506:"39546","470cb80a":"39588","8ee52ef7":"39598",ab208bf2:"39874","4e336666":"39928","57e60529":"40632","6d612f6b":"40650","9312cbc6":"40910","63b9acb4":"41039","69e9e61b":"41130","3e19de0e":"41321","3f189bf2":"41382",fb7e9e31:"41465",a41bcd85:"41945","7c49023e":"41954",e5e12b34:"41998","7e75397b":"42280",f0480ff1:"42292","3db66c4a":"42666",a3e64e69:"42792","27bf54aa":"42819","277b12d2":"42970",c0295fc4:"43101",f0ec41e8:"43107","2737f74b":"43155","99fc20f8":"43252","6a3047b1":"43333",ac5c11db:"43359",bda60f6c:"43527","88724c8f":"43853",c0b36077:"43891","841863c4":"44020",a698f61a:"44099","093ef478":"44125","83a76d74":"44291","7ba7cfc0":"44362","9bdb307d":"44512",cb42257b:"44514","597c813f":"44717","6dd78e99":"44849","594c1392":"44919",fa1e3c90:"45131",e602906e:"45140","23e66fc6":"45152","260793df":"45182",b19c47a1:"45189","4f92df94":"45449","9bd9506e":"45547","60d03e30":"45560","47db13d9":"45691",aa37aa09:"45744","0b237cae":"45848","206aceb6":"46138","3508ba7b":"46187",ee7f1ebf:"46188",e357afdb:"46808","835f7f11":"46904","08877af4":"46906","45bfc0b8":"46977",b5927a7f:"47006","81113f50":"47024",f67fc0f1:"47102","5a573055":"47182","4cc3c8d8":"47419",d299e6a5:"47420",c6fb0e59:"47467","4c0b429a":"47902",cae4d725:"47964","091b5047":"48095","3aa06708":"48213","1b5fdf8a":"48296","6e02bca9":"48369",ff31178b:"48589",a1982cf6:"48623","724437c1":"48702",d8e024af:"48903","54ad080c":"49176","8a5d79c1":"49197",c9f6b581:"49205",d3d9fe11:"49280",a39f65f3:"49840","1c94f36b":"49981","0e8eb251":"50105",ed4fae79:"50232",fe853a6c:"50332",f1b17b9a:"50566","718a249f":"50577","5e8c322a":"50594",dd29fc44:"50701",ac398330:"50753","539ea286":"51030","8e1e80f0":"51050",e1f1f5e5:"51055","15f9a01d":"51298","5cd6694a":"52219",c30ad28c:"52325",d076dc84:"52543","6f9fe69a":"52637",b23c3530:"52644","20a9eafe":"53038","427536e0":"53173","88adb28a":"53253",c33184be:"53618","57734c3e":"53786","38a169f8":"53841",ecaae4e2:"53863",c42a8406:"53939",b498c8c4:"53986","592f89b7":"53989",f80dd7b4:"54044","3b062bbb":"54062","8b417bc1":"54299","40d5179d":"54369","0aa7b0f6":"54420",c93ad82c:"54522","897968e6":"54557",e740adc1:"54724","88b032cb":"54865",af937e88:"54986","3af2a197":"55341","450968d8":"55709",c01f9689:"55791",f2f63246:"55814",b3b449a4:"56258","4eaab309":"56444","5cbd25da":"56479",dc8226a5:"56528","8ec0cf54":"56783","9804dfdc":"56813",cbfe050e:"56871",bbe5e087:"56985",b34b854d:"57349","6a7304f2":"57450","38ace798":"57765","685db979":"57829","281124ee":"57971",fc333af4:"57986","4c776e9d":"58246","2b85c0dc":"58280",de02cc97:"58382",dfbaa6ae:"58441","7fbe8658":"58454","180f3b55":"58827","0353b5aa":"58833","3ca92a4f":"58918",d9d2bbd8:"59076",ae6af915:"59207",c0043b6b:"59253","266d7307":"59576",cdc57661:"59926","34457c54":"60010","6e2997f6":"60047","994b54c0":"60361","0ef97a33":"60503","4e7e8c03":"60586","141df5ef":"60597","9a2ca7ca":"60744","8f002d3e":"60775","1ad74611":"60894","599b8a50":"61014",a7456010:"61235",f8ca1226:"61436","145f0f2d":"61521","19b0e798":"61724","5287bb0d":"61785",dccbc92c:"61886",e906e12e:"61894","4c31e171":"62094",f1cc8ddc:"62865","7e41cfba":"63062","89b81506":"63232","6a916855":"63234",d0c3e410:"63437",dedaee21:"63682","01d8ea8c":"63771","679dc2ab":"63787","76b1649d":"63822","9f6cf5fd":"63950",f2a2f9b0:"64243",bba702a1:"64383",f988f039:"64710","0e6005a4":"65078","9aca3dd5":"65361","43f13aa6":"65442","7c4c7e94":"65533","9561be57":"65561",e2104e2c:"65713",b6471e50:"65725","49ab270b":"65960","1f391b9e":"66061","3c309f93":"66161",c60f0ca5:"66203","0342ac2e":"66253","8cfa7b46":"66310","492daeac":"66826",ca557eb8:"66875",af847786:"66934","06ebab54":"67086",a7bd4aaa:"67098","326d3e84":"67306","853a55a9":"67458","9c30c2c3":"67511",adf3778a:"67666","9c48eed6":"67683",d0b39ee5:"68162",d82f874a:"68269",dd844236:"68402","1d142a28":"68522","9a2bb2a0":"68634","2ede8631":"68675","11c3f46d":"68775",a1650638:"68777","54e3ca7d":"68985","18c41134":"69262","71bcdb39":"69312","6b9fd7ab":"69328","2f95d118":"69427",a37cc2d1:"69539","20c96d7f":"69648","03ece191":"69896","56a94e77":"69963","4dce8c58":"70107",e2dec549:"70278","25367aee":"70341","5f72403c":"70467","02d98a17":"70513","213749d1":"70514","3e9cee20":"70719","98ab9f09":"70925","5114cac7":"71052",bd35c30f:"71153",d54172bc:"71253",ff5f0538:"71374","739628b0":"71436","3182f957":"71698",dff1c289:"71724","047c1b55":"71886","73eb5afe":"72061",e63c21e9:"72433","443836b2":"72457",eafe052e:"72472","76f005df":"72605","430ec093":"72684",c9cc33ba:"73044",c6109f2f:"73114","5a940ec9":"73211",dc5c6130:"73250","95d7193c":"73430","5dce8dd1":"73569","088da689":"73943","8bfd748a":"73963","393be207":"74134",f85cca3b:"74146","9c1010f7":"74646",b8e8735c:"74696",c4b7406e:"74936","1aa6104b":"75049","6d96b411":"75272",f755a884:"75807","87bfefef":"75836",b570adc9:"75922",e4103a51:"75949","4ac6148f":"76148",c74d5e3d:"76162",fbf479b9:"76350","5b483024":"76373","2b31bbe1":"76573","69d4b55a":"76597","1f45bfa9":"76629","254b07d4":"76673",b4632e35:"76847","4d7553bb":"76927","831d0057":"77091","707b92ce":"77204","7ded32e9":"77220","467c34f2":"77314","50efa68a":"77321","08440b71":"77481",f9377955:"77800",ea075918:"77815",f52989a7:"77925",eb7f1393:"77933","9b7a6760":"77989","2478852b":"78049","4d8e6a66":"78129","6e7377a1":"78190",c65e3ea9:"78328",c9d639a6:"78544","7d3c65f4":"78625","3e510822":"78809",a94703ab:"79048","42d6648b":"79075","8c623740":"79382","8dc88e6d":"79929",a7e44d9e:"80334","114a55b5":"80385",c5f21ea6:"80636","5b5a2815":"80684","94ad216f":"81032","5765ff9f":"81413",a0a49e6e:"81590",bcea90b8:"81837","1e4232ab":"81953","015a12ec":"82381","21ed9df6":"82428",df943bb5:"82486","9639b4bb":"82664",e7a2ccdf:"82706","400e5e05":"82901",a72a19ab:"83039","60c49928":"83168",f8abf08c:"83197","14469aa3":"83276","7e272f4c":"83673","0e384e19":"83976","48dd8fe6":"84064","6556adbb":"84138","7b505d62":"84536",f16a979a:"84581",b604b309:"84943",e9524228:"84968","16cc8cf5":"85268",f9498ed2:"85342","13d21b80":"85460",e83415f2:"85499","77be8d48":"85590","12d92307":"85789","3036cc63":"85894",dd11fd39:"85907",b6f12020:"85964","4b0140ca":"86012",a9687b02:"86090","5fab0d7b":"86180","783965ce":"86249","8690fb5d":"86409","4ac9b518":"86514","4eb66dc8":"86577","5d30da0c":"86979","3794302a":"87152","2d91c4e0":"87189","76e51487":"87294","35d95d3a":"87517",f0f562a4:"87785","5b65a4a8":"87793",cf1a380b:"88345","575e5b46":"88518",a7c88a93:"88527",b965fcf2:"88614",db98811b:"88630","13b1a3fa":"88735","4c22038c":"88788",f55d3e7a:"88863",cbfda352:"88955","687577ad":"89052","3af33abc":"89695",a4b70c0e:"90031","87eb9014":"90033","304c2294":"90054",df5a394e:"90146",abb5965e:"90294","7569ca31":"90564","9bbbaa56":"90597","976e56d2":"90687",d4813f73:"90771","7bb51cbb":"90799","39efb958":"90878",a5017b85:"91074",de5cc829:"91344",f0864452:"91466","160053eb":"91603","6073880f":"91945","5c868d36":"91974","4871d8df":"92373","96c08df1":"92388","1ffd08f7":"92401","2cf7b004":"92813",f5e67f25:"92997",f7cc92e8:"93306","50662ffb":"93364","5c244a8a":"93505","782b2d66":"93860","97aced89":"93953","68bac681":"94072",b20ce122:"94270","11dd256b":"94298",cc531d35:"94506","795bd4c9":"94878","7e8901cb":"94903","1b8ce8cc":"94944","96c285ca":"94992",ab53dc1b:"95020","18ad6322":"95594",c4703dab:"95611","191c6045":"95686","3f605b15":"95705","117b8318":"95734","962e3ba3":"95886","0cac68f9":"95941",def76093:"96057","4486aafe":"96444",d2f7be51:"96517","3c5be31c":"96524",e1b3512a:"96753","969ca81a":"96983",b93181d8:"96985",d1227148:"97146",bebddf70:"97149","349819cc":"97161",cd64df70:"97163","2487ef53":"97455","44234b90":"97587","117cc3f1":"97666","598a57b2":"97860",e12be479:"97942",a1a710c7:"98064","84ddff5f":"98234",e9b84260:"98275","5bd7a5c6":"98376","8bec7861":"98451",c3f53926:"98766","5c41f114":"99126",c45a4367:"99458","20b9b68d":"99554","5e411019":"99609",b03a6809:"99666",f7cc2be3:"99904",d3b48789:"99908","55110d5f":"99990"}[e]||e,r.p+r.u(e)},(()=>{var e={45354:0,71869:0};r.f.j=(a,c)=>{var b=r.o(e,a)?e[a]:void 0;if(0!==b)if(b)c.push(b[2]);else if(/^(45354|71869)$/.test(a))e[a]=0;else{var f=new Promise(((c,f)=>b=e[a]=[c,f]));c.push(b[2]=f);var d=r.p+r.u(a),t=new Error;r.l(d,(c=>{if(r.o(e,a)&&(0!==(b=e[a])&&(e[a]=void 0),b)){var f=c&&("load"===c.type?"missing":c.type),d=c&&c.target&&c.target.src;t.message="Loading chunk "+a+" failed.\n("+f+": "+d+")",t.name="ChunkLoadError",t.type=f,t.request=d,b[1](t)}}),"chunk-"+a,a)}},r.O.j=a=>0===e[a];var a=(a,c)=>{var b,f,d=c[0],t=c[1],o=c[2],n=0;if(d.some((a=>0!==e[a]))){for(b in t)r.o(t,b)&&(r.m[b]=t[b]);if(o)var i=o(r)}for(a&&a(c);n Migration Guide | SeaSketch Geoprocessing - + diff --git a/docs/antimeridian/index.html b/docs/antimeridian/index.html index 1e9132f7d..affcec453 100644 --- a/docs/antimeridian/index.html +++ b/docs/antimeridian/index.html @@ -4,7 +4,7 @@ Antimeridian | SeaSketch Geoprocessing - + diff --git a/docs/architecture/index.html b/docs/architecture/index.html index 570ebb29b..cc28967d0 100644 --- a/docs/architecture/index.html +++ b/docs/architecture/index.html @@ -4,7 +4,7 @@ Architecture | SeaSketch Geoprocessing - + diff --git a/docs/cli/index.html b/docs/cli/index.html index f50b5e1df..ec934cf90 100644 --- a/docs/cli/index.html +++ b/docs/cli/index.html @@ -4,7 +4,7 @@ Command Line Interface | SeaSketch Geoprocessing - + diff --git a/docs/concepts/index.html b/docs/concepts/index.html index 9fa15416a..c30de4c63 100644 --- a/docs/concepts/index.html +++ b/docs/concepts/index.html @@ -4,7 +4,7 @@ Concepts | SeaSketch Geoprocessing - + diff --git a/docs/contributing/index.html b/docs/contributing/index.html index 004ca624c..478d14b23 100644 --- a/docs/contributing/index.html +++ b/docs/contributing/index.html @@ -4,7 +4,7 @@ Contributing | SeaSketch Geoprocessing - + diff --git a/docs/extending/index.html b/docs/extending/index.html index 02c096394..c30abec4a 100644 --- a/docs/extending/index.html +++ b/docs/extending/index.html @@ -4,7 +4,7 @@ Extending | SeaSketch Geoprocessing - + diff --git a/docs/gip/GIP-1-i18n/index.html b/docs/gip/GIP-1-i18n/index.html index c482aa5cb..af89eefae 100644 --- a/docs/gip/GIP-1-i18n/index.html +++ b/docs/gip/GIP-1-i18n/index.html @@ -4,7 +4,7 @@ i18n | SeaSketch Geoprocessing - + diff --git a/docs/gip/index.html b/docs/gip/index.html index 6fb6d83df..73aba4569 100644 --- a/docs/gip/index.html +++ b/docs/gip/index.html @@ -4,7 +4,7 @@ GIP | SeaSketch Geoprocessing - + diff --git a/docs/index.html b/docs/index.html index 59a423b62..7cabe8d2a 100644 --- a/docs/index.html +++ b/docs/index.html @@ -4,7 +4,7 @@ Introduction | SeaSketch Geoprocessing - + diff --git a/docs/intro/index.html b/docs/intro/index.html index 2064f9007..fa3ea4fc5 100644 --- a/docs/intro/index.html +++ b/docs/intro/index.html @@ -4,7 +4,7 @@ Tutorial Intro | SeaSketch Geoprocessing - + diff --git a/docs/limits/index.html b/docs/limits/index.html index 212d573ff..fd2f92045 100644 --- a/docs/limits/index.html +++ b/docs/limits/index.html @@ -4,7 +4,7 @@ Edge Cases & Limits | SeaSketch Geoprocessing - + diff --git a/docs/next/EdgesAndLimits/index.html b/docs/next/EdgesAndLimits/index.html index 703a6b502..f41f8c822 100644 --- a/docs/next/EdgesAndLimits/index.html +++ b/docs/next/EdgesAndLimits/index.html @@ -4,7 +4,7 @@ Accuracy/Limitations | SeaSketch Geoprocessing - + diff --git a/docs/next/antimeridian/index.html b/docs/next/antimeridian/index.html index 7e39a5271..c2b54ee28 100644 --- a/docs/next/antimeridian/index.html +++ b/docs/next/antimeridian/index.html @@ -4,7 +4,7 @@ Antimeridian | SeaSketch Geoprocessing - + diff --git a/docs/next/api/client-core/index.html b/docs/next/api/client-core/index.html index 34b3d518e..e30ec63da 100644 --- a/docs/next/api/client-core/index.html +++ b/docs/next/api/client-core/index.html @@ -4,7 +4,7 @@ client-core | SeaSketch Geoprocessing - + diff --git a/docs/next/api/client-ui/classes/ReportError/index.html b/docs/next/api/client-ui/classes/ReportError/index.html index 0e363c57e..df014f785 100644 --- a/docs/next/api/client-ui/classes/ReportError/index.html +++ b/docs/next/api/client-ui/classes/ReportError/index.html @@ -4,7 +4,7 @@ ReportError | SeaSketch Geoprocessing - + diff --git a/docs/next/api/client-ui/functions/App/index.html b/docs/next/api/client-ui/functions/App/index.html index 8b6700658..4d192042d 100644 --- a/docs/next/api/client-ui/functions/App/index.html +++ b/docs/next/api/client-ui/functions/App/index.html @@ -4,7 +4,7 @@ App() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/client-ui/functions/Card/index.html b/docs/next/api/client-ui/functions/Card/index.html index 1b6056f50..13686e35a 100644 --- a/docs/next/api/client-ui/functions/Card/index.html +++ b/docs/next/api/client-ui/functions/Card/index.html @@ -4,7 +4,7 @@ Card() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/client-ui/functions/CardDecorator/index.html b/docs/next/api/client-ui/functions/CardDecorator/index.html index f9b44cd1d..3439e0129 100644 --- a/docs/next/api/client-ui/functions/CardDecorator/index.html +++ b/docs/next/api/client-ui/functions/CardDecorator/index.html @@ -4,7 +4,7 @@ CardDecorator() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/client-ui/functions/ChartLegend/index.html b/docs/next/api/client-ui/functions/ChartLegend/index.html index be157881a..e8a6a1ab1 100644 --- a/docs/next/api/client-ui/functions/ChartLegend/index.html +++ b/docs/next/api/client-ui/functions/ChartLegend/index.html @@ -4,7 +4,7 @@ ChartLegend() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/client-ui/functions/CheckboxGroup/index.html b/docs/next/api/client-ui/functions/CheckboxGroup/index.html index 26b6cf7ef..3d2a534b1 100644 --- a/docs/next/api/client-ui/functions/CheckboxGroup/index.html +++ b/docs/next/api/client-ui/functions/CheckboxGroup/index.html @@ -4,7 +4,7 @@ CheckboxGroup() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/client-ui/functions/Circle/index.html b/docs/next/api/client-ui/functions/Circle/index.html index 915424f38..fa6f11a38 100644 --- a/docs/next/api/client-ui/functions/Circle/index.html +++ b/docs/next/api/client-ui/functions/Circle/index.html @@ -4,7 +4,7 @@ Circle() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/client-ui/functions/ClassTable/index.html b/docs/next/api/client-ui/functions/ClassTable/index.html index c5c6cdd16..dba9dc989 100644 --- a/docs/next/api/client-ui/functions/ClassTable/index.html +++ b/docs/next/api/client-ui/functions/ClassTable/index.html @@ -4,7 +4,7 @@ ClassTable() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/client-ui/functions/ClassTableStyled/index.html b/docs/next/api/client-ui/functions/ClassTableStyled/index.html index 215b19e96..9e602926f 100644 --- a/docs/next/api/client-ui/functions/ClassTableStyled/index.html +++ b/docs/next/api/client-ui/functions/ClassTableStyled/index.html @@ -4,7 +4,7 @@ ClassTableStyled() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/client-ui/functions/Collapse/index.html b/docs/next/api/client-ui/functions/Collapse/index.html index bf7c66c87..032fa7ae5 100644 --- a/docs/next/api/client-ui/functions/Collapse/index.html +++ b/docs/next/api/client-ui/functions/Collapse/index.html @@ -4,7 +4,7 @@ Collapse() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/client-ui/functions/CollapseGroup/index.html b/docs/next/api/client-ui/functions/CollapseGroup/index.html index 5426e21e3..401c588fa 100644 --- a/docs/next/api/client-ui/functions/CollapseGroup/index.html +++ b/docs/next/api/client-ui/functions/CollapseGroup/index.html @@ -4,7 +4,7 @@ CollapseGroup() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/client-ui/functions/DataDownload/index.html b/docs/next/api/client-ui/functions/DataDownload/index.html index 2a9db5dbe..8ff12293c 100644 --- a/docs/next/api/client-ui/functions/DataDownload/index.html +++ b/docs/next/api/client-ui/functions/DataDownload/index.html @@ -4,7 +4,7 @@ DataDownload() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/client-ui/functions/DataDownloadToolbar/index.html b/docs/next/api/client-ui/functions/DataDownloadToolbar/index.html index 891308fc6..b3a892fa2 100644 --- a/docs/next/api/client-ui/functions/DataDownloadToolbar/index.html +++ b/docs/next/api/client-ui/functions/DataDownloadToolbar/index.html @@ -4,7 +4,7 @@ DataDownloadToolbar() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/client-ui/functions/Dropdown/index.html b/docs/next/api/client-ui/functions/Dropdown/index.html index 4517c6127..c6db46173 100644 --- a/docs/next/api/client-ui/functions/Dropdown/index.html +++ b/docs/next/api/client-ui/functions/Dropdown/index.html @@ -4,7 +4,7 @@ Dropdown() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/client-ui/functions/DropdownContainer/index.html b/docs/next/api/client-ui/functions/DropdownContainer/index.html index f2aeb9282..246055d43 100644 --- a/docs/next/api/client-ui/functions/DropdownContainer/index.html +++ b/docs/next/api/client-ui/functions/DropdownContainer/index.html @@ -4,7 +4,7 @@ DropdownContainer() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/client-ui/functions/DropdownItem/index.html b/docs/next/api/client-ui/functions/DropdownItem/index.html index 39b7485b1..14d5f0c5f 100644 --- a/docs/next/api/client-ui/functions/DropdownItem/index.html +++ b/docs/next/api/client-ui/functions/DropdownItem/index.html @@ -4,7 +4,7 @@ DropdownItem() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/client-ui/functions/DropdownTrigger/index.html b/docs/next/api/client-ui/functions/DropdownTrigger/index.html index 7a7d67436..1772a863a 100644 --- a/docs/next/api/client-ui/functions/DropdownTrigger/index.html +++ b/docs/next/api/client-ui/functions/DropdownTrigger/index.html @@ -4,7 +4,7 @@ DropdownTrigger() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/client-ui/functions/EstimateLabel/index.html b/docs/next/api/client-ui/functions/EstimateLabel/index.html index fc0c36df2..ed2ff47e0 100644 --- a/docs/next/api/client-ui/functions/EstimateLabel/index.html +++ b/docs/next/api/client-ui/functions/EstimateLabel/index.html @@ -4,7 +4,7 @@ EstimateLabel() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/client-ui/functions/FilterSelectTable/index.html b/docs/next/api/client-ui/functions/FilterSelectTable/index.html index 26c3cc69c..98816e37f 100644 --- a/docs/next/api/client-ui/functions/FilterSelectTable/index.html +++ b/docs/next/api/client-ui/functions/FilterSelectTable/index.html @@ -4,7 +4,7 @@ FilterSelectTable() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/client-ui/functions/FilterSelectTableStyled/index.html b/docs/next/api/client-ui/functions/FilterSelectTableStyled/index.html index 30e5cfa46..46bc50b7b 100644 --- a/docs/next/api/client-ui/functions/FilterSelectTableStyled/index.html +++ b/docs/next/api/client-ui/functions/FilterSelectTableStyled/index.html @@ -4,7 +4,7 @@ FilterSelectTableStyled() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/client-ui/functions/GeographySwitcher/index.html b/docs/next/api/client-ui/functions/GeographySwitcher/index.html index 0fb8ab24e..81a8190d6 100644 --- a/docs/next/api/client-ui/functions/GeographySwitcher/index.html +++ b/docs/next/api/client-ui/functions/GeographySwitcher/index.html @@ -4,7 +4,7 @@ GeographySwitcher() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/client-ui/functions/GreenPill/index.html b/docs/next/api/client-ui/functions/GreenPill/index.html index 32a213bec..2d6fe9fbb 100644 --- a/docs/next/api/client-ui/functions/GreenPill/index.html +++ b/docs/next/api/client-ui/functions/GreenPill/index.html @@ -4,7 +4,7 @@ GreenPill() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/client-ui/functions/GroupCircle/index.html b/docs/next/api/client-ui/functions/GroupCircle/index.html index 8163a7476..371780e8d 100644 --- a/docs/next/api/client-ui/functions/GroupCircle/index.html +++ b/docs/next/api/client-ui/functions/GroupCircle/index.html @@ -4,7 +4,7 @@ GroupCircle() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/client-ui/functions/GroupCircleRow/index.html b/docs/next/api/client-ui/functions/GroupCircleRow/index.html index 5ab8c3051..fcc31b139 100644 --- a/docs/next/api/client-ui/functions/GroupCircleRow/index.html +++ b/docs/next/api/client-ui/functions/GroupCircleRow/index.html @@ -4,7 +4,7 @@ GroupCircleRow() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/client-ui/functions/GroupPill/index.html b/docs/next/api/client-ui/functions/GroupPill/index.html index 18120568b..75d611f1f 100644 --- a/docs/next/api/client-ui/functions/GroupPill/index.html +++ b/docs/next/api/client-ui/functions/GroupPill/index.html @@ -4,7 +4,7 @@ GroupPill() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/client-ui/functions/HorizontalStackedBar/index.html b/docs/next/api/client-ui/functions/HorizontalStackedBar/index.html index 54f288336..34062d91f 100644 --- a/docs/next/api/client-ui/functions/HorizontalStackedBar/index.html +++ b/docs/next/api/client-ui/functions/HorizontalStackedBar/index.html @@ -4,7 +4,7 @@ HorizontalStackedBar() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/client-ui/functions/InfoStatus/index.html b/docs/next/api/client-ui/functions/InfoStatus/index.html index 6540857a0..89a2395a5 100644 --- a/docs/next/api/client-ui/functions/InfoStatus/index.html +++ b/docs/next/api/client-ui/functions/InfoStatus/index.html @@ -4,7 +4,7 @@ InfoStatus() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/client-ui/functions/IucnActivitiesCard/index.html b/docs/next/api/client-ui/functions/IucnActivitiesCard/index.html index 90f679972..fd8d1e5fb 100644 --- a/docs/next/api/client-ui/functions/IucnActivitiesCard/index.html +++ b/docs/next/api/client-ui/functions/IucnActivitiesCard/index.html @@ -4,7 +4,7 @@ IucnActivitiesCard() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/client-ui/functions/IucnDesignationTable/index.html b/docs/next/api/client-ui/functions/IucnDesignationTable/index.html index e22ae4f10..56f7b1e23 100644 --- a/docs/next/api/client-ui/functions/IucnDesignationTable/index.html +++ b/docs/next/api/client-ui/functions/IucnDesignationTable/index.html @@ -4,7 +4,7 @@ IucnDesignationTable() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/client-ui/functions/IucnLevelCircle/index.html b/docs/next/api/client-ui/functions/IucnLevelCircle/index.html index 61fd4896a..be1a4b1bc 100644 --- a/docs/next/api/client-ui/functions/IucnLevelCircle/index.html +++ b/docs/next/api/client-ui/functions/IucnLevelCircle/index.html @@ -4,7 +4,7 @@ IucnLevelCircle() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/client-ui/functions/IucnLevelCircleRow/index.html b/docs/next/api/client-ui/functions/IucnLevelCircleRow/index.html index 613b12a25..725692095 100644 --- a/docs/next/api/client-ui/functions/IucnLevelCircleRow/index.html +++ b/docs/next/api/client-ui/functions/IucnLevelCircleRow/index.html @@ -4,7 +4,7 @@ IucnLevelCircleRow() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/client-ui/functions/IucnLevelPill/index.html b/docs/next/api/client-ui/functions/IucnLevelPill/index.html index 0192a6c21..60d9f7912 100644 --- a/docs/next/api/client-ui/functions/IucnLevelPill/index.html +++ b/docs/next/api/client-ui/functions/IucnLevelPill/index.html @@ -4,7 +4,7 @@ IucnLevelPill() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/client-ui/functions/IucnMatrix/index.html b/docs/next/api/client-ui/functions/IucnMatrix/index.html index 156b9ac5f..c7c3df0b1 100644 --- a/docs/next/api/client-ui/functions/IucnMatrix/index.html +++ b/docs/next/api/client-ui/functions/IucnMatrix/index.html @@ -4,7 +4,7 @@ IucnMatrix() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/client-ui/functions/KeySection/index.html b/docs/next/api/client-ui/functions/KeySection/index.html index 702399ec2..e60c31153 100644 --- a/docs/next/api/client-ui/functions/KeySection/index.html +++ b/docs/next/api/client-ui/functions/KeySection/index.html @@ -4,7 +4,7 @@ KeySection() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/client-ui/functions/LanguageSwitcher/index.html b/docs/next/api/client-ui/functions/LanguageSwitcher/index.html index 75a401c7f..cd65e24f6 100644 --- a/docs/next/api/client-ui/functions/LanguageSwitcher/index.html +++ b/docs/next/api/client-ui/functions/LanguageSwitcher/index.html @@ -4,7 +4,7 @@ LanguageSwitcher() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/client-ui/functions/LayerToggle/index.html b/docs/next/api/client-ui/functions/LayerToggle/index.html index eb5f16287..dba43f644 100644 --- a/docs/next/api/client-ui/functions/LayerToggle/index.html +++ b/docs/next/api/client-ui/functions/LayerToggle/index.html @@ -4,7 +4,7 @@ LayerToggle() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/client-ui/functions/ObjectiveStatus/index.html b/docs/next/api/client-ui/functions/ObjectiveStatus/index.html index ed8c59e4e..b41bb2e93 100644 --- a/docs/next/api/client-ui/functions/ObjectiveStatus/index.html +++ b/docs/next/api/client-ui/functions/ObjectiveStatus/index.html @@ -4,7 +4,7 @@ ObjectiveStatus() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/client-ui/functions/Pill/index.html b/docs/next/api/client-ui/functions/Pill/index.html index c9ed7bc3b..071abc1ae 100644 --- a/docs/next/api/client-ui/functions/Pill/index.html +++ b/docs/next/api/client-ui/functions/Pill/index.html @@ -4,7 +4,7 @@ Pill() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/client-ui/functions/PillColumn/index.html b/docs/next/api/client-ui/functions/PillColumn/index.html index 8c7fce867..e685c1798 100644 --- a/docs/next/api/client-ui/functions/PillColumn/index.html +++ b/docs/next/api/client-ui/functions/PillColumn/index.html @@ -4,7 +4,7 @@ PillColumn() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/client-ui/functions/PointyCircle/index.html b/docs/next/api/client-ui/functions/PointyCircle/index.html index a8f60b531..ac9d97b79 100644 --- a/docs/next/api/client-ui/functions/PointyCircle/index.html +++ b/docs/next/api/client-ui/functions/PointyCircle/index.html @@ -4,7 +4,7 @@ PointyCircle() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/client-ui/functions/ProgressBar/index.html b/docs/next/api/client-ui/functions/ProgressBar/index.html index 76e2e158d..261ac4aaf 100644 --- a/docs/next/api/client-ui/functions/ProgressBar/index.html +++ b/docs/next/api/client-ui/functions/ProgressBar/index.html @@ -4,7 +4,7 @@ ProgressBar() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/client-ui/functions/ProgressBarWrapper/index.html b/docs/next/api/client-ui/functions/ProgressBarWrapper/index.html index d7c847426..f7c4d8649 100644 --- a/docs/next/api/client-ui/functions/ProgressBarWrapper/index.html +++ b/docs/next/api/client-ui/functions/ProgressBarWrapper/index.html @@ -4,7 +4,7 @@ ProgressBarWrapper() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/client-ui/functions/RbcsActivitiesCard/index.html b/docs/next/api/client-ui/functions/RbcsActivitiesCard/index.html index 7ba4db53b..35a3bc390 100644 --- a/docs/next/api/client-ui/functions/RbcsActivitiesCard/index.html +++ b/docs/next/api/client-ui/functions/RbcsActivitiesCard/index.html @@ -4,7 +4,7 @@ RbcsActivitiesCard() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/client-ui/functions/RbcsIcon/index.html b/docs/next/api/client-ui/functions/RbcsIcon/index.html index 23060facc..78831094c 100644 --- a/docs/next/api/client-ui/functions/RbcsIcon/index.html +++ b/docs/next/api/client-ui/functions/RbcsIcon/index.html @@ -4,7 +4,7 @@ RbcsIcon() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/client-ui/functions/RbcsLearnMore/index.html b/docs/next/api/client-ui/functions/RbcsLearnMore/index.html index 0625510b1..fbac818b3 100644 --- a/docs/next/api/client-ui/functions/RbcsLearnMore/index.html +++ b/docs/next/api/client-ui/functions/RbcsLearnMore/index.html @@ -4,7 +4,7 @@ RbcsLearnMore() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/client-ui/functions/RbcsMpaClassPanel/index.html b/docs/next/api/client-ui/functions/RbcsMpaClassPanel/index.html index 661d4491d..60de144ac 100644 --- a/docs/next/api/client-ui/functions/RbcsMpaClassPanel/index.html +++ b/docs/next/api/client-ui/functions/RbcsMpaClassPanel/index.html @@ -4,7 +4,7 @@ RbcsMpaClassPanel() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/client-ui/functions/RbcsMpaObjectiveStatus/index.html b/docs/next/api/client-ui/functions/RbcsMpaObjectiveStatus/index.html index c30acc044..920865cab 100644 --- a/docs/next/api/client-ui/functions/RbcsMpaObjectiveStatus/index.html +++ b/docs/next/api/client-ui/functions/RbcsMpaObjectiveStatus/index.html @@ -4,7 +4,7 @@ RbcsMpaObjectiveStatus() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/client-ui/functions/RbcsNetworkObjectiveStatus/index.html b/docs/next/api/client-ui/functions/RbcsNetworkObjectiveStatus/index.html index b8d673924..0f070fb5e 100644 --- a/docs/next/api/client-ui/functions/RbcsNetworkObjectiveStatus/index.html +++ b/docs/next/api/client-ui/functions/RbcsNetworkObjectiveStatus/index.html @@ -4,7 +4,7 @@ RbcsNetworkObjectiveStatus() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/client-ui/functions/RbcsZoneClassPanel/index.html b/docs/next/api/client-ui/functions/RbcsZoneClassPanel/index.html index 59bef2729..93193c2bd 100644 --- a/docs/next/api/client-ui/functions/RbcsZoneClassPanel/index.html +++ b/docs/next/api/client-ui/functions/RbcsZoneClassPanel/index.html @@ -4,7 +4,7 @@ RbcsZoneClassPanel() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/client-ui/functions/RbcsZoneRegIcon/index.html b/docs/next/api/client-ui/functions/RbcsZoneRegIcon/index.html index 1522d2e2c..f2662d86c 100644 --- a/docs/next/api/client-ui/functions/RbcsZoneRegIcon/index.html +++ b/docs/next/api/client-ui/functions/RbcsZoneRegIcon/index.html @@ -4,7 +4,7 @@ RbcsZoneRegIcon() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/client-ui/functions/ReportChartFigure/index.html b/docs/next/api/client-ui/functions/ReportChartFigure/index.html index 37218307a..8e642f776 100644 --- a/docs/next/api/client-ui/functions/ReportChartFigure/index.html +++ b/docs/next/api/client-ui/functions/ReportChartFigure/index.html @@ -4,7 +4,7 @@ ReportChartFigure() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/client-ui/functions/ReportDecorator/index.html b/docs/next/api/client-ui/functions/ReportDecorator/index.html index 7863909c3..89f545121 100644 --- a/docs/next/api/client-ui/functions/ReportDecorator/index.html +++ b/docs/next/api/client-ui/functions/ReportDecorator/index.html @@ -4,7 +4,7 @@ ReportDecorator() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/client-ui/functions/ReportPage/index.html b/docs/next/api/client-ui/functions/ReportPage/index.html index 93d97a531..6d6209ada 100644 --- a/docs/next/api/client-ui/functions/ReportPage/index.html +++ b/docs/next/api/client-ui/functions/ReportPage/index.html @@ -4,7 +4,7 @@ ReportPage() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/client-ui/functions/ReportStoryLayout/index.html b/docs/next/api/client-ui/functions/ReportStoryLayout/index.html index c94bf961d..d533f7ec2 100644 --- a/docs/next/api/client-ui/functions/ReportStoryLayout/index.html +++ b/docs/next/api/client-ui/functions/ReportStoryLayout/index.html @@ -4,7 +4,7 @@ ReportStoryLayout() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/client-ui/functions/ReportTableStyled/index.html b/docs/next/api/client-ui/functions/ReportTableStyled/index.html index 1e10c7485..40191a880 100644 --- a/docs/next/api/client-ui/functions/ReportTableStyled/index.html +++ b/docs/next/api/client-ui/functions/ReportTableStyled/index.html @@ -4,7 +4,7 @@ ReportTableStyled() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/client-ui/functions/ReportTextDirection/index.html b/docs/next/api/client-ui/functions/ReportTextDirection/index.html index 4e01c1158..fdd02a2df 100644 --- a/docs/next/api/client-ui/functions/ReportTextDirection/index.html +++ b/docs/next/api/client-ui/functions/ReportTextDirection/index.html @@ -4,7 +4,7 @@ ReportTextDirection() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/client-ui/functions/ResultsCard/index.html b/docs/next/api/client-ui/functions/ResultsCard/index.html index dc9eab227..eaf9d96bc 100644 --- a/docs/next/api/client-ui/functions/ResultsCard/index.html +++ b/docs/next/api/client-ui/functions/ResultsCard/index.html @@ -4,7 +4,7 @@ ResultsCard() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/client-ui/functions/SegmentControl/index.html b/docs/next/api/client-ui/functions/SegmentControl/index.html index ac687e6c1..715a1b015 100644 --- a/docs/next/api/client-ui/functions/SegmentControl/index.html +++ b/docs/next/api/client-ui/functions/SegmentControl/index.html @@ -4,7 +4,7 @@ SegmentControl() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/client-ui/functions/SimpleButton/index.html b/docs/next/api/client-ui/functions/SimpleButton/index.html index d758bb13e..942f9f6b2 100644 --- a/docs/next/api/client-ui/functions/SimpleButton/index.html +++ b/docs/next/api/client-ui/functions/SimpleButton/index.html @@ -4,7 +4,7 @@ SimpleButton() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/client-ui/functions/SimpleButtonStyled/index.html b/docs/next/api/client-ui/functions/SimpleButtonStyled/index.html index 0a936d911..afa8dae92 100644 --- a/docs/next/api/client-ui/functions/SimpleButtonStyled/index.html +++ b/docs/next/api/client-ui/functions/SimpleButtonStyled/index.html @@ -4,7 +4,7 @@ SimpleButtonStyled() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/client-ui/functions/Skeleton/index.html b/docs/next/api/client-ui/functions/Skeleton/index.html index f60d6f343..32d356e43 100644 --- a/docs/next/api/client-ui/functions/Skeleton/index.html +++ b/docs/next/api/client-ui/functions/Skeleton/index.html @@ -4,7 +4,7 @@ Skeleton() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/client-ui/functions/SketchAttributesCard/index.html b/docs/next/api/client-ui/functions/SketchAttributesCard/index.html index 248b1acaf..8f582502a 100644 --- a/docs/next/api/client-ui/functions/SketchAttributesCard/index.html +++ b/docs/next/api/client-ui/functions/SketchAttributesCard/index.html @@ -4,7 +4,7 @@ SketchAttributesCard() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/client-ui/functions/SketchClassTable/index.html b/docs/next/api/client-ui/functions/SketchClassTable/index.html index 940dc8a3f..fdd70ba12 100644 --- a/docs/next/api/client-ui/functions/SketchClassTable/index.html +++ b/docs/next/api/client-ui/functions/SketchClassTable/index.html @@ -4,7 +4,7 @@ SketchClassTable() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/client-ui/functions/SketchClassTableStyled/index.html b/docs/next/api/client-ui/functions/SketchClassTableStyled/index.html index 1adf66d9b..219e8a422 100644 --- a/docs/next/api/client-ui/functions/SketchClassTableStyled/index.html +++ b/docs/next/api/client-ui/functions/SketchClassTableStyled/index.html @@ -4,7 +4,7 @@ SketchClassTableStyled() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/client-ui/functions/SmallReportTableStyled/index.html b/docs/next/api/client-ui/functions/SmallReportTableStyled/index.html index 5daa8bddc..750a87074 100644 --- a/docs/next/api/client-ui/functions/SmallReportTableStyled/index.html +++ b/docs/next/api/client-ui/functions/SmallReportTableStyled/index.html @@ -4,7 +4,7 @@ SmallReportTableStyled() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/client-ui/functions/StyledCircle/index.html b/docs/next/api/client-ui/functions/StyledCircle/index.html index e7f3e1fb3..0b5909f0b 100644 --- a/docs/next/api/client-ui/functions/StyledCircle/index.html +++ b/docs/next/api/client-ui/functions/StyledCircle/index.html @@ -4,7 +4,7 @@ StyledCircle() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/client-ui/functions/StyledPill/index.html b/docs/next/api/client-ui/functions/StyledPill/index.html index d4d7cd245..dac1261e3 100644 --- a/docs/next/api/client-ui/functions/StyledPill/index.html +++ b/docs/next/api/client-ui/functions/StyledPill/index.html @@ -4,7 +4,7 @@ StyledPill() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/client-ui/functions/StyledTwoColorPointyCircle/index.html b/docs/next/api/client-ui/functions/StyledTwoColorPointyCircle/index.html index 75b7a4b3b..70a04d1b6 100644 --- a/docs/next/api/client-ui/functions/StyledTwoColorPointyCircle/index.html +++ b/docs/next/api/client-ui/functions/StyledTwoColorPointyCircle/index.html @@ -4,7 +4,7 @@ StyledTwoColorPointyCircle() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/client-ui/functions/Table/index.html b/docs/next/api/client-ui/functions/Table/index.html index 086ee52d4..ce060654c 100644 --- a/docs/next/api/client-ui/functions/Table/index.html +++ b/docs/next/api/client-ui/functions/Table/index.html @@ -4,7 +4,7 @@ Table() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/client-ui/functions/TableStyled/index.html b/docs/next/api/client-ui/functions/TableStyled/index.html index 88088483c..500628258 100644 --- a/docs/next/api/client-ui/functions/TableStyled/index.html +++ b/docs/next/api/client-ui/functions/TableStyled/index.html @@ -4,7 +4,7 @@ TableStyled() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/client-ui/functions/Toolbar/index.html b/docs/next/api/client-ui/functions/Toolbar/index.html index b74dd833c..efd361243 100644 --- a/docs/next/api/client-ui/functions/Toolbar/index.html +++ b/docs/next/api/client-ui/functions/Toolbar/index.html @@ -4,7 +4,7 @@ Toolbar() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/client-ui/functions/ToolbarCard/index.html b/docs/next/api/client-ui/functions/ToolbarCard/index.html index 8c1556bac..8346263f1 100644 --- a/docs/next/api/client-ui/functions/ToolbarCard/index.html +++ b/docs/next/api/client-ui/functions/ToolbarCard/index.html @@ -4,7 +4,7 @@ ToolbarCard() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/client-ui/functions/ToolbarStyled/index.html b/docs/next/api/client-ui/functions/ToolbarStyled/index.html index 3a8baa197..eea530052 100644 --- a/docs/next/api/client-ui/functions/ToolbarStyled/index.html +++ b/docs/next/api/client-ui/functions/ToolbarStyled/index.html @@ -4,7 +4,7 @@ ToolbarStyled() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/client-ui/functions/Tooltip/index.html b/docs/next/api/client-ui/functions/Tooltip/index.html index ada47558c..104f15c33 100644 --- a/docs/next/api/client-ui/functions/Tooltip/index.html +++ b/docs/next/api/client-ui/functions/Tooltip/index.html @@ -4,7 +4,7 @@ Tooltip() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/client-ui/functions/TooltipContainer/index.html b/docs/next/api/client-ui/functions/TooltipContainer/index.html index 3ce77a66d..425e4fc9b 100644 --- a/docs/next/api/client-ui/functions/TooltipContainer/index.html +++ b/docs/next/api/client-ui/functions/TooltipContainer/index.html @@ -4,7 +4,7 @@ TooltipContainer() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/client-ui/functions/TooltipItem/index.html b/docs/next/api/client-ui/functions/TooltipItem/index.html index 5035daa6d..d189c31b6 100644 --- a/docs/next/api/client-ui/functions/TooltipItem/index.html +++ b/docs/next/api/client-ui/functions/TooltipItem/index.html @@ -4,7 +4,7 @@ TooltipItem() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/client-ui/functions/TooltipTrigger/index.html b/docs/next/api/client-ui/functions/TooltipTrigger/index.html index 7b0a1b475..5035ff038 100644 --- a/docs/next/api/client-ui/functions/TooltipTrigger/index.html +++ b/docs/next/api/client-ui/functions/TooltipTrigger/index.html @@ -4,7 +4,7 @@ TooltipTrigger() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/client-ui/functions/Translator/index.html b/docs/next/api/client-ui/functions/Translator/index.html index ac0f97a30..831ef66a5 100644 --- a/docs/next/api/client-ui/functions/Translator/index.html +++ b/docs/next/api/client-ui/functions/Translator/index.html @@ -4,7 +4,7 @@ Translator() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/client-ui/functions/TwoColorPointyCircle/index.html b/docs/next/api/client-ui/functions/TwoColorPointyCircle/index.html index 1f8d77473..68ea11929 100644 --- a/docs/next/api/client-ui/functions/TwoColorPointyCircle/index.html +++ b/docs/next/api/client-ui/functions/TwoColorPointyCircle/index.html @@ -4,7 +4,7 @@ TwoColorPointyCircle() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/client-ui/functions/VerticalSpacer/index.html b/docs/next/api/client-ui/functions/VerticalSpacer/index.html index 8542f80be..ff82e6b58 100644 --- a/docs/next/api/client-ui/functions/VerticalSpacer/index.html +++ b/docs/next/api/client-ui/functions/VerticalSpacer/index.html @@ -4,7 +4,7 @@ VerticalSpacer() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/client-ui/functions/WarningPill/index.html b/docs/next/api/client-ui/functions/WarningPill/index.html index 3fb3cb620..62b1d8669 100644 --- a/docs/next/api/client-ui/functions/WarningPill/index.html +++ b/docs/next/api/client-ui/functions/WarningPill/index.html @@ -4,7 +4,7 @@ WarningPill() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/client-ui/functions/WatersDiagram/index.html b/docs/next/api/client-ui/functions/WatersDiagram/index.html index d0f1b8420..906a4f1cc 100644 --- a/docs/next/api/client-ui/functions/WatersDiagram/index.html +++ b/docs/next/api/client-ui/functions/WatersDiagram/index.html @@ -4,7 +4,7 @@ WatersDiagram() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/client-ui/functions/createReportDecorator/index.html b/docs/next/api/client-ui/functions/createReportDecorator/index.html index f825403de..8eb09fed0 100644 --- a/docs/next/api/client-ui/functions/createReportDecorator/index.html +++ b/docs/next/api/client-ui/functions/createReportDecorator/index.html @@ -4,7 +4,7 @@ createReportDecorator() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/client-ui/functions/finishTask/index.html b/docs/next/api/client-ui/functions/finishTask/index.html index ba52704e1..6165e83a9 100644 --- a/docs/next/api/client-ui/functions/finishTask/index.html +++ b/docs/next/api/client-ui/functions/finishTask/index.html @@ -4,7 +4,7 @@ finishTask() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/client-ui/functions/runTask/index.html b/docs/next/api/client-ui/functions/runTask/index.html index 6cfdd45d4..4e347ca12 100644 --- a/docs/next/api/client-ui/functions/runTask/index.html +++ b/docs/next/api/client-ui/functions/runTask/index.html @@ -4,7 +4,7 @@ runTask() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/client-ui/functions/useCheckboxes/index.html b/docs/next/api/client-ui/functions/useCheckboxes/index.html index 777546046..81d526bdc 100644 --- a/docs/next/api/client-ui/functions/useCheckboxes/index.html +++ b/docs/next/api/client-ui/functions/useCheckboxes/index.html @@ -4,7 +4,7 @@ useCheckboxes() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/client-ui/functions/useFunction/index.html b/docs/next/api/client-ui/functions/useFunction/index.html index f0a19518d..225b654a6 100644 --- a/docs/next/api/client-ui/functions/useFunction/index.html +++ b/docs/next/api/client-ui/functions/useFunction/index.html @@ -4,7 +4,7 @@ useFunction() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/client-ui/functions/useLanguage/index.html b/docs/next/api/client-ui/functions/useLanguage/index.html index e4518d92e..9b86f83bf 100644 --- a/docs/next/api/client-ui/functions/useLanguage/index.html +++ b/docs/next/api/client-ui/functions/useLanguage/index.html @@ -4,7 +4,7 @@ useLanguage() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/client-ui/functions/useSketchProperties/index.html b/docs/next/api/client-ui/functions/useSketchProperties/index.html index 12414bac9..aff407708 100644 --- a/docs/next/api/client-ui/functions/useSketchProperties/index.html +++ b/docs/next/api/client-ui/functions/useSketchProperties/index.html @@ -4,7 +4,7 @@ useSketchProperties() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/client-ui/index.html b/docs/next/api/client-ui/index.html index b4223563e..5dbbe39e0 100644 --- a/docs/next/api/client-ui/index.html +++ b/docs/next/api/client-ui/index.html @@ -4,7 +4,7 @@ client-ui | SeaSketch Geoprocessing - + diff --git a/docs/next/api/client-ui/interfaces/AppProps/index.html b/docs/next/api/client-ui/interfaces/AppProps/index.html index 90a4d77cd..6af466896 100644 --- a/docs/next/api/client-ui/interfaces/AppProps/index.html +++ b/docs/next/api/client-ui/interfaces/AppProps/index.html @@ -4,7 +4,7 @@ AppProps | SeaSketch Geoprocessing - + diff --git a/docs/next/api/client-ui/interfaces/CardProps/index.html b/docs/next/api/client-ui/interfaces/CardProps/index.html index 323231003..9587cbfd4 100644 --- a/docs/next/api/client-ui/interfaces/CardProps/index.html +++ b/docs/next/api/client-ui/interfaces/CardProps/index.html @@ -4,7 +4,7 @@ CardProps | SeaSketch Geoprocessing - + diff --git a/docs/next/api/client-ui/interfaces/CircleProps/index.html b/docs/next/api/client-ui/interfaces/CircleProps/index.html index 68b26ec20..997256f87 100644 --- a/docs/next/api/client-ui/interfaces/CircleProps/index.html +++ b/docs/next/api/client-ui/interfaces/CircleProps/index.html @@ -4,7 +4,7 @@ CircleProps | SeaSketch Geoprocessing - + diff --git a/docs/next/api/client-ui/interfaces/ClassTableColumnConfig/index.html b/docs/next/api/client-ui/interfaces/ClassTableColumnConfig/index.html index 5e75e8f76..c7266f437 100644 --- a/docs/next/api/client-ui/interfaces/ClassTableColumnConfig/index.html +++ b/docs/next/api/client-ui/interfaces/ClassTableColumnConfig/index.html @@ -4,7 +4,7 @@ ClassTableColumnConfig | SeaSketch Geoprocessing - + diff --git a/docs/next/api/client-ui/interfaces/ClassTableProps/index.html b/docs/next/api/client-ui/interfaces/ClassTableProps/index.html index e8237f8a7..7845de645 100644 --- a/docs/next/api/client-ui/interfaces/ClassTableProps/index.html +++ b/docs/next/api/client-ui/interfaces/ClassTableProps/index.html @@ -4,7 +4,7 @@ ClassTableProps | SeaSketch Geoprocessing - + diff --git a/docs/next/api/client-ui/interfaces/CollapseGroupProps/index.html b/docs/next/api/client-ui/interfaces/CollapseGroupProps/index.html index 36ef1b99c..e1587c361 100644 --- a/docs/next/api/client-ui/interfaces/CollapseGroupProps/index.html +++ b/docs/next/api/client-ui/interfaces/CollapseGroupProps/index.html @@ -4,7 +4,7 @@ CollapseGroupProps | SeaSketch Geoprocessing - + diff --git a/docs/next/api/client-ui/interfaces/CollapseProps/index.html b/docs/next/api/client-ui/interfaces/CollapseProps/index.html index 9cf79d6bb..f78fc9e3b 100644 --- a/docs/next/api/client-ui/interfaces/CollapseProps/index.html +++ b/docs/next/api/client-ui/interfaces/CollapseProps/index.html @@ -4,7 +4,7 @@ CollapseProps | SeaSketch Geoprocessing - + diff --git a/docs/next/api/client-ui/interfaces/DataDownloadProps/index.html b/docs/next/api/client-ui/interfaces/DataDownloadProps/index.html index be6c898fc..e95454901 100644 --- a/docs/next/api/client-ui/interfaces/DataDownloadProps/index.html +++ b/docs/next/api/client-ui/interfaces/DataDownloadProps/index.html @@ -4,7 +4,7 @@ DataDownloadProps | SeaSketch Geoprocessing - + diff --git a/docs/next/api/client-ui/interfaces/DataDownloadToolbarProps/index.html b/docs/next/api/client-ui/interfaces/DataDownloadToolbarProps/index.html index 8d7e68b8c..f1763e490 100644 --- a/docs/next/api/client-ui/interfaces/DataDownloadToolbarProps/index.html +++ b/docs/next/api/client-ui/interfaces/DataDownloadToolbarProps/index.html @@ -4,7 +4,7 @@ DataDownloadToolbarProps | SeaSketch Geoprocessing - + diff --git a/docs/next/api/client-ui/interfaces/DataFormatters/index.html b/docs/next/api/client-ui/interfaces/DataFormatters/index.html index 1f54cdedb..27f1f3c0b 100644 --- a/docs/next/api/client-ui/interfaces/DataFormatters/index.html +++ b/docs/next/api/client-ui/interfaces/DataFormatters/index.html @@ -4,7 +4,7 @@ DataFormatters | SeaSketch Geoprocessing - + diff --git a/docs/next/api/client-ui/interfaces/DownloadOption/index.html b/docs/next/api/client-ui/interfaces/DownloadOption/index.html index 7f17db216..6d52bb819 100644 --- a/docs/next/api/client-ui/interfaces/DownloadOption/index.html +++ b/docs/next/api/client-ui/interfaces/DownloadOption/index.html @@ -4,7 +4,7 @@ DownloadOption | SeaSketch Geoprocessing - + diff --git a/docs/next/api/client-ui/interfaces/DropdownContainerProps/index.html b/docs/next/api/client-ui/interfaces/DropdownContainerProps/index.html index fc2472fa8..0cf67c3f7 100644 --- a/docs/next/api/client-ui/interfaces/DropdownContainerProps/index.html +++ b/docs/next/api/client-ui/interfaces/DropdownContainerProps/index.html @@ -4,7 +4,7 @@ DropdownContainerProps | SeaSketch Geoprocessing - + diff --git a/docs/next/api/client-ui/interfaces/DropdownProps/index.html b/docs/next/api/client-ui/interfaces/DropdownProps/index.html index 50c23d262..29c78251f 100644 --- a/docs/next/api/client-ui/interfaces/DropdownProps/index.html +++ b/docs/next/api/client-ui/interfaces/DropdownProps/index.html @@ -4,7 +4,7 @@ DropdownProps | SeaSketch Geoprocessing - + diff --git a/docs/next/api/client-ui/interfaces/FilterSelect/index.html b/docs/next/api/client-ui/interfaces/FilterSelect/index.html index b11a7e9bf..c315866e1 100644 --- a/docs/next/api/client-ui/interfaces/FilterSelect/index.html +++ b/docs/next/api/client-ui/interfaces/FilterSelect/index.html @@ -4,7 +4,7 @@ FilterSelect\<D\> | SeaSketch Geoprocessing - + diff --git a/docs/next/api/client-ui/interfaces/FilterSelectOption/index.html b/docs/next/api/client-ui/interfaces/FilterSelectOption/index.html index 1bf28c250..3509f2e2b 100644 --- a/docs/next/api/client-ui/interfaces/FilterSelectOption/index.html +++ b/docs/next/api/client-ui/interfaces/FilterSelectOption/index.html @@ -4,7 +4,7 @@ FilterSelectOption\<D\> | SeaSketch Geoprocessing - + diff --git a/docs/next/api/client-ui/interfaces/FilterSelectTableOptions/index.html b/docs/next/api/client-ui/interfaces/FilterSelectTableOptions/index.html index 0976fe1bc..a6cc8623d 100644 --- a/docs/next/api/client-ui/interfaces/FilterSelectTableOptions/index.html +++ b/docs/next/api/client-ui/interfaces/FilterSelectTableOptions/index.html @@ -4,7 +4,7 @@ FilterSelectTableOptions\<D\> | SeaSketch Geoprocessing - + diff --git a/docs/next/api/client-ui/interfaces/GeographySwitcherProps/index.html b/docs/next/api/client-ui/interfaces/GeographySwitcherProps/index.html index f7d833028..6c42c6c43 100644 --- a/docs/next/api/client-ui/interfaces/GeographySwitcherProps/index.html +++ b/docs/next/api/client-ui/interfaces/GeographySwitcherProps/index.html @@ -4,7 +4,7 @@ GeographySwitcherProps | SeaSketch Geoprocessing - + diff --git a/docs/next/api/client-ui/interfaces/GroupCircleProps/index.html b/docs/next/api/client-ui/interfaces/GroupCircleProps/index.html index 1c73cdec9..07b9ead31 100644 --- a/docs/next/api/client-ui/interfaces/GroupCircleProps/index.html +++ b/docs/next/api/client-ui/interfaces/GroupCircleProps/index.html @@ -4,7 +4,7 @@ GroupCircleProps | SeaSketch Geoprocessing - + diff --git a/docs/next/api/client-ui/interfaces/GroupCircleRowProps/index.html b/docs/next/api/client-ui/interfaces/GroupCircleRowProps/index.html index 359d5e6d6..484e0e11a 100644 --- a/docs/next/api/client-ui/interfaces/GroupCircleRowProps/index.html +++ b/docs/next/api/client-ui/interfaces/GroupCircleRowProps/index.html @@ -4,7 +4,7 @@ GroupCircleRowProps | SeaSketch Geoprocessing - + diff --git a/docs/next/api/client-ui/interfaces/GroupPillProps/index.html b/docs/next/api/client-ui/interfaces/GroupPillProps/index.html index 2d61acb8d..a5e736464 100644 --- a/docs/next/api/client-ui/interfaces/GroupPillProps/index.html +++ b/docs/next/api/client-ui/interfaces/GroupPillProps/index.html @@ -4,7 +4,7 @@ GroupPillProps | SeaSketch Geoprocessing - + diff --git a/docs/next/api/client-ui/interfaces/HorizontalStackedBarProps/index.html b/docs/next/api/client-ui/interfaces/HorizontalStackedBarProps/index.html index 38cf97b16..e78e5f5eb 100644 --- a/docs/next/api/client-ui/interfaces/HorizontalStackedBarProps/index.html +++ b/docs/next/api/client-ui/interfaces/HorizontalStackedBarProps/index.html @@ -4,7 +4,7 @@ HorizontalStackedBarProps | SeaSketch Geoprocessing - + diff --git a/docs/next/api/client-ui/interfaces/InfoStatusProps/index.html b/docs/next/api/client-ui/interfaces/InfoStatusProps/index.html index 493834620..ed49c72eb 100644 --- a/docs/next/api/client-ui/interfaces/InfoStatusProps/index.html +++ b/docs/next/api/client-ui/interfaces/InfoStatusProps/index.html @@ -4,7 +4,7 @@ InfoStatusProps | SeaSketch Geoprocessing - + diff --git a/docs/next/api/client-ui/interfaces/IucnActivityRank/index.html b/docs/next/api/client-ui/interfaces/IucnActivityRank/index.html index 2e297d178..f41c3a045 100644 --- a/docs/next/api/client-ui/interfaces/IucnActivityRank/index.html +++ b/docs/next/api/client-ui/interfaces/IucnActivityRank/index.html @@ -4,7 +4,7 @@ IucnActivityRank | SeaSketch Geoprocessing - + diff --git a/docs/next/api/client-ui/interfaces/IucnLevelCircleProps/index.html b/docs/next/api/client-ui/interfaces/IucnLevelCircleProps/index.html index 2d4a686b1..baf30cd8d 100644 --- a/docs/next/api/client-ui/interfaces/IucnLevelCircleProps/index.html +++ b/docs/next/api/client-ui/interfaces/IucnLevelCircleProps/index.html @@ -4,7 +4,7 @@ IucnLevelCircleProps | SeaSketch Geoprocessing - + diff --git a/docs/next/api/client-ui/interfaces/IucnLevelCircleRowProps/index.html b/docs/next/api/client-ui/interfaces/IucnLevelCircleRowProps/index.html index 3aa9fe2c1..3779e1105 100644 --- a/docs/next/api/client-ui/interfaces/IucnLevelCircleRowProps/index.html +++ b/docs/next/api/client-ui/interfaces/IucnLevelCircleRowProps/index.html @@ -4,7 +4,7 @@ IucnLevelCircleRowProps | SeaSketch Geoprocessing - + diff --git a/docs/next/api/client-ui/interfaces/IucnLevelPillProps/index.html b/docs/next/api/client-ui/interfaces/IucnLevelPillProps/index.html index 9d53b7ffd..e4edd6578 100644 --- a/docs/next/api/client-ui/interfaces/IucnLevelPillProps/index.html +++ b/docs/next/api/client-ui/interfaces/IucnLevelPillProps/index.html @@ -4,7 +4,7 @@ IucnLevelPillProps | SeaSketch Geoprocessing - + diff --git a/docs/next/api/client-ui/interfaces/KeySectionProps/index.html b/docs/next/api/client-ui/interfaces/KeySectionProps/index.html index 68c6a4513..50c607f40 100644 --- a/docs/next/api/client-ui/interfaces/KeySectionProps/index.html +++ b/docs/next/api/client-ui/interfaces/KeySectionProps/index.html @@ -4,7 +4,7 @@ KeySectionProps | SeaSketch Geoprocessing - + diff --git a/docs/next/api/client-ui/interfaces/LabelProps/index.html b/docs/next/api/client-ui/interfaces/LabelProps/index.html index c33af01a7..1d2654ddd 100644 --- a/docs/next/api/client-ui/interfaces/LabelProps/index.html +++ b/docs/next/api/client-ui/interfaces/LabelProps/index.html @@ -4,7 +4,7 @@ LabelProps | SeaSketch Geoprocessing - + diff --git a/docs/next/api/client-ui/interfaces/LegendProps/index.html b/docs/next/api/client-ui/interfaces/LegendProps/index.html index b69281317..e3fb026a3 100644 --- a/docs/next/api/client-ui/interfaces/LegendProps/index.html +++ b/docs/next/api/client-ui/interfaces/LegendProps/index.html @@ -4,7 +4,7 @@ LegendProps | SeaSketch Geoprocessing - + diff --git a/docs/next/api/client-ui/interfaces/ObjectiveStatusProps/index.html b/docs/next/api/client-ui/interfaces/ObjectiveStatusProps/index.html index d88bc12d7..67eeba641 100644 --- a/docs/next/api/client-ui/interfaces/ObjectiveStatusProps/index.html +++ b/docs/next/api/client-ui/interfaces/ObjectiveStatusProps/index.html @@ -4,7 +4,7 @@ ObjectiveStatusProps | SeaSketch Geoprocessing - + diff --git a/docs/next/api/client-ui/interfaces/PillColumnProps/index.html b/docs/next/api/client-ui/interfaces/PillColumnProps/index.html index ced99292c..3d3ee8c95 100644 --- a/docs/next/api/client-ui/interfaces/PillColumnProps/index.html +++ b/docs/next/api/client-ui/interfaces/PillColumnProps/index.html @@ -4,7 +4,7 @@ PillColumnProps | SeaSketch Geoprocessing - + diff --git a/docs/next/api/client-ui/interfaces/PillProps/index.html b/docs/next/api/client-ui/interfaces/PillProps/index.html index 9c9725231..f1d684173 100644 --- a/docs/next/api/client-ui/interfaces/PillProps/index.html +++ b/docs/next/api/client-ui/interfaces/PillProps/index.html @@ -4,7 +4,7 @@ PillProps | SeaSketch Geoprocessing - + diff --git a/docs/next/api/client-ui/interfaces/RbcsIconProps/index.html b/docs/next/api/client-ui/interfaces/RbcsIconProps/index.html index 87c12dde7..8987d3db5 100644 --- a/docs/next/api/client-ui/interfaces/RbcsIconProps/index.html +++ b/docs/next/api/client-ui/interfaces/RbcsIconProps/index.html @@ -4,7 +4,7 @@ RbcsIconProps | SeaSketch Geoprocessing - + diff --git a/docs/next/api/client-ui/interfaces/RbcsLearnMoreProps/index.html b/docs/next/api/client-ui/interfaces/RbcsLearnMoreProps/index.html index 83f39f2a6..ab96f19b9 100644 --- a/docs/next/api/client-ui/interfaces/RbcsLearnMoreProps/index.html +++ b/docs/next/api/client-ui/interfaces/RbcsLearnMoreProps/index.html @@ -4,7 +4,7 @@ RbcsLearnMoreProps | SeaSketch Geoprocessing - + diff --git a/docs/next/api/client-ui/interfaces/RbcsMpaClassPanelProps/index.html b/docs/next/api/client-ui/interfaces/RbcsMpaClassPanelProps/index.html index e6ab3653f..14c01ad1a 100644 --- a/docs/next/api/client-ui/interfaces/RbcsMpaClassPanelProps/index.html +++ b/docs/next/api/client-ui/interfaces/RbcsMpaClassPanelProps/index.html @@ -4,7 +4,7 @@ RbcsMpaClassPanelProps | SeaSketch Geoprocessing - + diff --git a/docs/next/api/client-ui/interfaces/RbcsMpaObjectiveStatusProps/index.html b/docs/next/api/client-ui/interfaces/RbcsMpaObjectiveStatusProps/index.html index f36a26aee..9976b0e3f 100644 --- a/docs/next/api/client-ui/interfaces/RbcsMpaObjectiveStatusProps/index.html +++ b/docs/next/api/client-ui/interfaces/RbcsMpaObjectiveStatusProps/index.html @@ -4,7 +4,7 @@ RbcsMpaObjectiveStatusProps | SeaSketch Geoprocessing - + diff --git a/docs/next/api/client-ui/interfaces/RbcsNetworkObjectiveProps/index.html b/docs/next/api/client-ui/interfaces/RbcsNetworkObjectiveProps/index.html index 2435fa06d..d98e4b641 100644 --- a/docs/next/api/client-ui/interfaces/RbcsNetworkObjectiveProps/index.html +++ b/docs/next/api/client-ui/interfaces/RbcsNetworkObjectiveProps/index.html @@ -4,7 +4,7 @@ RbcsNetworkObjectiveProps | SeaSketch Geoprocessing - + diff --git a/docs/next/api/client-ui/interfaces/RbcsPanelProps/index.html b/docs/next/api/client-ui/interfaces/RbcsPanelProps/index.html index 947231154..94056aaff 100644 --- a/docs/next/api/client-ui/interfaces/RbcsPanelProps/index.html +++ b/docs/next/api/client-ui/interfaces/RbcsPanelProps/index.html @@ -4,7 +4,7 @@ RbcsPanelProps | SeaSketch Geoprocessing - + diff --git a/docs/next/api/client-ui/interfaces/ReportChartFigureProps/index.html b/docs/next/api/client-ui/interfaces/ReportChartFigureProps/index.html index 0ad1d8a5d..7ba710457 100644 --- a/docs/next/api/client-ui/interfaces/ReportChartFigureProps/index.html +++ b/docs/next/api/client-ui/interfaces/ReportChartFigureProps/index.html @@ -4,7 +4,7 @@ ReportChartFigureProps | SeaSketch Geoprocessing - + diff --git a/docs/next/api/client-ui/interfaces/ReportContextState/index.html b/docs/next/api/client-ui/interfaces/ReportContextState/index.html index a0b6c86e9..024296039 100644 --- a/docs/next/api/client-ui/interfaces/ReportContextState/index.html +++ b/docs/next/api/client-ui/interfaces/ReportContextState/index.html @@ -4,7 +4,7 @@ ReportContextState | SeaSketch Geoprocessing - + diff --git a/docs/next/api/client-ui/interfaces/ReportPageProps/index.html b/docs/next/api/client-ui/interfaces/ReportPageProps/index.html index 48d40d0c9..fa32b262b 100644 --- a/docs/next/api/client-ui/interfaces/ReportPageProps/index.html +++ b/docs/next/api/client-ui/interfaces/ReportPageProps/index.html @@ -4,7 +4,7 @@ ReportPageProps | SeaSketch Geoprocessing - + diff --git a/docs/next/api/client-ui/interfaces/ReportStoryLayoutProps/index.html b/docs/next/api/client-ui/interfaces/ReportStoryLayoutProps/index.html index fc89e33a4..4742788bd 100644 --- a/docs/next/api/client-ui/interfaces/ReportStoryLayoutProps/index.html +++ b/docs/next/api/client-ui/interfaces/ReportStoryLayoutProps/index.html @@ -4,7 +4,7 @@ ReportStoryLayoutProps | SeaSketch Geoprocessing - + diff --git a/docs/next/api/client-ui/interfaces/ResultsCardProps/index.html b/docs/next/api/client-ui/interfaces/ResultsCardProps/index.html index 398ca0ea3..8cf6f06fd 100644 --- a/docs/next/api/client-ui/interfaces/ResultsCardProps/index.html +++ b/docs/next/api/client-ui/interfaces/ResultsCardProps/index.html @@ -4,7 +4,7 @@ ResultsCardProps\<T\> | SeaSketch Geoprocessing - + diff --git a/docs/next/api/client-ui/interfaces/Row/index.html b/docs/next/api/client-ui/interfaces/Row/index.html index a2c34d99f..a91dcd3f1 100644 --- a/docs/next/api/client-ui/interfaces/Row/index.html +++ b/docs/next/api/client-ui/interfaces/Row/index.html @@ -4,7 +4,7 @@ Row\<D\> | SeaSketch Geoprocessing - + diff --git a/docs/next/api/client-ui/interfaces/SegmentControlProps/index.html b/docs/next/api/client-ui/interfaces/SegmentControlProps/index.html index 5975d5225..8061b5370 100644 --- a/docs/next/api/client-ui/interfaces/SegmentControlProps/index.html +++ b/docs/next/api/client-ui/interfaces/SegmentControlProps/index.html @@ -4,7 +4,7 @@ SegmentControlProps | SeaSketch Geoprocessing - + diff --git a/docs/next/api/client-ui/interfaces/SimpleButtonProbs/index.html b/docs/next/api/client-ui/interfaces/SimpleButtonProbs/index.html index 155a7aa5f..3a3e46b44 100644 --- a/docs/next/api/client-ui/interfaces/SimpleButtonProbs/index.html +++ b/docs/next/api/client-ui/interfaces/SimpleButtonProbs/index.html @@ -4,7 +4,7 @@ SimpleButtonProbs | SeaSketch Geoprocessing - + diff --git a/docs/next/api/client-ui/interfaces/SketchAttributesCardProps/index.html b/docs/next/api/client-ui/interfaces/SketchAttributesCardProps/index.html index 7a6369946..2e8c5d073 100644 --- a/docs/next/api/client-ui/interfaces/SketchAttributesCardProps/index.html +++ b/docs/next/api/client-ui/interfaces/SketchAttributesCardProps/index.html @@ -4,7 +4,7 @@ SketchAttributesCardProps | SeaSketch Geoprocessing - + diff --git a/docs/next/api/client-ui/interfaces/SketchClassTableProps/index.html b/docs/next/api/client-ui/interfaces/SketchClassTableProps/index.html index 48edde80f..763798a01 100644 --- a/docs/next/api/client-ui/interfaces/SketchClassTableProps/index.html +++ b/docs/next/api/client-ui/interfaces/SketchClassTableProps/index.html @@ -4,7 +4,7 @@ SketchClassTableProps | SeaSketch Geoprocessing - + diff --git a/docs/next/api/client-ui/interfaces/StyledHorizontalStackedBarProps/index.html b/docs/next/api/client-ui/interfaces/StyledHorizontalStackedBarProps/index.html index 1da9f8d08..1dadca646 100644 --- a/docs/next/api/client-ui/interfaces/StyledHorizontalStackedBarProps/index.html +++ b/docs/next/api/client-ui/interfaces/StyledHorizontalStackedBarProps/index.html @@ -4,7 +4,7 @@ StyledHorizontalStackedBarProps | SeaSketch Geoprocessing - + diff --git a/docs/next/api/client-ui/interfaces/StyledLegendProps/index.html b/docs/next/api/client-ui/interfaces/StyledLegendProps/index.html index 06009a033..d75cf77d8 100644 --- a/docs/next/api/client-ui/interfaces/StyledLegendProps/index.html +++ b/docs/next/api/client-ui/interfaces/StyledLegendProps/index.html @@ -4,7 +4,7 @@ StyledLegendProps | SeaSketch Geoprocessing - + diff --git a/docs/next/api/client-ui/interfaces/StyledTwoColorPointyCircleProps/index.html b/docs/next/api/client-ui/interfaces/StyledTwoColorPointyCircleProps/index.html index 4d6fd700f..e67f28337 100644 --- a/docs/next/api/client-ui/interfaces/StyledTwoColorPointyCircleProps/index.html +++ b/docs/next/api/client-ui/interfaces/StyledTwoColorPointyCircleProps/index.html @@ -4,7 +4,7 @@ StyledTwoColorPointyCircleProps | SeaSketch Geoprocessing - + diff --git a/docs/next/api/client-ui/interfaces/TableOptions/index.html b/docs/next/api/client-ui/interfaces/TableOptions/index.html index c23c56ba2..31a50b9f4 100644 --- a/docs/next/api/client-ui/interfaces/TableOptions/index.html +++ b/docs/next/api/client-ui/interfaces/TableOptions/index.html @@ -4,7 +4,7 @@ TableOptions\<D\> | SeaSketch Geoprocessing - + diff --git a/docs/next/api/client-ui/interfaces/ToolbarCardProps/index.html b/docs/next/api/client-ui/interfaces/ToolbarCardProps/index.html index 50f7423a1..48cc23eff 100644 --- a/docs/next/api/client-ui/interfaces/ToolbarCardProps/index.html +++ b/docs/next/api/client-ui/interfaces/ToolbarCardProps/index.html @@ -4,7 +4,7 @@ ToolbarCardProps | SeaSketch Geoprocessing - + diff --git a/docs/next/api/client-ui/interfaces/ToolbarProps/index.html b/docs/next/api/client-ui/interfaces/ToolbarProps/index.html index faf52eb45..f620e5e5f 100644 --- a/docs/next/api/client-ui/interfaces/ToolbarProps/index.html +++ b/docs/next/api/client-ui/interfaces/ToolbarProps/index.html @@ -4,7 +4,7 @@ ToolbarProps | SeaSketch Geoprocessing - + diff --git a/docs/next/api/client-ui/interfaces/TooltipContainerProps/index.html b/docs/next/api/client-ui/interfaces/TooltipContainerProps/index.html index e044cd45c..796520b38 100644 --- a/docs/next/api/client-ui/interfaces/TooltipContainerProps/index.html +++ b/docs/next/api/client-ui/interfaces/TooltipContainerProps/index.html @@ -4,7 +4,7 @@ TooltipContainerProps | SeaSketch Geoprocessing - + diff --git a/docs/next/api/client-ui/interfaces/TooltipProps/index.html b/docs/next/api/client-ui/interfaces/TooltipProps/index.html index 332a03b31..5dc3e4dbc 100644 --- a/docs/next/api/client-ui/interfaces/TooltipProps/index.html +++ b/docs/next/api/client-ui/interfaces/TooltipProps/index.html @@ -4,7 +4,7 @@ TooltipProps | SeaSketch Geoprocessing - + diff --git a/docs/next/api/client-ui/interfaces/TwoColorPointyCircleProps/index.html b/docs/next/api/client-ui/interfaces/TwoColorPointyCircleProps/index.html index d2d2e8fd0..064c361b1 100644 --- a/docs/next/api/client-ui/interfaces/TwoColorPointyCircleProps/index.html +++ b/docs/next/api/client-ui/interfaces/TwoColorPointyCircleProps/index.html @@ -4,7 +4,7 @@ TwoColorPointyCircleProps | SeaSketch Geoprocessing - + diff --git a/docs/next/api/client-ui/interfaces/VerticalSpacerProps/index.html b/docs/next/api/client-ui/interfaces/VerticalSpacerProps/index.html index 4606a1c87..48ef0b327 100644 --- a/docs/next/api/client-ui/interfaces/VerticalSpacerProps/index.html +++ b/docs/next/api/client-ui/interfaces/VerticalSpacerProps/index.html @@ -4,7 +4,7 @@ VerticalSpacerProps | SeaSketch Geoprocessing - + diff --git a/docs/next/api/client-ui/type-aliases/Block/index.html b/docs/next/api/client-ui/type-aliases/Block/index.html index ad8e9ff04..d13e997fc 100644 --- a/docs/next/api/client-ui/type-aliases/Block/index.html +++ b/docs/next/api/client-ui/type-aliases/Block/index.html @@ -4,7 +4,7 @@ Block | SeaSketch Geoprocessing - + diff --git a/docs/next/api/client-ui/type-aliases/BlockGroup/index.html b/docs/next/api/client-ui/type-aliases/BlockGroup/index.html index f6595f076..c6e820f72 100644 --- a/docs/next/api/client-ui/type-aliases/BlockGroup/index.html +++ b/docs/next/api/client-ui/type-aliases/BlockGroup/index.html @@ -4,7 +4,7 @@ BlockGroup | SeaSketch Geoprocessing - + diff --git a/docs/next/api/client-ui/type-aliases/Column/index.html b/docs/next/api/client-ui/type-aliases/Column/index.html index eeb83f71b..fbab4e011 100644 --- a/docs/next/api/client-ui/type-aliases/Column/index.html +++ b/docs/next/api/client-ui/type-aliases/Column/index.html @@ -4,7 +4,7 @@ Column\<D\> | SeaSketch Geoprocessing - + diff --git a/docs/next/api/client-ui/type-aliases/HorizontalStackedBarRow/index.html b/docs/next/api/client-ui/type-aliases/HorizontalStackedBarRow/index.html index 0a869cbee..f678a6ba1 100644 --- a/docs/next/api/client-ui/type-aliases/HorizontalStackedBarRow/index.html +++ b/docs/next/api/client-ui/type-aliases/HorizontalStackedBarRow/index.html @@ -4,7 +4,7 @@ HorizontalStackedBarRow | SeaSketch Geoprocessing - + diff --git a/docs/next/api/client-ui/type-aliases/RbcsMpaObjectiveRenderMsgFunction/index.html b/docs/next/api/client-ui/type-aliases/RbcsMpaObjectiveRenderMsgFunction/index.html index 74b016dec..41367b5c2 100644 --- a/docs/next/api/client-ui/type-aliases/RbcsMpaObjectiveRenderMsgFunction/index.html +++ b/docs/next/api/client-ui/type-aliases/RbcsMpaObjectiveRenderMsgFunction/index.html @@ -4,7 +4,7 @@ RbcsMpaObjectiveRenderMsgFunction() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/client-ui/type-aliases/RbcsNetworkObjectiveRenderMsgFunction/index.html b/docs/next/api/client-ui/type-aliases/RbcsNetworkObjectiveRenderMsgFunction/index.html index f67236e59..cb9bb5cdb 100644 --- a/docs/next/api/client-ui/type-aliases/RbcsNetworkObjectiveRenderMsgFunction/index.html +++ b/docs/next/api/client-ui/type-aliases/RbcsNetworkObjectiveRenderMsgFunction/index.html @@ -4,7 +4,7 @@ RbcsNetworkObjectiveRenderMsgFunction() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/client-ui/type-aliases/RowConfig/index.html b/docs/next/api/client-ui/type-aliases/RowConfig/index.html index ce097bde0..7fd429eef 100644 --- a/docs/next/api/client-ui/type-aliases/RowConfig/index.html +++ b/docs/next/api/client-ui/type-aliases/RowConfig/index.html @@ -4,7 +4,7 @@ RowConfig | SeaSketch Geoprocessing - + diff --git a/docs/next/api/client-ui/type-aliases/SUPPORTED_FORMAT/index.html b/docs/next/api/client-ui/type-aliases/SUPPORTED_FORMAT/index.html index 4f4a90f04..0e11f201e 100644 --- a/docs/next/api/client-ui/type-aliases/SUPPORTED_FORMAT/index.html +++ b/docs/next/api/client-ui/type-aliases/SUPPORTED_FORMAT/index.html @@ -4,7 +4,7 @@ SUPPORTED\_FORMAT | SeaSketch Geoprocessing - + diff --git a/docs/next/api/client-ui/type-aliases/StringOrNumber/index.html b/docs/next/api/client-ui/type-aliases/StringOrNumber/index.html index 95f7ca33b..9ff1a2ea1 100644 --- a/docs/next/api/client-ui/type-aliases/StringOrNumber/index.html +++ b/docs/next/api/client-ui/type-aliases/StringOrNumber/index.html @@ -4,7 +4,7 @@ StringOrNumber | SeaSketch Geoprocessing - + diff --git a/docs/next/api/client-ui/type-aliases/TargetFormatter/index.html b/docs/next/api/client-ui/type-aliases/TargetFormatter/index.html index 8658a3a3f..24345855b 100644 --- a/docs/next/api/client-ui/type-aliases/TargetFormatter/index.html +++ b/docs/next/api/client-ui/type-aliases/TargetFormatter/index.html @@ -4,7 +4,7 @@ TargetFormatter() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/dataproviders/index.html b/docs/next/api/dataproviders/index.html index a2706dfa6..9b235f71b 100644 --- a/docs/next/api/dataproviders/index.html +++ b/docs/next/api/dataproviders/index.html @@ -4,7 +4,7 @@ dataproviders | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/classes/ComplexityError/index.html b/docs/next/api/geoprocessing/classes/ComplexityError/index.html index 22e53a10b..8e36e1dc1 100644 --- a/docs/next/api/geoprocessing/classes/ComplexityError/index.html +++ b/docs/next/api/geoprocessing/classes/ComplexityError/index.html @@ -4,7 +4,7 @@ ComplexityError | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/classes/GeoprocessingHandler/index.html b/docs/next/api/geoprocessing/classes/GeoprocessingHandler/index.html index 8a685e9c3..e0a22d27a 100644 --- a/docs/next/api/geoprocessing/classes/GeoprocessingHandler/index.html +++ b/docs/next/api/geoprocessing/classes/GeoprocessingHandler/index.html @@ -4,7 +4,7 @@ GeoprocessingHandler\<T, G, P\> | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/classes/PreprocessingHandler/index.html b/docs/next/api/geoprocessing/classes/PreprocessingHandler/index.html index fc307eb83..2fac91f06 100644 --- a/docs/next/api/geoprocessing/classes/PreprocessingHandler/index.html +++ b/docs/next/api/geoprocessing/classes/PreprocessingHandler/index.html @@ -4,7 +4,7 @@ PreprocessingHandler\<G, P\> | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/classes/ProjectClientBase/index.html b/docs/next/api/geoprocessing/classes/ProjectClientBase/index.html index 0355aa734..df111862d 100644 --- a/docs/next/api/geoprocessing/classes/ProjectClientBase/index.html +++ b/docs/next/api/geoprocessing/classes/ProjectClientBase/index.html @@ -4,7 +4,7 @@ ProjectClientBase | SeaSketch Geoprocessing - + @@ -147,21 +147,39 @@

ReturnsImplementation of

ProjectClientInterface.dataBucketUrl


+

getClassDatasource()

+
getClassDatasource(mg, classId): object | object | object & object | object & object
+

Returns datasource for given metric group with class with given classId. Uses class datasourceId if available, otherwise falls back to metricGroup datasourceId

+

Parameters

+
ParameterTypeDescription
mgobjectmetricGroup to get datasource for
mg.classesobject[]data classes used by group
mg.classKey?stringOptional datasource class key used to source classIds
mg.datasourceId?stringDatasource to generate metrics from
mg.layerId?stringOptional ID of map layer associated with this metric
mg.metricIdstringUnique id of metric in project
mg.objectiveId?stringgroup level objective, applies to all classes
mg.type?stringunique identifier of what the metric represents, such as its type and method for calculation - e.g. areaOverlap, valueOverlap. To be defined by the user
classIdstringclassId to get datasource for
+

Returns

+

object | object | object & object | object & object

+

the datasource object

+
+

getClassKey()

+
getClassKey(mg, classId): undefined | string
+

Returns classKey name for given metric group with class with given classId. Uses class level classKey if available, otherwise falls back to metricGroup classKey

+

Parameters

+
ParameterTypeDescription
mgobjectmetricGroup to search for class and classKey
mg.classesobject[]data classes used by group
mg.classKey?stringOptional datasource class key used to source classIds
mg.datasourceId?stringDatasource to generate metrics from
mg.layerId?stringOptional ID of map layer associated with this metric
mg.metricIdstringUnique id of metric in project
mg.objectiveId?stringgroup level objective, applies to all classes
mg.type?stringunique identifier of what the metric represents, such as its type and method for calculation - e.g. areaOverlap, valueOverlap. To be defined by the user
classIdstringclassId to get classKey for
+

Returns

+

undefined | string

+

the classKey name or undefined

+

getDatasourceById()

getDatasourceById(datasourceId): object | object | object & object | object & object

Returns Datasource given datasourceId

-

Parameters

+

Parameters

ParameterType
datasourceIdstring
-

Returns

+

Returns

object | object | object & object | object & object

Implementation of

ProjectClientInterface.getDatasourceById


getDatasourceUrl()

getDatasourceUrl(ds, options): string
-

Parameters

+

Parameters

ParameterType
ds| object | object | object | object | object & object | object & object | ImportVectorDatasourceConfig | ImportRasterDatasourceConfig
optionsobject
options.format?"fgb" | "json" | "tif" | "subdivided"
options.local?boolean
options.port?number
options.subPath?string
-

Returns

+

Returns

string

Implementation of

ProjectClientInterface.getDatasourceUrl

@@ -169,40 +187,40 @@

Implemen

getExternalRasterDatasourceById()

getExternalRasterDatasourceById(datasourceId): object & object

Returns ExternalRasterDatasource given datasourceId, throws if not found

-

Parameters

+

Parameters

ParameterType
datasourceIdstring
-

Returns

+

Returns

object & object


getExternalVectorDatasourceById()

getExternalVectorDatasourceById(datasourceId): object & object

Returns ExternalVectorDatasource given datasourceId, throws if not found

-

Parameters

+

Parameters

ParameterType
datasourceIdstring
-

Returns

+

Returns

object & object


getFgbPath()

getFgbPath(ds): string
-

Parameters

+

Parameters

ParameterType
ds| object | object | object | object | object & object | object & object | ImportVectorDatasourceConfig | ImportRasterDatasourceConfig
-

Returns

+

Returns

string


getGeographyByGroup()

getGeographyByGroup(group): object[]
-

Parameters

+

Parameters

ParameterTypeDescription
groupstringthe name of the geography group
-

Returns

+

Returns

object[]

geographies with group name assigned


getGeographyById()

getGeographyById(geographyId?, options?): object

Returns project geography matching the provided ID, with optional fallback geography using fallbackGroup parameter

-

Parameters

+

Parameters

ParameterTypeDescription
geographyId?stringThe geography ID to search for
options?object
options.fallbackGroup?stringThe default group name to lookup if no geographyId is provided. expects there is only one geography with that group name
-

Returns

+

Returns

object

bboxFilter?
optional bboxFilter: [number, number, number, number] | [number, number, number, number, number, number];
@@ -213,7 +231,7 @@
datasourceIddisplay
display: string;

Display name for the geography

-
geographyId
+
geographyId
geographyId: string;

Unique name of the geography

groups?
@@ -238,9 +256,9 @@

ThrowsgetInternalRasterDatasourceById()

getInternalRasterDatasourceById(datasourceId): object

Returns InternalRasterDatasource given datasourceId, throws if not found

-

Parameters

+

Parameters

ParameterType
datasourceIdstring
-

Returns

+

Returns

object

band
band: number;
@@ -296,9 +314,9 @@
srcgetInternalVectorDatasourceById()
getInternalVectorDatasourceById(datasourceId): object

Returns InternalVectorDatasource given datasourceId, throws if not found

-

Parameters

+

Parameters

ParameterType
datasourceIdstring
-

Returns

+

Returns

object

bboxFilter?
optional bboxFilter: [number, number, number, number] | [number, number, number, number, number, number];
@@ -373,9 +391,9 @@
srcgetMetricGroup()
getMetricGroup(metricId, t?): object

Returns MetricGroup given metricId, optional translating display name, given i18n t function

-

Parameters

+

Parameters

ParameterType
metricIdstring
t?TFunction<"translation", undefined>
-

Returns

+

Returns

object

classes
classes: object[];
@@ -402,17 +420,17 @@
type?getMetricGroupObjectives()
getMetricGroupObjectives(metricGroup, t?): object[]

Returns all Objectives for MetricGroup, optionally translating short description, given i18n t function

-

Parameters

+

Parameters

ParameterTypeDescription
metricGroupobject-
metricGroup.classesobject[]data classes used by group
metricGroup.classKey?stringOptional datasource class key used to source classIds
metricGroup.datasourceId?stringDatasource to generate metrics from
metricGroup.layerId?stringOptional ID of map layer associated with this metric
metricGroup.metricId?stringUnique id of metric in project
metricGroup.objectiveId?stringgroup level objective, applies to all classes
metricGroup.type?stringunique identifier of what the metric represents, such as its type and method for calculation - e.g. areaOverlap, valueOverlap. To be defined by the user
t?TFunction<"translation", undefined>-
-

Returns

+

Returns

object[]


getMetricGroupPercId()

getMetricGroupPercId(mg): string

Simple helper that given MetricGroup, returns a consistent ID string for a percent metric, defaults to metricId + 'Perc' added to the end

-

Parameters

+

Parameters

ParameterTypeDescription
mgobjectthe MetricGroup
mg.classesobject[]data classes used by group
mg.classKey?stringOptional datasource class key used to source classIds
mg.datasourceId?stringDatasource to generate metrics from
mg.layerId?stringOptional ID of map layer associated with this metric
mg.metricIdstringUnique id of metric in project
mg.objectiveId?stringgroup level objective, applies to all classes
mg.type?stringunique identifier of what the metric represents, such as its type and method for calculation - e.g. areaOverlap, valueOverlap. To be defined by the user
-

Returns

+

Returns

string

  • ID string
  • @@ -421,9 +439,9 @@

    ReturnsgetObjectiveById()

    getObjectiveById(objectiveId): object

    Returns Objective given objectiveId

    -

    Parameters

    +

    Parameters

    ParameterType
    objectiveIdstring
    -

    Returns

    +

    Returns

    object

    countsToward
    countsToward: Record<string, "yes" | "no" | "maybe"> = objectiveAnswerMapSchema;
    @@ -440,18 +458,18 @@
    targetgetPrecalcMetrics()
    getPrecalcMetrics(
    mg?,
    metricId?,
    geographyId?): object[]

    Returns precalc metrics from precalc.json. Optionally filters down to specific metricGroup and geographyId

    -

    Parameters

    +

    Parameters

    ParameterTypeDescription
    mg?objectMetricGroup to get precalculated metrics for
    mg.classes?object[]data classes used by group
    mg.classKey?stringOptional datasource class key used to source classIds
    mg.datasourceId?stringDatasource to generate metrics from
    mg.layerId?stringOptional ID of map layer associated with this metric
    mg.metricId?stringUnique id of metric in project
    mg.objectiveId?stringgroup level objective, applies to all classes
    mg.type?stringunique identifier of what the metric represents, such as its type and method for calculation - e.g. areaOverlap, valueOverlap. To be defined by the user
    metricId?stringstring, "area", "count", or "sum"
    geographyId?stringstring, geographyId to get precalculated metrics for
    -

    Returns

    +

    Returns

    object[]

    Metric[] of precalculated metrics


    getRasterDatasourceById()

    getRasterDatasourceById(datasourceId): object

    Returns RasterDatasource given datasourceId, throws if not found

    -

    Parameters

    +

    Parameters

    ParameterType
    datasourceIdstring
    -

    Returns

    +

    Returns

    object

    band
    band: number;
    @@ -500,9 +518,9 @@

    Implemen

    getVectorDatasourceById()

    getVectorDatasourceById(datasourceId): object

    Returns VectorDatasource given datasourceId, throws if not found

    -

    Parameters

    +

    Parameters

    ParameterType
    datasourceIdstring
    -

    Returns

    +

    Returns

    object

    bboxFilter?
    optional bboxFilter: [number, number, number, number] | [number, number, number, number, number, number];
    @@ -559,6 +577,6 @@
    pro
    propertyFilter.values
    values: (string | number)[];

    Implementation of

    -

    ProjectClientInterface.getVectorDatasourceById

    +

    ProjectClientInterface.getVectorDatasourceById

    \ No newline at end of file diff --git a/docs/next/api/geoprocessing/classes/ValidationError/index.html b/docs/next/api/geoprocessing/classes/ValidationError/index.html index aba1b456d..36875007b 100644 --- a/docs/next/api/geoprocessing/classes/ValidationError/index.html +++ b/docs/next/api/geoprocessing/classes/ValidationError/index.html @@ -4,7 +4,7 @@ ValidationError | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/classes/VectorDataSource/index.html b/docs/next/api/geoprocessing/classes/VectorDataSource/index.html index 069055a3b..96c67f573 100644 --- a/docs/next/api/geoprocessing/classes/VectorDataSource/index.html +++ b/docs/next/api/geoprocessing/classes/VectorDataSource/index.html @@ -4,7 +4,7 @@ VectorDataSource\<T\> | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/enumerations/GeoprocessingTaskStatus/index.html b/docs/next/api/geoprocessing/enumerations/GeoprocessingTaskStatus/index.html index b72b2fd59..098e2f317 100644 --- a/docs/next/api/geoprocessing/enumerations/GeoprocessingTaskStatus/index.html +++ b/docs/next/api/geoprocessing/enumerations/GeoprocessingTaskStatus/index.html @@ -4,7 +4,7 @@ GeoprocessingTaskStatus | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/functions/anchorScore/index.html b/docs/next/api/geoprocessing/functions/anchorScore/index.html index 073ccfc16..d021218a7 100644 --- a/docs/next/api/geoprocessing/functions/anchorScore/index.html +++ b/docs/next/api/geoprocessing/functions/anchorScore/index.html @@ -4,7 +4,7 @@ anchorScore() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/functions/aquacultureScore/index.html b/docs/next/api/geoprocessing/functions/aquacultureScore/index.html index d38b491e0..b4f9ddf94 100644 --- a/docs/next/api/geoprocessing/functions/aquacultureScore/index.html +++ b/docs/next/api/geoprocessing/functions/aquacultureScore/index.html @@ -4,7 +4,7 @@ aquacultureScore() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/functions/area/index.html b/docs/next/api/geoprocessing/functions/area/index.html index e3cef1f9e..7a56c705a 100644 --- a/docs/next/api/geoprocessing/functions/area/index.html +++ b/docs/next/api/geoprocessing/functions/area/index.html @@ -4,7 +4,7 @@ area() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/functions/batchDelete/index.html b/docs/next/api/geoprocessing/functions/batchDelete/index.html index 77174d4d1..798b2df92 100644 --- a/docs/next/api/geoprocessing/functions/batchDelete/index.html +++ b/docs/next/api/geoprocessing/functions/batchDelete/index.html @@ -4,7 +4,7 @@ batchDelete() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/functions/batchDeleteTasks/index.html b/docs/next/api/geoprocessing/functions/batchDeleteTasks/index.html index 5dd50f1b5..76b749e2f 100644 --- a/docs/next/api/geoprocessing/functions/batchDeleteTasks/index.html +++ b/docs/next/api/geoprocessing/functions/batchDeleteTasks/index.html @@ -4,7 +4,7 @@ batchDeleteTasks() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/functions/bboxOverlap/index.html b/docs/next/api/geoprocessing/functions/bboxOverlap/index.html index b6002dc0e..234ce256d 100644 --- a/docs/next/api/geoprocessing/functions/bboxOverlap/index.html +++ b/docs/next/api/geoprocessing/functions/bboxOverlap/index.html @@ -4,7 +4,7 @@ bboxOverlap() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/functions/booleanOverlap/index.html b/docs/next/api/geoprocessing/functions/booleanOverlap/index.html index fd5042549..1b9324697 100644 --- a/docs/next/api/geoprocessing/functions/booleanOverlap/index.html +++ b/docs/next/api/geoprocessing/functions/booleanOverlap/index.html @@ -4,7 +4,7 @@ booleanOverlap() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/functions/byteSize/index.html b/docs/next/api/geoprocessing/functions/byteSize/index.html index af0cabbd3..888eabb44 100644 --- a/docs/next/api/geoprocessing/functions/byteSize/index.html +++ b/docs/next/api/geoprocessing/functions/byteSize/index.html @@ -4,7 +4,7 @@ byteSize() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/functions/capitalize/index.html b/docs/next/api/geoprocessing/functions/capitalize/index.html index 0561aabca..ac654c8f6 100644 --- a/docs/next/api/geoprocessing/functions/capitalize/index.html +++ b/docs/next/api/geoprocessing/functions/capitalize/index.html @@ -4,7 +4,7 @@ capitalize() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/functions/chunk/index.html b/docs/next/api/geoprocessing/functions/chunk/index.html index af81e486b..892322ad5 100644 --- a/docs/next/api/geoprocessing/functions/chunk/index.html +++ b/docs/next/api/geoprocessing/functions/chunk/index.html @@ -4,7 +4,7 @@ chunk() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/functions/classIdMapping/index.html b/docs/next/api/geoprocessing/functions/classIdMapping/index.html index c9e69a7d8..5bdf27c34 100644 --- a/docs/next/api/geoprocessing/functions/classIdMapping/index.html +++ b/docs/next/api/geoprocessing/functions/classIdMapping/index.html @@ -4,7 +4,7 @@ classIdMapping() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/functions/classifyMPA/index.html b/docs/next/api/geoprocessing/functions/classifyMPA/index.html index 1f783befd..3c423954c 100644 --- a/docs/next/api/geoprocessing/functions/classifyMPA/index.html +++ b/docs/next/api/geoprocessing/functions/classifyMPA/index.html @@ -4,7 +4,7 @@ classifyMPA() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/functions/classifyZone/index.html b/docs/next/api/geoprocessing/functions/classifyZone/index.html index db294bc09..702cdf1d4 100644 --- a/docs/next/api/geoprocessing/functions/classifyZone/index.html +++ b/docs/next/api/geoprocessing/functions/classifyZone/index.html @@ -4,7 +4,7 @@ classifyZone() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/functions/cleanBBox/index.html b/docs/next/api/geoprocessing/functions/cleanBBox/index.html index e4e044b8f..f838a7e6e 100644 --- a/docs/next/api/geoprocessing/functions/cleanBBox/index.html +++ b/docs/next/api/geoprocessing/functions/cleanBBox/index.html @@ -4,7 +4,7 @@ cleanBBox() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/functions/cleanCoords/index.html b/docs/next/api/geoprocessing/functions/cleanCoords/index.html index c9591b7db..e5726c0b9 100644 --- a/docs/next/api/geoprocessing/functions/cleanCoords/index.html +++ b/docs/next/api/geoprocessing/functions/cleanCoords/index.html @@ -4,7 +4,7 @@ cleanCoords() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/functions/clip/index.html b/docs/next/api/geoprocessing/functions/clip/index.html index a890ee394..1fb8ce00e 100644 --- a/docs/next/api/geoprocessing/functions/clip/index.html +++ b/docs/next/api/geoprocessing/functions/clip/index.html @@ -4,7 +4,7 @@ clip() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/functions/clipMultiMerge/index.html b/docs/next/api/geoprocessing/functions/clipMultiMerge/index.html index 08a61d76a..451c1bd94 100644 --- a/docs/next/api/geoprocessing/functions/clipMultiMerge/index.html +++ b/docs/next/api/geoprocessing/functions/clipMultiMerge/index.html @@ -4,7 +4,7 @@ clipMultiMerge() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/functions/clipToPolygonDatasources/index.html b/docs/next/api/geoprocessing/functions/clipToPolygonDatasources/index.html index 6d233b400..d896154e8 100644 --- a/docs/next/api/geoprocessing/functions/clipToPolygonDatasources/index.html +++ b/docs/next/api/geoprocessing/functions/clipToPolygonDatasources/index.html @@ -4,7 +4,7 @@ clipToPolygonDatasources() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/functions/clipToPolygonFeatures/index.html b/docs/next/api/geoprocessing/functions/clipToPolygonFeatures/index.html index 0df6f2939..bbda9258d 100644 --- a/docs/next/api/geoprocessing/functions/clipToPolygonFeatures/index.html +++ b/docs/next/api/geoprocessing/functions/clipToPolygonFeatures/index.html @@ -4,7 +4,7 @@ clipToPolygonFeatures() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/functions/collectionHasGeometry/index.html b/docs/next/api/geoprocessing/functions/collectionHasGeometry/index.html index 72feb8cb8..80558eb83 100644 --- a/docs/next/api/geoprocessing/functions/collectionHasGeometry/index.html +++ b/docs/next/api/geoprocessing/functions/collectionHasGeometry/index.html @@ -4,7 +4,7 @@ collectionHasGeometry() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/functions/createMetric/index.html b/docs/next/api/geoprocessing/functions/createMetric/index.html index 80c7b7236..abf145888 100644 --- a/docs/next/api/geoprocessing/functions/createMetric/index.html +++ b/docs/next/api/geoprocessing/functions/createMetric/index.html @@ -4,7 +4,7 @@ createMetric() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/functions/createMetrics/index.html b/docs/next/api/geoprocessing/functions/createMetrics/index.html index 58515f23f..db3628dbb 100644 --- a/docs/next/api/geoprocessing/functions/createMetrics/index.html +++ b/docs/next/api/geoprocessing/functions/createMetrics/index.html @@ -4,7 +4,7 @@ createMetrics() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/functions/ensureValidPolygon/index.html b/docs/next/api/geoprocessing/functions/ensureValidPolygon/index.html index 7ebb14b32..b4032de14 100644 --- a/docs/next/api/geoprocessing/functions/ensureValidPolygon/index.html +++ b/docs/next/api/geoprocessing/functions/ensureValidPolygon/index.html @@ -4,7 +4,7 @@ ensureValidPolygon() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/functions/featureToSketch/index.html b/docs/next/api/geoprocessing/functions/featureToSketch/index.html index 8ea376914..21a68d56f 100644 --- a/docs/next/api/geoprocessing/functions/featureToSketch/index.html +++ b/docs/next/api/geoprocessing/functions/featureToSketch/index.html @@ -4,7 +4,7 @@ featureToSketch() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/functions/featureToSketchCollection/index.html b/docs/next/api/geoprocessing/functions/featureToSketchCollection/index.html index 8847e6888..3bc12705e 100644 --- a/docs/next/api/geoprocessing/functions/featureToSketchCollection/index.html +++ b/docs/next/api/geoprocessing/functions/featureToSketchCollection/index.html @@ -4,7 +4,7 @@ featureToSketchCollection() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/functions/fetchGeoJSON/index.html b/docs/next/api/geoprocessing/functions/fetchGeoJSON/index.html index 87a8e6f0b..6038d9821 100644 --- a/docs/next/api/geoprocessing/functions/fetchGeoJSON/index.html +++ b/docs/next/api/geoprocessing/functions/fetchGeoJSON/index.html @@ -4,7 +4,7 @@ fetchGeoJSON() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/functions/fgBoundingBox/index.html b/docs/next/api/geoprocessing/functions/fgBoundingBox/index.html index b2a1aa16f..51da4339e 100644 --- a/docs/next/api/geoprocessing/functions/fgBoundingBox/index.html +++ b/docs/next/api/geoprocessing/functions/fgBoundingBox/index.html @@ -4,7 +4,7 @@ fgBoundingBox() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/functions/fgbFetchAll/index.html b/docs/next/api/geoprocessing/functions/fgbFetchAll/index.html index 737808496..1b3f9598f 100644 --- a/docs/next/api/geoprocessing/functions/fgbFetchAll/index.html +++ b/docs/next/api/geoprocessing/functions/fgbFetchAll/index.html @@ -4,7 +4,7 @@ ~~fgbFetchAll()~~ | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/functions/findAndUpdateMetricValue/index.html b/docs/next/api/geoprocessing/functions/findAndUpdateMetricValue/index.html index 63a8ab8b7..0cdb88eb4 100644 --- a/docs/next/api/geoprocessing/functions/findAndUpdateMetricValue/index.html +++ b/docs/next/api/geoprocessing/functions/findAndUpdateMetricValue/index.html @@ -4,7 +4,7 @@ findAndUpdateMetricValue() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/functions/firstMatching/index.html b/docs/next/api/geoprocessing/functions/firstMatching/index.html index cfd5fdd5f..9d63f2619 100644 --- a/docs/next/api/geoprocessing/functions/firstMatching/index.html +++ b/docs/next/api/geoprocessing/functions/firstMatching/index.html @@ -4,7 +4,7 @@ firstMatching() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/functions/firstMatchingMetric/index.html b/docs/next/api/geoprocessing/functions/firstMatchingMetric/index.html index 7f436ba40..f7f7bc60d 100644 --- a/docs/next/api/geoprocessing/functions/firstMatchingMetric/index.html +++ b/docs/next/api/geoprocessing/functions/firstMatchingMetric/index.html @@ -4,7 +4,7 @@ firstMatchingMetric() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/functions/flattenByGroupAllClass/index.html b/docs/next/api/geoprocessing/functions/flattenByGroupAllClass/index.html index af14e95c4..3899ed4c5 100644 --- a/docs/next/api/geoprocessing/functions/flattenByGroupAllClass/index.html +++ b/docs/next/api/geoprocessing/functions/flattenByGroupAllClass/index.html @@ -4,7 +4,7 @@ flattenByGroupAllClass() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/functions/flattenByGroupSketchAllClass/index.html b/docs/next/api/geoprocessing/functions/flattenByGroupSketchAllClass/index.html index c77f95835..8cdfdb03b 100644 --- a/docs/next/api/geoprocessing/functions/flattenByGroupSketchAllClass/index.html +++ b/docs/next/api/geoprocessing/functions/flattenByGroupSketchAllClass/index.html @@ -4,7 +4,7 @@ flattenByGroupSketchAllClass() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/functions/flattenBySketchAllClass/index.html b/docs/next/api/geoprocessing/functions/flattenBySketchAllClass/index.html index 35a047a8c..8371acaab 100644 --- a/docs/next/api/geoprocessing/functions/flattenBySketchAllClass/index.html +++ b/docs/next/api/geoprocessing/functions/flattenBySketchAllClass/index.html @@ -4,7 +4,7 @@ flattenBySketchAllClass() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/functions/flattenSketchAllId/index.html b/docs/next/api/geoprocessing/functions/flattenSketchAllId/index.html index dff9b3830..5326bb8b5 100644 --- a/docs/next/api/geoprocessing/functions/flattenSketchAllId/index.html +++ b/docs/next/api/geoprocessing/functions/flattenSketchAllId/index.html @@ -4,7 +4,7 @@ ~~flattenSketchAllId()~~ | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/functions/gearTypeScore/index.html b/docs/next/api/geoprocessing/functions/gearTypeScore/index.html index c1a4c2547..2aa6066e5 100644 --- a/docs/next/api/geoprocessing/functions/gearTypeScore/index.html +++ b/docs/next/api/geoprocessing/functions/gearTypeScore/index.html @@ -4,7 +4,7 @@ gearTypeScore() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/functions/genClipLoader/index.html b/docs/next/api/geoprocessing/functions/genClipLoader/index.html index 530cf01d7..93d0c6c36 100644 --- a/docs/next/api/geoprocessing/functions/genClipLoader/index.html +++ b/docs/next/api/geoprocessing/functions/genClipLoader/index.html @@ -4,7 +4,7 @@ ~~genClipLoader()~~ | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/functions/genClipToPolygonDatasources/index.html b/docs/next/api/geoprocessing/functions/genClipToPolygonDatasources/index.html index 2a1ba9b64..10dc04209 100644 --- a/docs/next/api/geoprocessing/functions/genClipToPolygonDatasources/index.html +++ b/docs/next/api/geoprocessing/functions/genClipToPolygonDatasources/index.html @@ -4,7 +4,7 @@ genClipToPolygonDatasources() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/functions/genClipToPolygonFeatures/index.html b/docs/next/api/geoprocessing/functions/genClipToPolygonFeatures/index.html index f96e6b426..4200ac1db 100644 --- a/docs/next/api/geoprocessing/functions/genClipToPolygonFeatures/index.html +++ b/docs/next/api/geoprocessing/functions/genClipToPolygonFeatures/index.html @@ -4,7 +4,7 @@ genClipToPolygonFeatures() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/functions/genFeature/index.html b/docs/next/api/geoprocessing/functions/genFeature/index.html index 483112561..738b37175 100644 --- a/docs/next/api/geoprocessing/functions/genFeature/index.html +++ b/docs/next/api/geoprocessing/functions/genFeature/index.html @@ -4,7 +4,7 @@ genFeature() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/functions/genFeatureCollection/index.html b/docs/next/api/geoprocessing/functions/genFeatureCollection/index.html index b5014e7f4..32e9a31f3 100644 --- a/docs/next/api/geoprocessing/functions/genFeatureCollection/index.html +++ b/docs/next/api/geoprocessing/functions/genFeatureCollection/index.html @@ -4,7 +4,7 @@ genFeatureCollection() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/functions/genRandomPolygons/index.html b/docs/next/api/geoprocessing/functions/genRandomPolygons/index.html index 3e2ef1588..e38b72994 100644 --- a/docs/next/api/geoprocessing/functions/genRandomPolygons/index.html +++ b/docs/next/api/geoprocessing/functions/genRandomPolygons/index.html @@ -4,7 +4,7 @@ genRandomPolygons() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/functions/genSampleNullSketch/index.html b/docs/next/api/geoprocessing/functions/genSampleNullSketch/index.html index 1680808ad..b36a5a7ac 100644 --- a/docs/next/api/geoprocessing/functions/genSampleNullSketch/index.html +++ b/docs/next/api/geoprocessing/functions/genSampleNullSketch/index.html @@ -4,7 +4,7 @@ genSampleNullSketch() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/functions/genSampleNullSketchCollection/index.html b/docs/next/api/geoprocessing/functions/genSampleNullSketchCollection/index.html index cf2f61b1b..969584160 100644 --- a/docs/next/api/geoprocessing/functions/genSampleNullSketchCollection/index.html +++ b/docs/next/api/geoprocessing/functions/genSampleNullSketchCollection/index.html @@ -4,7 +4,7 @@ genSampleNullSketchCollection() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/functions/genSampleSketch/index.html b/docs/next/api/geoprocessing/functions/genSampleSketch/index.html index 7434c6701..99e7ffac5 100644 --- a/docs/next/api/geoprocessing/functions/genSampleSketch/index.html +++ b/docs/next/api/geoprocessing/functions/genSampleSketch/index.html @@ -4,7 +4,7 @@ genSampleSketch() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/functions/genSampleSketchCollection/index.html b/docs/next/api/geoprocessing/functions/genSampleSketchCollection/index.html index 38eead9d9..ab25792ca 100644 --- a/docs/next/api/geoprocessing/functions/genSampleSketchCollection/index.html +++ b/docs/next/api/geoprocessing/functions/genSampleSketchCollection/index.html @@ -4,7 +4,7 @@ genSampleSketchCollection() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/functions/genSampleSketchCollectionFromSketches/index.html b/docs/next/api/geoprocessing/functions/genSampleSketchCollectionFromSketches/index.html index b453cbd73..9e357e799 100644 --- a/docs/next/api/geoprocessing/functions/genSampleSketchCollectionFromSketches/index.html +++ b/docs/next/api/geoprocessing/functions/genSampleSketchCollectionFromSketches/index.html @@ -4,7 +4,7 @@ genSampleSketchCollectionFromSketches() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/functions/genSampleSketchContext/index.html b/docs/next/api/geoprocessing/functions/genSampleSketchContext/index.html index d1a09c474..7fe642080 100644 --- a/docs/next/api/geoprocessing/functions/genSampleSketchContext/index.html +++ b/docs/next/api/geoprocessing/functions/genSampleSketchContext/index.html @@ -4,7 +4,7 @@ genSampleSketchContext() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/functions/genSampleUserAttributes/index.html b/docs/next/api/geoprocessing/functions/genSampleUserAttributes/index.html index b79cb8145..8ffe9b396 100644 --- a/docs/next/api/geoprocessing/functions/genSampleUserAttributes/index.html +++ b/docs/next/api/geoprocessing/functions/genSampleUserAttributes/index.html @@ -4,7 +4,7 @@ genSampleUserAttributes() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/functions/genSketch/index.html b/docs/next/api/geoprocessing/functions/genSketch/index.html index cf1c55397..4be5af665 100644 --- a/docs/next/api/geoprocessing/functions/genSketch/index.html +++ b/docs/next/api/geoprocessing/functions/genSketch/index.html @@ -4,7 +4,7 @@ genSketch() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/functions/genSketchCollection/index.html b/docs/next/api/geoprocessing/functions/genSketchCollection/index.html index 53c8d7fdd..3a4086430 100644 --- a/docs/next/api/geoprocessing/functions/genSketchCollection/index.html +++ b/docs/next/api/geoprocessing/functions/genSketchCollection/index.html @@ -4,7 +4,7 @@ genSketchCollection() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/functions/genTaskCacheKey/index.html b/docs/next/api/geoprocessing/functions/genTaskCacheKey/index.html index 150868b6d..acd88d19a 100644 --- a/docs/next/api/geoprocessing/functions/genTaskCacheKey/index.html +++ b/docs/next/api/geoprocessing/functions/genTaskCacheKey/index.html @@ -4,7 +4,7 @@ genTaskCacheKey() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/functions/genZodErrorMessage/index.html b/docs/next/api/geoprocessing/functions/genZodErrorMessage/index.html index f4abb3f0b..ea6d1b95e 100644 --- a/docs/next/api/geoprocessing/functions/genZodErrorMessage/index.html +++ b/docs/next/api/geoprocessing/functions/genZodErrorMessage/index.html @@ -4,7 +4,7 @@ genZodErrorMessage() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/functions/getArea/index.html b/docs/next/api/geoprocessing/functions/getArea/index.html index 68bb8df3c..3563988b4 100644 --- a/docs/next/api/geoprocessing/functions/getArea/index.html +++ b/docs/next/api/geoprocessing/functions/getArea/index.html @@ -4,7 +4,7 @@ getArea() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/functions/getClassificationLabel/index.html b/docs/next/api/geoprocessing/functions/getClassificationLabel/index.html index 747af8926..400e63e2c 100644 --- a/docs/next/api/geoprocessing/functions/getClassificationLabel/index.html +++ b/docs/next/api/geoprocessing/functions/getClassificationLabel/index.html @@ -4,7 +4,7 @@ getClassificationLabel() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/functions/getCogFilename/index.html b/docs/next/api/geoprocessing/functions/getCogFilename/index.html index ae22036ba..8128039a4 100644 --- a/docs/next/api/geoprocessing/functions/getCogFilename/index.html +++ b/docs/next/api/geoprocessing/functions/getCogFilename/index.html @@ -4,7 +4,7 @@ getCogFilename() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/functions/getDatasetBucketName/index.html b/docs/next/api/geoprocessing/functions/getDatasetBucketName/index.html index fbd76b36e..a4b8c4557 100644 --- a/docs/next/api/geoprocessing/functions/getDatasetBucketName/index.html +++ b/docs/next/api/geoprocessing/functions/getDatasetBucketName/index.html @@ -4,7 +4,7 @@ getDatasetBucketName() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/functions/getDatasourceById/index.html b/docs/next/api/geoprocessing/functions/getDatasourceById/index.html index f430043a4..00d390bac 100644 --- a/docs/next/api/geoprocessing/functions/getDatasourceById/index.html +++ b/docs/next/api/geoprocessing/functions/getDatasourceById/index.html @@ -4,7 +4,7 @@ getDatasourceById() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/functions/getExternalRasterDatasourceById/index.html b/docs/next/api/geoprocessing/functions/getExternalRasterDatasourceById/index.html index 3d2db9996..492627239 100644 --- a/docs/next/api/geoprocessing/functions/getExternalRasterDatasourceById/index.html +++ b/docs/next/api/geoprocessing/functions/getExternalRasterDatasourceById/index.html @@ -4,7 +4,7 @@ getExternalRasterDatasourceById() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/functions/getExternalVectorDatasourceById/index.html b/docs/next/api/geoprocessing/functions/getExternalVectorDatasourceById/index.html index 3014ef106..6ee9cdcd1 100644 --- a/docs/next/api/geoprocessing/functions/getExternalVectorDatasourceById/index.html +++ b/docs/next/api/geoprocessing/functions/getExternalVectorDatasourceById/index.html @@ -4,7 +4,7 @@ getExternalVectorDatasourceById() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/functions/getFeatures/index.html b/docs/next/api/geoprocessing/functions/getFeatures/index.html index d0238b544..c2735ef7f 100644 --- a/docs/next/api/geoprocessing/functions/getFeatures/index.html +++ b/docs/next/api/geoprocessing/functions/getFeatures/index.html @@ -4,7 +4,7 @@ getFeatures() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/functions/getFeaturesForSketchBBoxes/index.html b/docs/next/api/geoprocessing/functions/getFeaturesForSketchBBoxes/index.html index 99dfd5721..63beb56e9 100644 --- a/docs/next/api/geoprocessing/functions/getFeaturesForSketchBBoxes/index.html +++ b/docs/next/api/geoprocessing/functions/getFeaturesForSketchBBoxes/index.html @@ -4,12 +4,12 @@ getFeaturesForSketchBBoxes() | SeaSketch Geoprocessing - +
    Version: Next

    getFeaturesForSketchBBoxes()

    -
    function getFeaturesForSketchBBoxes(
    sketch,
    fgbUrl,
    uniqueIdProperty?): Promise<Feature<Polygon | MultiPolygon, GeoJsonProperties>[]>
    +
    function getFeaturesForSketchBBoxes(
    sketch,
    fgbUrl,
    options): Promise<Feature<Polygon | MultiPolygon, GeoJsonProperties>[]>

    Loads features from a FlatGeobuf referenced by URL, which intersect the bounding boxes of each individual sketch in a SketchCollection, or a single Sketch.

    @@ -23,7 +23,7 @@ is the potential for elimination of features that are geometrically identical but have different properties.

    Parameters

    -
    ParameterTypeDescription
    sketchSketch<SketchGeometryTypes> | SketchCollection<SketchGeometryTypes>Sketch or SketchCollection
    fgbUrlstringFlatGeobuf location
    uniqueIdProperty?stringUsed to de-dupe features when feature.id is not available
    +
    ParameterTypeDescription
    sketchSketch<SketchGeometryTypes> | SketchCollection<SketchGeometryTypes>Sketch or SketchCollection
    fgbUrlstringFlatGeobuf location
    optionsobject-
    options.uniqueIdProperty?string-

    Returns

    Promise<Feature<Polygon | MultiPolygon, GeoJsonProperties>[]>

    array of Features

    diff --git a/docs/next/api/geoprocessing/functions/getFirstFromParam/index.html b/docs/next/api/geoprocessing/functions/getFirstFromParam/index.html index bd5e3b708..dd5dcbc2f 100644 --- a/docs/next/api/geoprocessing/functions/getFirstFromParam/index.html +++ b/docs/next/api/geoprocessing/functions/getFirstFromParam/index.html @@ -4,7 +4,7 @@ getFirstFromParam() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/functions/getFlatGeobufFilename/index.html b/docs/next/api/geoprocessing/functions/getFlatGeobufFilename/index.html index dc82fd87b..aa9135816 100644 --- a/docs/next/api/geoprocessing/functions/getFlatGeobufFilename/index.html +++ b/docs/next/api/geoprocessing/functions/getFlatGeobufFilename/index.html @@ -4,7 +4,7 @@ getFlatGeobufFilename() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/functions/getFlatGeobufPath/index.html b/docs/next/api/geoprocessing/functions/getFlatGeobufPath/index.html index 32cd9068f..056c50a8e 100644 --- a/docs/next/api/geoprocessing/functions/getFlatGeobufPath/index.html +++ b/docs/next/api/geoprocessing/functions/getFlatGeobufPath/index.html @@ -4,7 +4,7 @@ getFlatGeobufPath() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/functions/getGeopackagePath/index.html b/docs/next/api/geoprocessing/functions/getGeopackagePath/index.html index e89c15980..2db3683b1 100644 --- a/docs/next/api/geoprocessing/functions/getGeopackagePath/index.html +++ b/docs/next/api/geoprocessing/functions/getGeopackagePath/index.html @@ -4,7 +4,7 @@ getGeopackagePath() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/functions/getHistogram/index.html b/docs/next/api/geoprocessing/functions/getHistogram/index.html index 9f2b5d03f..5a69072f0 100644 --- a/docs/next/api/geoprocessing/functions/getHistogram/index.html +++ b/docs/next/api/geoprocessing/functions/getHistogram/index.html @@ -4,7 +4,7 @@ getHistogram() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/functions/getIndexIconPerc/index.html b/docs/next/api/geoprocessing/functions/getIndexIconPerc/index.html index 1192009d0..487fffb06 100644 --- a/docs/next/api/geoprocessing/functions/getIndexIconPerc/index.html +++ b/docs/next/api/geoprocessing/functions/getIndexIconPerc/index.html @@ -4,7 +4,7 @@ getIndexIconPerc() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/functions/getInternalRasterDatasourceById/index.html b/docs/next/api/geoprocessing/functions/getInternalRasterDatasourceById/index.html index 29bd9cd24..85ca48e65 100644 --- a/docs/next/api/geoprocessing/functions/getInternalRasterDatasourceById/index.html +++ b/docs/next/api/geoprocessing/functions/getInternalRasterDatasourceById/index.html @@ -4,7 +4,7 @@ getInternalRasterDatasourceById() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/functions/getInternalVectorDatasourceById/index.html b/docs/next/api/geoprocessing/functions/getInternalVectorDatasourceById/index.html index 75d6971bc..2fb00804b 100644 --- a/docs/next/api/geoprocessing/functions/getInternalVectorDatasourceById/index.html +++ b/docs/next/api/geoprocessing/functions/getInternalVectorDatasourceById/index.html @@ -4,7 +4,7 @@ getInternalVectorDatasourceById() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/functions/getIucnCategoryForActivities/index.html b/docs/next/api/geoprocessing/functions/getIucnCategoryForActivities/index.html index 63affedc8..8ff99dc02 100644 --- a/docs/next/api/geoprocessing/functions/getIucnCategoryForActivities/index.html +++ b/docs/next/api/geoprocessing/functions/getIucnCategoryForActivities/index.html @@ -4,7 +4,7 @@ getIucnCategoryForActivities() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/functions/getIucnCategoryForSketches/index.html b/docs/next/api/geoprocessing/functions/getIucnCategoryForSketches/index.html index f86d57d27..057b2e5ab 100644 --- a/docs/next/api/geoprocessing/functions/getIucnCategoryForSketches/index.html +++ b/docs/next/api/geoprocessing/functions/getIucnCategoryForSketches/index.html @@ -4,7 +4,7 @@ getIucnCategoryForSketches() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/functions/getIucnCategoryNameForSketches/index.html b/docs/next/api/geoprocessing/functions/getIucnCategoryNameForSketches/index.html index e0e802510..fa707a464 100644 --- a/docs/next/api/geoprocessing/functions/getIucnCategoryNameForSketches/index.html +++ b/docs/next/api/geoprocessing/functions/getIucnCategoryNameForSketches/index.html @@ -4,7 +4,7 @@ getIucnCategoryNameForSketches() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/functions/getIucnLevelNameForSketches/index.html b/docs/next/api/geoprocessing/functions/getIucnLevelNameForSketches/index.html index 419dc06ef..5f182f22b 100644 --- a/docs/next/api/geoprocessing/functions/getIucnLevelNameForSketches/index.html +++ b/docs/next/api/geoprocessing/functions/getIucnLevelNameForSketches/index.html @@ -4,7 +4,7 @@ getIucnLevelNameForSketches() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/functions/getJsonFilename/index.html b/docs/next/api/geoprocessing/functions/getJsonFilename/index.html index de66c494b..e90c59df4 100644 --- a/docs/next/api/geoprocessing/functions/getJsonFilename/index.html +++ b/docs/next/api/geoprocessing/functions/getJsonFilename/index.html @@ -4,7 +4,7 @@ getJsonFilename() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/functions/getJsonPath/index.html b/docs/next/api/geoprocessing/functions/getJsonPath/index.html index 2989da492..ce663c675 100644 --- a/docs/next/api/geoprocessing/functions/getJsonPath/index.html +++ b/docs/next/api/geoprocessing/functions/getJsonPath/index.html @@ -4,7 +4,7 @@ getJsonPath() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/functions/getJsonUserAttribute/index.html b/docs/next/api/geoprocessing/functions/getJsonUserAttribute/index.html index ada9d0fc1..57574c09d 100644 --- a/docs/next/api/geoprocessing/functions/getJsonUserAttribute/index.html +++ b/docs/next/api/geoprocessing/functions/getJsonUserAttribute/index.html @@ -4,7 +4,7 @@ getJsonUserAttribute() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/functions/getKeys/index.html b/docs/next/api/geoprocessing/functions/getKeys/index.html index 3fd7880e1..4abad55cc 100644 --- a/docs/next/api/geoprocessing/functions/getKeys/index.html +++ b/docs/next/api/geoprocessing/functions/getKeys/index.html @@ -4,7 +4,7 @@ getKeys() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/functions/getMetricGroupObjectiveId/index.html b/docs/next/api/geoprocessing/functions/getMetricGroupObjectiveId/index.html index b8a350e06..4813ffbca 100644 --- a/docs/next/api/geoprocessing/functions/getMetricGroupObjectiveId/index.html +++ b/docs/next/api/geoprocessing/functions/getMetricGroupObjectiveId/index.html @@ -4,7 +4,7 @@ getMetricGroupObjectiveId() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/functions/getMetricGroupObjectiveIds/index.html b/docs/next/api/geoprocessing/functions/getMetricGroupObjectiveIds/index.html index 4eeb97279..adfe101cd 100644 --- a/docs/next/api/geoprocessing/functions/getMetricGroupObjectiveIds/index.html +++ b/docs/next/api/geoprocessing/functions/getMetricGroupObjectiveIds/index.html @@ -4,7 +4,7 @@ getMetricGroupObjectiveIds() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/functions/getMinYesCountMap/index.html b/docs/next/api/geoprocessing/functions/getMinYesCountMap/index.html index f49c9dbae..939a021e5 100644 --- a/docs/next/api/geoprocessing/functions/getMinYesCountMap/index.html +++ b/docs/next/api/geoprocessing/functions/getMinYesCountMap/index.html @@ -4,7 +4,7 @@ getMinYesCountMap() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/functions/getMpaClassificationName/index.html b/docs/next/api/geoprocessing/functions/getMpaClassificationName/index.html index 51ce803c3..ec1f282d2 100644 --- a/docs/next/api/geoprocessing/functions/getMpaClassificationName/index.html +++ b/docs/next/api/geoprocessing/functions/getMpaClassificationName/index.html @@ -4,7 +4,7 @@ getMpaClassificationName() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/functions/getObjectiveById/index.html b/docs/next/api/geoprocessing/functions/getObjectiveById/index.html index 0dc73fa06..4c8ceae13 100644 --- a/docs/next/api/geoprocessing/functions/getObjectiveById/index.html +++ b/docs/next/api/geoprocessing/functions/getObjectiveById/index.html @@ -4,7 +4,7 @@ getObjectiveById() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/functions/getParamStringArray/index.html b/docs/next/api/geoprocessing/functions/getParamStringArray/index.html index ce4a6ba8c..34292e322 100644 --- a/docs/next/api/geoprocessing/functions/getParamStringArray/index.html +++ b/docs/next/api/geoprocessing/functions/getParamStringArray/index.html @@ -4,7 +4,7 @@ getParamStringArray() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/functions/getRasterBoxSpherical/index.html b/docs/next/api/geoprocessing/functions/getRasterBoxSpherical/index.html index 464e35fcb..3f2982c3a 100644 --- a/docs/next/api/geoprocessing/functions/getRasterBoxSpherical/index.html +++ b/docs/next/api/geoprocessing/functions/getRasterBoxSpherical/index.html @@ -4,7 +4,7 @@ getRasterBoxSpherical() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/functions/getRasterDatasourceById/index.html b/docs/next/api/geoprocessing/functions/getRasterDatasourceById/index.html index cc2d1ce24..f38cafadb 100644 --- a/docs/next/api/geoprocessing/functions/getRasterDatasourceById/index.html +++ b/docs/next/api/geoprocessing/functions/getRasterDatasourceById/index.html @@ -4,7 +4,7 @@ getRasterDatasourceById() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/functions/getSketchCollectionChildIds/index.html b/docs/next/api/geoprocessing/functions/getSketchCollectionChildIds/index.html index d9acceecf..2f7383bc9 100644 --- a/docs/next/api/geoprocessing/functions/getSketchCollectionChildIds/index.html +++ b/docs/next/api/geoprocessing/functions/getSketchCollectionChildIds/index.html @@ -4,7 +4,7 @@ ~~getSketchCollectionChildIds()~~ | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/functions/getSketchFeatures/index.html b/docs/next/api/geoprocessing/functions/getSketchFeatures/index.html index 6084cc799..3d1f93ada 100644 --- a/docs/next/api/geoprocessing/functions/getSketchFeatures/index.html +++ b/docs/next/api/geoprocessing/functions/getSketchFeatures/index.html @@ -4,7 +4,7 @@ getSketchFeatures() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/functions/getSketchToMpaProtectionLevel/index.html b/docs/next/api/geoprocessing/functions/getSketchToMpaProtectionLevel/index.html index 16ae1eb9a..5e0dc28b4 100644 --- a/docs/next/api/geoprocessing/functions/getSketchToMpaProtectionLevel/index.html +++ b/docs/next/api/geoprocessing/functions/getSketchToMpaProtectionLevel/index.html @@ -4,7 +4,7 @@ getSketchToMpaProtectionLevel() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/functions/getSum/index.html b/docs/next/api/geoprocessing/functions/getSum/index.html index 76724cd8f..15155396c 100644 --- a/docs/next/api/geoprocessing/functions/getSum/index.html +++ b/docs/next/api/geoprocessing/functions/getSum/index.html @@ -4,7 +4,7 @@ getSum() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/functions/getUserAttribute/index.html b/docs/next/api/geoprocessing/functions/getUserAttribute/index.html index 95b65b1c3..b89d043d5 100644 --- a/docs/next/api/geoprocessing/functions/getUserAttribute/index.html +++ b/docs/next/api/geoprocessing/functions/getUserAttribute/index.html @@ -4,7 +4,7 @@ getUserAttribute() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/functions/getVectorDatasourceById/index.html b/docs/next/api/geoprocessing/functions/getVectorDatasourceById/index.html index fb8f27bf4..5c4c2a919 100644 --- a/docs/next/api/geoprocessing/functions/getVectorDatasourceById/index.html +++ b/docs/next/api/geoprocessing/functions/getVectorDatasourceById/index.html @@ -4,7 +4,7 @@ getVectorDatasourceById() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/functions/getZoneClassificationName/index.html b/docs/next/api/geoprocessing/functions/getZoneClassificationName/index.html index e6d85306a..45d8a62a0 100644 --- a/docs/next/api/geoprocessing/functions/getZoneClassificationName/index.html +++ b/docs/next/api/geoprocessing/functions/getZoneClassificationName/index.html @@ -4,7 +4,7 @@ getZoneClassificationName() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/functions/groupBy/index.html b/docs/next/api/geoprocessing/functions/groupBy/index.html index e92cc67d4..1f515d3d6 100644 --- a/docs/next/api/geoprocessing/functions/groupBy/index.html +++ b/docs/next/api/geoprocessing/functions/groupBy/index.html @@ -4,7 +4,7 @@ groupBy() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/functions/hasOwnProperty/index.html b/docs/next/api/geoprocessing/functions/hasOwnProperty/index.html index c0f1c4544..3bc2c9e1e 100644 --- a/docs/next/api/geoprocessing/functions/hasOwnProperty/index.html +++ b/docs/next/api/geoprocessing/functions/hasOwnProperty/index.html @@ -4,7 +4,7 @@ hasOwnProperty() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/functions/includeVirtualSketch/index.html b/docs/next/api/geoprocessing/functions/includeVirtualSketch/index.html index d52dff36f..148170c7c 100644 --- a/docs/next/api/geoprocessing/functions/includeVirtualSketch/index.html +++ b/docs/next/api/geoprocessing/functions/includeVirtualSketch/index.html @@ -4,7 +4,7 @@ includeVirtualSketch() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/functions/intersectInChunks/index.html b/docs/next/api/geoprocessing/functions/intersectInChunks/index.html index cd37fabab..66171dff6 100644 --- a/docs/next/api/geoprocessing/functions/intersectInChunks/index.html +++ b/docs/next/api/geoprocessing/functions/intersectInChunks/index.html @@ -4,7 +4,7 @@ intersectInChunks() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/functions/intersectInChunksArea/index.html b/docs/next/api/geoprocessing/functions/intersectInChunksArea/index.html index b48f3364c..4a740c2b3 100644 --- a/docs/next/api/geoprocessing/functions/intersectInChunksArea/index.html +++ b/docs/next/api/geoprocessing/functions/intersectInChunksArea/index.html @@ -4,7 +4,7 @@ intersectInChunksArea() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/functions/intersectSum/index.html b/docs/next/api/geoprocessing/functions/intersectSum/index.html index fe724bb34..0407ca0b2 100644 --- a/docs/next/api/geoprocessing/functions/intersectSum/index.html +++ b/docs/next/api/geoprocessing/functions/intersectSum/index.html @@ -4,7 +4,7 @@ intersectSum() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/functions/isExternalDatasource/index.html b/docs/next/api/geoprocessing/functions/isExternalDatasource/index.html index 75f64fd19..aaa4e1fd6 100644 --- a/docs/next/api/geoprocessing/functions/isExternalDatasource/index.html +++ b/docs/next/api/geoprocessing/functions/isExternalDatasource/index.html @@ -4,7 +4,7 @@ isExternalDatasource() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/functions/isExternalRasterDatasource/index.html b/docs/next/api/geoprocessing/functions/isExternalRasterDatasource/index.html index 2c6fbf815..0db1e9f9c 100644 --- a/docs/next/api/geoprocessing/functions/isExternalRasterDatasource/index.html +++ b/docs/next/api/geoprocessing/functions/isExternalRasterDatasource/index.html @@ -4,7 +4,7 @@ isExternalRasterDatasource() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/functions/isExternalVectorDatasource/index.html b/docs/next/api/geoprocessing/functions/isExternalVectorDatasource/index.html index e67dab1b4..2fdf578ac 100644 --- a/docs/next/api/geoprocessing/functions/isExternalVectorDatasource/index.html +++ b/docs/next/api/geoprocessing/functions/isExternalVectorDatasource/index.html @@ -4,7 +4,7 @@ isExternalVectorDatasource() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/functions/isFeature/index.html b/docs/next/api/geoprocessing/functions/isFeature/index.html index dbb97697f..f16e74290 100644 --- a/docs/next/api/geoprocessing/functions/isFeature/index.html +++ b/docs/next/api/geoprocessing/functions/isFeature/index.html @@ -4,7 +4,7 @@ isFeature() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/functions/isFeatureCollection/index.html b/docs/next/api/geoprocessing/functions/isFeatureCollection/index.html index d26c48d85..72bad3714 100644 --- a/docs/next/api/geoprocessing/functions/isFeatureCollection/index.html +++ b/docs/next/api/geoprocessing/functions/isFeatureCollection/index.html @@ -4,7 +4,7 @@ isFeatureCollection() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/functions/isGeometry/index.html b/docs/next/api/geoprocessing/functions/isGeometry/index.html index 9eb2a9d62..ff2462344 100644 --- a/docs/next/api/geoprocessing/functions/isGeometry/index.html +++ b/docs/next/api/geoprocessing/functions/isGeometry/index.html @@ -4,7 +4,7 @@ isGeometry() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/functions/isImportRasterDatasourceConfig/index.html b/docs/next/api/geoprocessing/functions/isImportRasterDatasourceConfig/index.html index 10ca3695a..95384b683 100644 --- a/docs/next/api/geoprocessing/functions/isImportRasterDatasourceConfig/index.html +++ b/docs/next/api/geoprocessing/functions/isImportRasterDatasourceConfig/index.html @@ -4,7 +4,7 @@ isImportRasterDatasourceConfig() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/functions/isImportVectorDatasourceConfig/index.html b/docs/next/api/geoprocessing/functions/isImportVectorDatasourceConfig/index.html index cb9812e1e..eb9040a56 100644 --- a/docs/next/api/geoprocessing/functions/isImportVectorDatasourceConfig/index.html +++ b/docs/next/api/geoprocessing/functions/isImportVectorDatasourceConfig/index.html @@ -4,7 +4,7 @@ isImportVectorDatasourceConfig() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/functions/isInternalRasterDatasource/index.html b/docs/next/api/geoprocessing/functions/isInternalRasterDatasource/index.html index a8e4deeee..8ddf16bf0 100644 --- a/docs/next/api/geoprocessing/functions/isInternalRasterDatasource/index.html +++ b/docs/next/api/geoprocessing/functions/isInternalRasterDatasource/index.html @@ -4,7 +4,7 @@ isInternalRasterDatasource() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/functions/isInternalVectorDatasource/index.html b/docs/next/api/geoprocessing/functions/isInternalVectorDatasource/index.html index 0a0f507f0..da94a13bb 100644 --- a/docs/next/api/geoprocessing/functions/isInternalVectorDatasource/index.html +++ b/docs/next/api/geoprocessing/functions/isInternalVectorDatasource/index.html @@ -4,7 +4,7 @@ isInternalVectorDatasource() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/functions/isLineStringFeature/index.html b/docs/next/api/geoprocessing/functions/isLineStringFeature/index.html index 3899e2e92..dfbfd0bba 100644 --- a/docs/next/api/geoprocessing/functions/isLineStringFeature/index.html +++ b/docs/next/api/geoprocessing/functions/isLineStringFeature/index.html @@ -4,7 +4,7 @@ isLineStringFeature() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/functions/isLineStringSketchCollection/index.html b/docs/next/api/geoprocessing/functions/isLineStringSketchCollection/index.html index 0c39c4f2b..dc2c1d1aa 100644 --- a/docs/next/api/geoprocessing/functions/isLineStringSketchCollection/index.html +++ b/docs/next/api/geoprocessing/functions/isLineStringSketchCollection/index.html @@ -4,7 +4,7 @@ isLineStringSketchCollection() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/functions/isMetric/index.html b/docs/next/api/geoprocessing/functions/isMetric/index.html index 56ef24712..389ab95c8 100644 --- a/docs/next/api/geoprocessing/functions/isMetric/index.html +++ b/docs/next/api/geoprocessing/functions/isMetric/index.html @@ -4,7 +4,7 @@ isMetric() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/functions/isMetricArray/index.html b/docs/next/api/geoprocessing/functions/isMetricArray/index.html index f923a01bb..5cc6775a2 100644 --- a/docs/next/api/geoprocessing/functions/isMetricArray/index.html +++ b/docs/next/api/geoprocessing/functions/isMetricArray/index.html @@ -4,7 +4,7 @@ isMetricArray() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/functions/isMetricPack/index.html b/docs/next/api/geoprocessing/functions/isMetricPack/index.html index 5839bbd56..7405e6303 100644 --- a/docs/next/api/geoprocessing/functions/isMetricPack/index.html +++ b/docs/next/api/geoprocessing/functions/isMetricPack/index.html @@ -4,7 +4,7 @@ isMetricPack() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/functions/isMultiPolygonFeature/index.html b/docs/next/api/geoprocessing/functions/isMultiPolygonFeature/index.html index c4f65af22..3bbeda27c 100644 --- a/docs/next/api/geoprocessing/functions/isMultiPolygonFeature/index.html +++ b/docs/next/api/geoprocessing/functions/isMultiPolygonFeature/index.html @@ -4,7 +4,7 @@ isMultiPolygonFeature() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/functions/isMultiPolygonSketch/index.html b/docs/next/api/geoprocessing/functions/isMultiPolygonSketch/index.html index 2e4915828..8c6ce433b 100644 --- a/docs/next/api/geoprocessing/functions/isMultiPolygonSketch/index.html +++ b/docs/next/api/geoprocessing/functions/isMultiPolygonSketch/index.html @@ -4,7 +4,7 @@ isMultiPolygonSketch() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/functions/isMultiPolygonSketchCollection/index.html b/docs/next/api/geoprocessing/functions/isMultiPolygonSketchCollection/index.html index 4b0b905f2..23e28102c 100644 --- a/docs/next/api/geoprocessing/functions/isMultiPolygonSketchCollection/index.html +++ b/docs/next/api/geoprocessing/functions/isMultiPolygonSketchCollection/index.html @@ -4,7 +4,7 @@ isMultiPolygonSketchCollection() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/functions/isNullSketch/index.html b/docs/next/api/geoprocessing/functions/isNullSketch/index.html index 70d603e0f..1c9723f42 100644 --- a/docs/next/api/geoprocessing/functions/isNullSketch/index.html +++ b/docs/next/api/geoprocessing/functions/isNullSketch/index.html @@ -4,7 +4,7 @@ isNullSketch() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/functions/isNullSketchCollection/index.html b/docs/next/api/geoprocessing/functions/isNullSketchCollection/index.html index 3c653450e..0e39c78c5 100644 --- a/docs/next/api/geoprocessing/functions/isNullSketchCollection/index.html +++ b/docs/next/api/geoprocessing/functions/isNullSketchCollection/index.html @@ -4,7 +4,7 @@ isNullSketchCollection() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/functions/isObject/index.html b/docs/next/api/geoprocessing/functions/isObject/index.html index 883d3407d..068c526b4 100644 --- a/docs/next/api/geoprocessing/functions/isObject/index.html +++ b/docs/next/api/geoprocessing/functions/isObject/index.html @@ -4,7 +4,7 @@ isObject() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/functions/isPointFeature/index.html b/docs/next/api/geoprocessing/functions/isPointFeature/index.html index abcd9a5a5..0a4993391 100644 --- a/docs/next/api/geoprocessing/functions/isPointFeature/index.html +++ b/docs/next/api/geoprocessing/functions/isPointFeature/index.html @@ -4,7 +4,7 @@ isPointFeature() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/functions/isPointSketchCollection/index.html b/docs/next/api/geoprocessing/functions/isPointSketchCollection/index.html index bd6f5ec18..6a6b5e63b 100644 --- a/docs/next/api/geoprocessing/functions/isPointSketchCollection/index.html +++ b/docs/next/api/geoprocessing/functions/isPointSketchCollection/index.html @@ -4,7 +4,7 @@ isPointSketchCollection() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/functions/isPolygonAllSketchCollection/index.html b/docs/next/api/geoprocessing/functions/isPolygonAllSketchCollection/index.html index 044f7aae2..7a4c2f41a 100644 --- a/docs/next/api/geoprocessing/functions/isPolygonAllSketchCollection/index.html +++ b/docs/next/api/geoprocessing/functions/isPolygonAllSketchCollection/index.html @@ -4,7 +4,7 @@ isPolygonAllSketchCollection() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/functions/isPolygonAnyFeature/index.html b/docs/next/api/geoprocessing/functions/isPolygonAnyFeature/index.html index 735513a0f..2e4075baf 100644 --- a/docs/next/api/geoprocessing/functions/isPolygonAnyFeature/index.html +++ b/docs/next/api/geoprocessing/functions/isPolygonAnyFeature/index.html @@ -4,7 +4,7 @@ isPolygonAnyFeature() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/functions/isPolygonFeature/index.html b/docs/next/api/geoprocessing/functions/isPolygonFeature/index.html index 3cca4001a..43e6efd19 100644 --- a/docs/next/api/geoprocessing/functions/isPolygonFeature/index.html +++ b/docs/next/api/geoprocessing/functions/isPolygonFeature/index.html @@ -4,7 +4,7 @@ isPolygonFeature() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/functions/isPolygonFeatureArray/index.html b/docs/next/api/geoprocessing/functions/isPolygonFeatureArray/index.html index 91d1bbb95..7d2fc3c59 100644 --- a/docs/next/api/geoprocessing/functions/isPolygonFeatureArray/index.html +++ b/docs/next/api/geoprocessing/functions/isPolygonFeatureArray/index.html @@ -4,7 +4,7 @@ isPolygonFeatureArray() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/functions/isPolygonSketch/index.html b/docs/next/api/geoprocessing/functions/isPolygonSketch/index.html index ff1d1b092..8e10c3232 100644 --- a/docs/next/api/geoprocessing/functions/isPolygonSketch/index.html +++ b/docs/next/api/geoprocessing/functions/isPolygonSketch/index.html @@ -4,7 +4,7 @@ isPolygonSketch() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/functions/isPolygonSketchCollection/index.html b/docs/next/api/geoprocessing/functions/isPolygonSketchCollection/index.html index 1bd7c2bd3..f00db154d 100644 --- a/docs/next/api/geoprocessing/functions/isPolygonSketchCollection/index.html +++ b/docs/next/api/geoprocessing/functions/isPolygonSketchCollection/index.html @@ -4,7 +4,7 @@ isPolygonSketchCollection() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/functions/isRasterDatasource/index.html b/docs/next/api/geoprocessing/functions/isRasterDatasource/index.html index f5c703555..8f52266cf 100644 --- a/docs/next/api/geoprocessing/functions/isRasterDatasource/index.html +++ b/docs/next/api/geoprocessing/functions/isRasterDatasource/index.html @@ -4,7 +4,7 @@ isRasterDatasource() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/functions/isRbcsProtectionLevel/index.html b/docs/next/api/geoprocessing/functions/isRbcsProtectionLevel/index.html index 116671495..c28f5e6cf 100644 --- a/docs/next/api/geoprocessing/functions/isRbcsProtectionLevel/index.html +++ b/docs/next/api/geoprocessing/functions/isRbcsProtectionLevel/index.html @@ -4,7 +4,7 @@ isRbcsProtectionLevel() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/functions/isSketch/index.html b/docs/next/api/geoprocessing/functions/isSketch/index.html index 5a7b97ae8..b9910383b 100644 --- a/docs/next/api/geoprocessing/functions/isSketch/index.html +++ b/docs/next/api/geoprocessing/functions/isSketch/index.html @@ -4,7 +4,7 @@ isSketch() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/functions/isSketchCollection/index.html b/docs/next/api/geoprocessing/functions/isSketchCollection/index.html index eab9cbeb3..69e0240ca 100644 --- a/docs/next/api/geoprocessing/functions/isSketchCollection/index.html +++ b/docs/next/api/geoprocessing/functions/isSketchCollection/index.html @@ -4,7 +4,7 @@ isSketchCollection() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/functions/isTruthyAttributeValue/index.html b/docs/next/api/geoprocessing/functions/isTruthyAttributeValue/index.html index 57868e0ce..fd1fae0d0 100644 --- a/docs/next/api/geoprocessing/functions/isTruthyAttributeValue/index.html +++ b/docs/next/api/geoprocessing/functions/isTruthyAttributeValue/index.html @@ -4,7 +4,7 @@ isTruthyAttributeValue() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/functions/isVectorDatasource/index.html b/docs/next/api/geoprocessing/functions/isVectorDatasource/index.html index fe71a1db3..f5329689f 100644 --- a/docs/next/api/geoprocessing/functions/isVectorDatasource/index.html +++ b/docs/next/api/geoprocessing/functions/isVectorDatasource/index.html @@ -4,7 +4,7 @@ isVectorDatasource() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/functions/isinternalDatasource/index.html b/docs/next/api/geoprocessing/functions/isinternalDatasource/index.html index 9b12698b3..342259ba2 100644 --- a/docs/next/api/geoprocessing/functions/isinternalDatasource/index.html +++ b/docs/next/api/geoprocessing/functions/isinternalDatasource/index.html @@ -4,7 +4,7 @@ isinternalDatasource() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/functions/keyBy/index.html b/docs/next/api/geoprocessing/functions/keyBy/index.html index cdc6f02bf..c1e8f4ba5 100644 --- a/docs/next/api/geoprocessing/functions/keyBy/index.html +++ b/docs/next/api/geoprocessing/functions/keyBy/index.html @@ -4,7 +4,7 @@ keyBy() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/functions/loadCog/index.html b/docs/next/api/geoprocessing/functions/loadCog/index.html index 8ebeeac03..1a85476cc 100644 --- a/docs/next/api/geoprocessing/functions/loadCog/index.html +++ b/docs/next/api/geoprocessing/functions/loadCog/index.html @@ -4,7 +4,7 @@ loadCog() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/functions/loadFgb/index.html b/docs/next/api/geoprocessing/functions/loadFgb/index.html index f844e7644..899046e83 100644 --- a/docs/next/api/geoprocessing/functions/loadFgb/index.html +++ b/docs/next/api/geoprocessing/functions/loadFgb/index.html @@ -4,7 +4,7 @@ loadFgb() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/functions/maxWidth/index.html b/docs/next/api/geoprocessing/functions/maxWidth/index.html index f4722083d..6e469cfeb 100644 --- a/docs/next/api/geoprocessing/functions/maxWidth/index.html +++ b/docs/next/api/geoprocessing/functions/maxWidth/index.html @@ -4,7 +4,7 @@ maxWidth() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/functions/metricsForSketch/index.html b/docs/next/api/geoprocessing/functions/metricsForSketch/index.html index 20bff6d10..599c14452 100644 --- a/docs/next/api/geoprocessing/functions/metricsForSketch/index.html +++ b/docs/next/api/geoprocessing/functions/metricsForSketch/index.html @@ -4,7 +4,7 @@ metricsForSketch() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/functions/metricsSketchIds/index.html b/docs/next/api/geoprocessing/functions/metricsSketchIds/index.html index cb876b597..81fb3267c 100644 --- a/docs/next/api/geoprocessing/functions/metricsSketchIds/index.html +++ b/docs/next/api/geoprocessing/functions/metricsSketchIds/index.html @@ -4,7 +4,7 @@ metricsSketchIds() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/functions/metricsWithClassId/index.html b/docs/next/api/geoprocessing/functions/metricsWithClassId/index.html index 1c2096372..80cf27a33 100644 --- a/docs/next/api/geoprocessing/functions/metricsWithClassId/index.html +++ b/docs/next/api/geoprocessing/functions/metricsWithClassId/index.html @@ -4,7 +4,7 @@ metricsWithClassId() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/functions/metricsWithSketchId/index.html b/docs/next/api/geoprocessing/functions/metricsWithSketchId/index.html index af769ce32..e8a1c8cfb 100644 --- a/docs/next/api/geoprocessing/functions/metricsWithSketchId/index.html +++ b/docs/next/api/geoprocessing/functions/metricsWithSketchId/index.html @@ -4,7 +4,7 @@ metricsWithSketchId() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/functions/minWidth/index.html b/docs/next/api/geoprocessing/functions/minWidth/index.html index f58a67eec..765ec3c3e 100644 --- a/docs/next/api/geoprocessing/functions/minWidth/index.html +++ b/docs/next/api/geoprocessing/functions/minWidth/index.html @@ -4,7 +4,7 @@ minWidth() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/functions/mpaClassMetric/index.html b/docs/next/api/geoprocessing/functions/mpaClassMetric/index.html index 29ed389bb..de9d624eb 100644 --- a/docs/next/api/geoprocessing/functions/mpaClassMetric/index.html +++ b/docs/next/api/geoprocessing/functions/mpaClassMetric/index.html @@ -4,7 +4,7 @@ mpaClassMetric() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/functions/mpaClassMetrics/index.html b/docs/next/api/geoprocessing/functions/mpaClassMetrics/index.html index c17066792..5b773ab67 100644 --- a/docs/next/api/geoprocessing/functions/mpaClassMetrics/index.html +++ b/docs/next/api/geoprocessing/functions/mpaClassMetrics/index.html @@ -4,7 +4,7 @@ mpaClassMetrics() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/functions/nestMetrics/index.html b/docs/next/api/geoprocessing/functions/nestMetrics/index.html index d2e3b0534..472d97ec8 100644 --- a/docs/next/api/geoprocessing/functions/nestMetrics/index.html +++ b/docs/next/api/geoprocessing/functions/nestMetrics/index.html @@ -4,7 +4,7 @@ nestMetrics() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/functions/numberFormat/index.html b/docs/next/api/geoprocessing/functions/numberFormat/index.html index 011843b33..bb13b05d5 100644 --- a/docs/next/api/geoprocessing/functions/numberFormat/index.html +++ b/docs/next/api/geoprocessing/functions/numberFormat/index.html @@ -4,7 +4,7 @@ numberFormat() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/functions/overlapArea/index.html b/docs/next/api/geoprocessing/functions/overlapArea/index.html index 01a71ec30..9d846bf72 100644 --- a/docs/next/api/geoprocessing/functions/overlapArea/index.html +++ b/docs/next/api/geoprocessing/functions/overlapArea/index.html @@ -4,7 +4,7 @@ overlapArea() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/functions/overlapAreaGroupMetrics/index.html b/docs/next/api/geoprocessing/functions/overlapAreaGroupMetrics/index.html index 49667b0e8..35c3903f0 100644 --- a/docs/next/api/geoprocessing/functions/overlapAreaGroupMetrics/index.html +++ b/docs/next/api/geoprocessing/functions/overlapAreaGroupMetrics/index.html @@ -4,7 +4,7 @@ overlapAreaGroupMetrics() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/functions/overlapFeatures/index.html b/docs/next/api/geoprocessing/functions/overlapFeatures/index.html index 125b49ace..c248e6e5a 100644 --- a/docs/next/api/geoprocessing/functions/overlapFeatures/index.html +++ b/docs/next/api/geoprocessing/functions/overlapFeatures/index.html @@ -4,7 +4,7 @@ overlapFeatures() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/functions/overlapFeaturesGroupMetrics/index.html b/docs/next/api/geoprocessing/functions/overlapFeaturesGroupMetrics/index.html index 4600c1442..b447650d7 100644 --- a/docs/next/api/geoprocessing/functions/overlapFeaturesGroupMetrics/index.html +++ b/docs/next/api/geoprocessing/functions/overlapFeaturesGroupMetrics/index.html @@ -4,7 +4,7 @@ overlapFeaturesGroupMetrics() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/functions/overlapGroupMetrics/index.html b/docs/next/api/geoprocessing/functions/overlapGroupMetrics/index.html index ce555f47b..5d741af0e 100644 --- a/docs/next/api/geoprocessing/functions/overlapGroupMetrics/index.html +++ b/docs/next/api/geoprocessing/functions/overlapGroupMetrics/index.html @@ -4,7 +4,7 @@ overlapGroupMetrics() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/functions/overlapRasterClass/index.html b/docs/next/api/geoprocessing/functions/overlapRasterClass/index.html index f6720d60e..b4540d9ee 100644 --- a/docs/next/api/geoprocessing/functions/overlapRasterClass/index.html +++ b/docs/next/api/geoprocessing/functions/overlapRasterClass/index.html @@ -4,7 +4,7 @@ ~~overlapRasterClass()~~ | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/functions/overlapRasterGroupMetrics/index.html b/docs/next/api/geoprocessing/functions/overlapRasterGroupMetrics/index.html index ded88f761..2401c5b4c 100644 --- a/docs/next/api/geoprocessing/functions/overlapRasterGroupMetrics/index.html +++ b/docs/next/api/geoprocessing/functions/overlapRasterGroupMetrics/index.html @@ -4,7 +4,7 @@ overlapRasterGroupMetrics() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/functions/overlapSubarea/index.html b/docs/next/api/geoprocessing/functions/overlapSubarea/index.html index b8b7b685f..cdcc4dc6b 100644 --- a/docs/next/api/geoprocessing/functions/overlapSubarea/index.html +++ b/docs/next/api/geoprocessing/functions/overlapSubarea/index.html @@ -4,7 +4,7 @@ ~~overlapSubarea()~~ | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/functions/packMetrics/index.html b/docs/next/api/geoprocessing/functions/packMetrics/index.html index d3558e782..14ce70e8e 100644 --- a/docs/next/api/geoprocessing/functions/packMetrics/index.html +++ b/docs/next/api/geoprocessing/functions/packMetrics/index.html @@ -4,7 +4,7 @@ packMetrics() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/functions/parseGeoraster/index.html b/docs/next/api/geoprocessing/functions/parseGeoraster/index.html index a76d1369b..cee62f39c 100644 --- a/docs/next/api/geoprocessing/functions/parseGeoraster/index.html +++ b/docs/next/api/geoprocessing/functions/parseGeoraster/index.html @@ -4,7 +4,7 @@ parseGeoraster() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/functions/parseLambdaResponse/index.html b/docs/next/api/geoprocessing/functions/parseLambdaResponse/index.html index cd16b5583..06f4e0c11 100644 --- a/docs/next/api/geoprocessing/functions/parseLambdaResponse/index.html +++ b/docs/next/api/geoprocessing/functions/parseLambdaResponse/index.html @@ -4,7 +4,7 @@ parseLambdaResponse() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/functions/percentGoalWithEdge/index.html b/docs/next/api/geoprocessing/functions/percentGoalWithEdge/index.html index 0b77ded4d..839ffcd16 100644 --- a/docs/next/api/geoprocessing/functions/percentGoalWithEdge/index.html +++ b/docs/next/api/geoprocessing/functions/percentGoalWithEdge/index.html @@ -4,7 +4,7 @@ percentGoalWithEdge() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/functions/percentWithEdge/index.html b/docs/next/api/geoprocessing/functions/percentWithEdge/index.html index 5e96d0a90..554e1a785 100644 --- a/docs/next/api/geoprocessing/functions/percentWithEdge/index.html +++ b/docs/next/api/geoprocessing/functions/percentWithEdge/index.html @@ -4,7 +4,7 @@ percentWithEdge() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/functions/randomFloat/index.html b/docs/next/api/geoprocessing/functions/randomFloat/index.html index 9e1c46b36..ce5ac0a0c 100644 --- a/docs/next/api/geoprocessing/functions/randomFloat/index.html +++ b/docs/next/api/geoprocessing/functions/randomFloat/index.html @@ -4,7 +4,7 @@ randomFloat() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/functions/randomInt/index.html b/docs/next/api/geoprocessing/functions/randomInt/index.html index 76283080c..9dc08c378 100644 --- a/docs/next/api/geoprocessing/functions/randomInt/index.html +++ b/docs/next/api/geoprocessing/functions/randomInt/index.html @@ -4,7 +4,7 @@ randomInt() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/functions/rasterMetrics/index.html b/docs/next/api/geoprocessing/functions/rasterMetrics/index.html index f51c2d7bb..047ca3568 100644 --- a/docs/next/api/geoprocessing/functions/rasterMetrics/index.html +++ b/docs/next/api/geoprocessing/functions/rasterMetrics/index.html @@ -4,7 +4,7 @@ rasterMetrics() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/functions/rasterStats/index.html b/docs/next/api/geoprocessing/functions/rasterStats/index.html index 7bbd33b1b..e0032c8be 100644 --- a/docs/next/api/geoprocessing/functions/rasterStats/index.html +++ b/docs/next/api/geoprocessing/functions/rasterStats/index.html @@ -4,7 +4,7 @@ rasterStats() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/functions/rasterStatsToMetrics/index.html b/docs/next/api/geoprocessing/functions/rasterStatsToMetrics/index.html index 470950cba..8dd35bae6 100644 --- a/docs/next/api/geoprocessing/functions/rasterStatsToMetrics/index.html +++ b/docs/next/api/geoprocessing/functions/rasterStatsToMetrics/index.html @@ -4,7 +4,7 @@ rasterStatsToMetrics() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/functions/rbcsMpaToMetric/index.html b/docs/next/api/geoprocessing/functions/rbcsMpaToMetric/index.html index 64890d6f3..316b61f94 100644 --- a/docs/next/api/geoprocessing/functions/rbcsMpaToMetric/index.html +++ b/docs/next/api/geoprocessing/functions/rbcsMpaToMetric/index.html @@ -4,7 +4,7 @@ rbcsMpaToMetric() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/functions/rbcsZoneToMetric/index.html b/docs/next/api/geoprocessing/functions/rbcsZoneToMetric/index.html index 15cb56494..2bcb82cba 100644 --- a/docs/next/api/geoprocessing/functions/rbcsZoneToMetric/index.html +++ b/docs/next/api/geoprocessing/functions/rbcsZoneToMetric/index.html @@ -4,7 +4,7 @@ rbcsZoneToMetric() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/functions/rekeyMetrics/index.html b/docs/next/api/geoprocessing/functions/rekeyMetrics/index.html index 0134b6678..d4cf7c3a9 100644 --- a/docs/next/api/geoprocessing/functions/rekeyMetrics/index.html +++ b/docs/next/api/geoprocessing/functions/rekeyMetrics/index.html @@ -4,7 +4,7 @@ rekeyMetrics() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/functions/rekeyObject/index.html b/docs/next/api/geoprocessing/functions/rekeyObject/index.html index 32148623d..424af2c11 100644 --- a/docs/next/api/geoprocessing/functions/rekeyObject/index.html +++ b/docs/next/api/geoprocessing/functions/rekeyObject/index.html @@ -4,7 +4,7 @@ rekeyObject() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/functions/removeSketchCollPolygonHoles/index.html b/docs/next/api/geoprocessing/functions/removeSketchCollPolygonHoles/index.html index 58ae74d4c..ccd376ea2 100644 --- a/docs/next/api/geoprocessing/functions/removeSketchCollPolygonHoles/index.html +++ b/docs/next/api/geoprocessing/functions/removeSketchCollPolygonHoles/index.html @@ -4,7 +4,7 @@ removeSketchCollPolygonHoles() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/functions/removeSketchPolygonHoles/index.html b/docs/next/api/geoprocessing/functions/removeSketchPolygonHoles/index.html index 141249aa3..0800dc094 100644 --- a/docs/next/api/geoprocessing/functions/removeSketchPolygonHoles/index.html +++ b/docs/next/api/geoprocessing/functions/removeSketchPolygonHoles/index.html @@ -4,7 +4,7 @@ removeSketchPolygonHoles() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/functions/roundDecimal/index.html b/docs/next/api/geoprocessing/functions/roundDecimal/index.html index a8941b6c5..5696c50cf 100644 --- a/docs/next/api/geoprocessing/functions/roundDecimal/index.html +++ b/docs/next/api/geoprocessing/functions/roundDecimal/index.html @@ -4,7 +4,7 @@ roundDecimal() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/functions/roundDecimalFormat/index.html b/docs/next/api/geoprocessing/functions/roundDecimalFormat/index.html index ba4971741..583fd5407 100644 --- a/docs/next/api/geoprocessing/functions/roundDecimalFormat/index.html +++ b/docs/next/api/geoprocessing/functions/roundDecimalFormat/index.html @@ -4,7 +4,7 @@ roundDecimalFormat() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/functions/roundLower/index.html b/docs/next/api/geoprocessing/functions/roundLower/index.html index 5e30b6aa2..d9ab00a6c 100644 --- a/docs/next/api/geoprocessing/functions/roundLower/index.html +++ b/docs/next/api/geoprocessing/functions/roundLower/index.html @@ -4,7 +4,7 @@ roundLower() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/functions/runLambdaWorker/index.html b/docs/next/api/geoprocessing/functions/runLambdaWorker/index.html index 60d9340dc..af2cbfb79 100644 --- a/docs/next/api/geoprocessing/functions/runLambdaWorker/index.html +++ b/docs/next/api/geoprocessing/functions/runLambdaWorker/index.html @@ -4,7 +4,7 @@ runLambdaWorker() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/functions/sampleSketchReportContextValue/index.html b/docs/next/api/geoprocessing/functions/sampleSketchReportContextValue/index.html index 0b4e46a2e..f8be6d672 100644 --- a/docs/next/api/geoprocessing/functions/sampleSketchReportContextValue/index.html +++ b/docs/next/api/geoprocessing/functions/sampleSketchReportContextValue/index.html @@ -4,7 +4,7 @@ sampleSketchReportContextValue() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/functions/scanTasks/index.html b/docs/next/api/geoprocessing/functions/scanTasks/index.html index b3dd3a9ac..2f4bfd297 100644 --- a/docs/next/api/geoprocessing/functions/scanTasks/index.html +++ b/docs/next/api/geoprocessing/functions/scanTasks/index.html @@ -4,7 +4,7 @@ scanTasks() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/functions/sketchToId/index.html b/docs/next/api/geoprocessing/functions/sketchToId/index.html index ed404a9c8..e7bcc483d 100644 --- a/docs/next/api/geoprocessing/functions/sketchToId/index.html +++ b/docs/next/api/geoprocessing/functions/sketchToId/index.html @@ -4,7 +4,7 @@ sketchToId() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/functions/sketchToZone/index.html b/docs/next/api/geoprocessing/functions/sketchToZone/index.html index 257af3eca..eed5b9fc2 100644 --- a/docs/next/api/geoprocessing/functions/sketchToZone/index.html +++ b/docs/next/api/geoprocessing/functions/sketchToZone/index.html @@ -4,7 +4,7 @@ sketchToZone() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/functions/sortMetrics/index.html b/docs/next/api/geoprocessing/functions/sortMetrics/index.html index 22496a583..3bc1d756b 100644 --- a/docs/next/api/geoprocessing/functions/sortMetrics/index.html +++ b/docs/next/api/geoprocessing/functions/sortMetrics/index.html @@ -4,7 +4,7 @@ sortMetrics() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/functions/sortMetricsDisplayOrder/index.html b/docs/next/api/geoprocessing/functions/sortMetricsDisplayOrder/index.html index c254ef229..d9c1c6804 100644 --- a/docs/next/api/geoprocessing/functions/sortMetricsDisplayOrder/index.html +++ b/docs/next/api/geoprocessing/functions/sortMetricsDisplayOrder/index.html @@ -4,7 +4,7 @@ sortMetricsDisplayOrder() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/functions/splitBBoxAntimeridian/index.html b/docs/next/api/geoprocessing/functions/splitBBoxAntimeridian/index.html index 912a7b53a..072dd18a2 100644 --- a/docs/next/api/geoprocessing/functions/splitBBoxAntimeridian/index.html +++ b/docs/next/api/geoprocessing/functions/splitBBoxAntimeridian/index.html @@ -4,7 +4,7 @@ splitBBoxAntimeridian() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/functions/splitFeatureAntimeridian/index.html b/docs/next/api/geoprocessing/functions/splitFeatureAntimeridian/index.html index 8b185c901..3d57fd69a 100644 --- a/docs/next/api/geoprocessing/functions/splitFeatureAntimeridian/index.html +++ b/docs/next/api/geoprocessing/functions/splitFeatureAntimeridian/index.html @@ -4,7 +4,7 @@ splitFeatureAntimeridian() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/functions/splitSketchAntimeridian/index.html b/docs/next/api/geoprocessing/functions/splitSketchAntimeridian/index.html index a03799af8..395d8a56d 100644 --- a/docs/next/api/geoprocessing/functions/splitSketchAntimeridian/index.html +++ b/docs/next/api/geoprocessing/functions/splitSketchAntimeridian/index.html @@ -4,7 +4,7 @@ splitSketchAntimeridian() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/functions/squareMeterToKilometer/index.html b/docs/next/api/geoprocessing/functions/squareMeterToKilometer/index.html index a3ad84cd1..e8ffb76e4 100644 --- a/docs/next/api/geoprocessing/functions/squareMeterToKilometer/index.html +++ b/docs/next/api/geoprocessing/functions/squareMeterToKilometer/index.html @@ -4,7 +4,7 @@ squareMeterToKilometer() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/functions/squareMeterToMile/index.html b/docs/next/api/geoprocessing/functions/squareMeterToMile/index.html index 655f7ff4a..1ea8e5459 100644 --- a/docs/next/api/geoprocessing/functions/squareMeterToMile/index.html +++ b/docs/next/api/geoprocessing/functions/squareMeterToMile/index.html @@ -4,7 +4,7 @@ squareMeterToMile() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/functions/testWithinPerc/index.html b/docs/next/api/geoprocessing/functions/testWithinPerc/index.html index 0ec967607..3cc774681 100644 --- a/docs/next/api/geoprocessing/functions/testWithinPerc/index.html +++ b/docs/next/api/geoprocessing/functions/testWithinPerc/index.html @@ -4,7 +4,7 @@ testWithinPerc() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/functions/toChildProperties/index.html b/docs/next/api/geoprocessing/functions/toChildProperties/index.html index 83d6ca175..606ba090f 100644 --- a/docs/next/api/geoprocessing/functions/toChildProperties/index.html +++ b/docs/next/api/geoprocessing/functions/toChildProperties/index.html @@ -4,7 +4,7 @@ toChildProperties() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/functions/toFeatureArray/index.html b/docs/next/api/geoprocessing/functions/toFeatureArray/index.html index 1ca2ee47f..710ac6e78 100644 --- a/docs/next/api/geoprocessing/functions/toFeatureArray/index.html +++ b/docs/next/api/geoprocessing/functions/toFeatureArray/index.html @@ -4,7 +4,7 @@ toFeatureArray() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/functions/toFeaturePolygonArray/index.html b/docs/next/api/geoprocessing/functions/toFeaturePolygonArray/index.html index a66fe8c29..a5ba0dcc5 100644 --- a/docs/next/api/geoprocessing/functions/toFeaturePolygonArray/index.html +++ b/docs/next/api/geoprocessing/functions/toFeaturePolygonArray/index.html @@ -4,7 +4,7 @@ toFeaturePolygonArray() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/functions/toNullSketch/index.html b/docs/next/api/geoprocessing/functions/toNullSketch/index.html index 1109d850a..34cbb901c 100644 --- a/docs/next/api/geoprocessing/functions/toNullSketch/index.html +++ b/docs/next/api/geoprocessing/functions/toNullSketch/index.html @@ -4,7 +4,7 @@ toNullSketch() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/functions/toNullSketchArray/index.html b/docs/next/api/geoprocessing/functions/toNullSketchArray/index.html index c6f1f7c15..e22c35b4a 100644 --- a/docs/next/api/geoprocessing/functions/toNullSketchArray/index.html +++ b/docs/next/api/geoprocessing/functions/toNullSketchArray/index.html @@ -4,7 +4,7 @@ toNullSketchArray() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/functions/toPercentMetric/index.html b/docs/next/api/geoprocessing/functions/toPercentMetric/index.html index 142cd1a2a..a753a4d2c 100644 --- a/docs/next/api/geoprocessing/functions/toPercentMetric/index.html +++ b/docs/next/api/geoprocessing/functions/toPercentMetric/index.html @@ -4,7 +4,7 @@ toPercentMetric() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/functions/toRasterProjection/index.html b/docs/next/api/geoprocessing/functions/toRasterProjection/index.html index b9cbc1cd0..f94ab833f 100644 --- a/docs/next/api/geoprocessing/functions/toRasterProjection/index.html +++ b/docs/next/api/geoprocessing/functions/toRasterProjection/index.html @@ -4,7 +4,7 @@ toRasterProjection() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/functions/toShortSketches/index.html b/docs/next/api/geoprocessing/functions/toShortSketches/index.html index 599986a1e..558db96af 100644 --- a/docs/next/api/geoprocessing/functions/toShortSketches/index.html +++ b/docs/next/api/geoprocessing/functions/toShortSketches/index.html @@ -4,7 +4,7 @@ ~~toShortSketches()~~ | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/functions/toSketchArray/index.html b/docs/next/api/geoprocessing/functions/toSketchArray/index.html index 7adbdbbb7..d6940c9bf 100644 --- a/docs/next/api/geoprocessing/functions/toSketchArray/index.html +++ b/docs/next/api/geoprocessing/functions/toSketchArray/index.html @@ -4,7 +4,7 @@ toSketchArray() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/functions/toSketchPropertiesArray/index.html b/docs/next/api/geoprocessing/functions/toSketchPropertiesArray/index.html index 49024f95c..5510b352b 100644 --- a/docs/next/api/geoprocessing/functions/toSketchPropertiesArray/index.html +++ b/docs/next/api/geoprocessing/functions/toSketchPropertiesArray/index.html @@ -4,7 +4,7 @@ toSketchPropertiesArray() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/functions/unpackMetrics/index.html b/docs/next/api/geoprocessing/functions/unpackMetrics/index.html index 847f8c738..3f3672b07 100644 --- a/docs/next/api/geoprocessing/functions/unpackMetrics/index.html +++ b/docs/next/api/geoprocessing/functions/unpackMetrics/index.html @@ -4,7 +4,7 @@ unpackMetrics() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/functions/updateCommandsSync/index.html b/docs/next/api/geoprocessing/functions/updateCommandsSync/index.html index 0c91fc29f..f10c51ae0 100644 --- a/docs/next/api/geoprocessing/functions/updateCommandsSync/index.html +++ b/docs/next/api/geoprocessing/functions/updateCommandsSync/index.html @@ -4,7 +4,7 @@ updateCommandsSync() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/functions/valueFormatter/index.html b/docs/next/api/geoprocessing/functions/valueFormatter/index.html index 1cfdc0315..d8dd35bde 100644 --- a/docs/next/api/geoprocessing/functions/valueFormatter/index.html +++ b/docs/next/api/geoprocessing/functions/valueFormatter/index.html @@ -4,7 +4,7 @@ valueFormatter() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/functions/zeroPolygon/index.html b/docs/next/api/geoprocessing/functions/zeroPolygon/index.html index 914aaa50e..3da55f439 100644 --- a/docs/next/api/geoprocessing/functions/zeroPolygon/index.html +++ b/docs/next/api/geoprocessing/functions/zeroPolygon/index.html @@ -4,7 +4,7 @@ zeroPolygon() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/functions/zeroSketch/index.html b/docs/next/api/geoprocessing/functions/zeroSketch/index.html index 6845316bc..788689577 100644 --- a/docs/next/api/geoprocessing/functions/zeroSketch/index.html +++ b/docs/next/api/geoprocessing/functions/zeroSketch/index.html @@ -4,7 +4,7 @@ zeroSketch() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/functions/zeroSketchArray/index.html b/docs/next/api/geoprocessing/functions/zeroSketchArray/index.html index 8f5b44faf..071bb71d2 100644 --- a/docs/next/api/geoprocessing/functions/zeroSketchArray/index.html +++ b/docs/next/api/geoprocessing/functions/zeroSketchArray/index.html @@ -4,7 +4,7 @@ zeroSketchArray() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/functions/zeroSketchCollection/index.html b/docs/next/api/geoprocessing/functions/zeroSketchCollection/index.html index 95c4c3b66..aada468c3 100644 --- a/docs/next/api/geoprocessing/functions/zeroSketchCollection/index.html +++ b/docs/next/api/geoprocessing/functions/zeroSketchCollection/index.html @@ -4,7 +4,7 @@ zeroSketchCollection() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/functions/zoneClassMetrics/index.html b/docs/next/api/geoprocessing/functions/zoneClassMetrics/index.html index b5b4e7090..3c6559bf7 100644 --- a/docs/next/api/geoprocessing/functions/zoneClassMetrics/index.html +++ b/docs/next/api/geoprocessing/functions/zoneClassMetrics/index.html @@ -4,7 +4,7 @@ zoneClassMetrics() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/index.html b/docs/next/api/geoprocessing/index.html index 219dd5fa4..3fcf826c8 100644 --- a/docs/next/api/geoprocessing/index.html +++ b/docs/next/api/geoprocessing/index.html @@ -4,7 +4,7 @@ geoprocessing | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/interfaces/BaseImportDatasourceConfig/index.html b/docs/next/api/geoprocessing/interfaces/BaseImportDatasourceConfig/index.html index 173cb7229..2486e27a0 100644 --- a/docs/next/api/geoprocessing/interfaces/BaseImportDatasourceConfig/index.html +++ b/docs/next/api/geoprocessing/interfaces/BaseImportDatasourceConfig/index.html @@ -4,7 +4,7 @@ BaseImportDatasourceConfig | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/interfaces/CalcStatsOptions/index.html b/docs/next/api/geoprocessing/interfaces/CalcStatsOptions/index.html index d64ddd001..ca626b76b 100644 --- a/docs/next/api/geoprocessing/interfaces/CalcStatsOptions/index.html +++ b/docs/next/api/geoprocessing/interfaces/CalcStatsOptions/index.html @@ -4,7 +4,7 @@ CalcStatsOptions | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/interfaces/ClipOptions/index.html b/docs/next/api/geoprocessing/interfaces/ClipOptions/index.html index 710ee2518..f94c0180b 100644 --- a/docs/next/api/geoprocessing/interfaces/ClipOptions/index.html +++ b/docs/next/api/geoprocessing/interfaces/ClipOptions/index.html @@ -4,7 +4,7 @@ ClipOptions | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/interfaces/DatasourceClipOperation/index.html b/docs/next/api/geoprocessing/interfaces/DatasourceClipOperation/index.html index 3d40da279..c70b35cce 100644 --- a/docs/next/api/geoprocessing/interfaces/DatasourceClipOperation/index.html +++ b/docs/next/api/geoprocessing/interfaces/DatasourceClipOperation/index.html @@ -4,7 +4,7 @@ DatasourceClipOperation | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/interfaces/DatasourceOptions/index.html b/docs/next/api/geoprocessing/interfaces/DatasourceOptions/index.html index ef279b836..f9f2c488b 100644 --- a/docs/next/api/geoprocessing/interfaces/DatasourceOptions/index.html +++ b/docs/next/api/geoprocessing/interfaces/DatasourceOptions/index.html @@ -4,7 +4,7 @@ DatasourceOptions | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/interfaces/DefaultExtraParams/index.html b/docs/next/api/geoprocessing/interfaces/DefaultExtraParams/index.html index f1b176191..489e01ce7 100644 --- a/docs/next/api/geoprocessing/interfaces/DefaultExtraParams/index.html +++ b/docs/next/api/geoprocessing/interfaces/DefaultExtraParams/index.html @@ -4,7 +4,7 @@ DefaultExtraParams | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/interfaces/Feature/index.html b/docs/next/api/geoprocessing/interfaces/Feature/index.html index 1ef7f8ab9..a4807424f 100644 --- a/docs/next/api/geoprocessing/interfaces/Feature/index.html +++ b/docs/next/api/geoprocessing/interfaces/Feature/index.html @@ -4,7 +4,7 @@ Feature\<G, P\> | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/interfaces/FeatureClipOperation/index.html b/docs/next/api/geoprocessing/interfaces/FeatureClipOperation/index.html index 792ca7b7d..9abc25f90 100644 --- a/docs/next/api/geoprocessing/interfaces/FeatureClipOperation/index.html +++ b/docs/next/api/geoprocessing/interfaces/FeatureClipOperation/index.html @@ -4,7 +4,7 @@ FeatureClipOperation | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/interfaces/FeatureCollection/index.html b/docs/next/api/geoprocessing/interfaces/FeatureCollection/index.html index f41d2688a..473c8ab85 100644 --- a/docs/next/api/geoprocessing/interfaces/FeatureCollection/index.html +++ b/docs/next/api/geoprocessing/interfaces/FeatureCollection/index.html @@ -4,7 +4,7 @@ FeatureCollection\<G, P\> | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/interfaces/FeatureMap/index.html b/docs/next/api/geoprocessing/interfaces/FeatureMap/index.html index 488c39d4c..e4dcc0dba 100644 --- a/docs/next/api/geoprocessing/interfaces/FeatureMap/index.html +++ b/docs/next/api/geoprocessing/interfaces/FeatureMap/index.html @@ -4,7 +4,7 @@ FeatureMap | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/interfaces/FeatureTree/index.html b/docs/next/api/geoprocessing/interfaces/FeatureTree/index.html index 71cdf76ee..042fd4c10 100644 --- a/docs/next/api/geoprocessing/interfaces/FeatureTree/index.html +++ b/docs/next/api/geoprocessing/interfaces/FeatureTree/index.html @@ -4,7 +4,7 @@ FeatureTree | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/interfaces/FgBoundingBox/index.html b/docs/next/api/geoprocessing/interfaces/FgBoundingBox/index.html index aba648e0f..da1483b5a 100644 --- a/docs/next/api/geoprocessing/interfaces/FgBoundingBox/index.html +++ b/docs/next/api/geoprocessing/interfaces/FgBoundingBox/index.html @@ -4,7 +4,7 @@ FgBoundingBox | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/interfaces/GeogProp/index.html b/docs/next/api/geoprocessing/interfaces/GeogProp/index.html index 1c7628cff..2a624ba96 100644 --- a/docs/next/api/geoprocessing/interfaces/GeogProp/index.html +++ b/docs/next/api/geoprocessing/interfaces/GeogProp/index.html @@ -4,7 +4,7 @@ GeogProp | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/interfaces/GeometryCollection/index.html b/docs/next/api/geoprocessing/interfaces/GeometryCollection/index.html index 2a3430169..80680ebd8 100644 --- a/docs/next/api/geoprocessing/interfaces/GeometryCollection/index.html +++ b/docs/next/api/geoprocessing/interfaces/GeometryCollection/index.html @@ -4,7 +4,7 @@ GeometryCollection\<G\> | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/interfaces/GeoprocessingHandlerOptions/index.html b/docs/next/api/geoprocessing/interfaces/GeoprocessingHandlerOptions/index.html index 09090db2b..23dc84227 100644 --- a/docs/next/api/geoprocessing/interfaces/GeoprocessingHandlerOptions/index.html +++ b/docs/next/api/geoprocessing/interfaces/GeoprocessingHandlerOptions/index.html @@ -4,7 +4,7 @@ GeoprocessingHandlerOptions | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/interfaces/GeoprocessingProject/index.html b/docs/next/api/geoprocessing/interfaces/GeoprocessingProject/index.html index ff00a979d..0082441ea 100644 --- a/docs/next/api/geoprocessing/interfaces/GeoprocessingProject/index.html +++ b/docs/next/api/geoprocessing/interfaces/GeoprocessingProject/index.html @@ -4,7 +4,7 @@ GeoprocessingProject | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/interfaces/GeoprocessingRequestModel/index.html b/docs/next/api/geoprocessing/interfaces/GeoprocessingRequestModel/index.html index d78b1a02d..3499fd65c 100644 --- a/docs/next/api/geoprocessing/interfaces/GeoprocessingRequestModel/index.html +++ b/docs/next/api/geoprocessing/interfaces/GeoprocessingRequestModel/index.html @@ -4,7 +4,7 @@ GeoprocessingRequestModel\<G\> | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/interfaces/GeoprocessingServiceMetadata/index.html b/docs/next/api/geoprocessing/interfaces/GeoprocessingServiceMetadata/index.html index 59b3220c1..6b51fb833 100644 --- a/docs/next/api/geoprocessing/interfaces/GeoprocessingServiceMetadata/index.html +++ b/docs/next/api/geoprocessing/interfaces/GeoprocessingServiceMetadata/index.html @@ -4,7 +4,7 @@ GeoprocessingServiceMetadata | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/interfaces/GeoprocessingTask/index.html b/docs/next/api/geoprocessing/interfaces/GeoprocessingTask/index.html index c2c42f2f5..72808ab5a 100644 --- a/docs/next/api/geoprocessing/interfaces/GeoprocessingTask/index.html +++ b/docs/next/api/geoprocessing/interfaces/GeoprocessingTask/index.html @@ -4,7 +4,7 @@ GeoprocessingTask\<ResultType\> | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/interfaces/Georaster/index.html b/docs/next/api/geoprocessing/interfaces/Georaster/index.html index b1720260e..0902ead32 100644 --- a/docs/next/api/geoprocessing/interfaces/Georaster/index.html +++ b/docs/next/api/geoprocessing/interfaces/Georaster/index.html @@ -4,7 +4,7 @@ Georaster | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/interfaces/Histogram/index.html b/docs/next/api/geoprocessing/interfaces/Histogram/index.html index e30aa3d93..279d59a66 100644 --- a/docs/next/api/geoprocessing/interfaces/Histogram/index.html +++ b/docs/next/api/geoprocessing/interfaces/Histogram/index.html @@ -4,7 +4,7 @@ Histogram | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/interfaces/HistogramOptions/index.html b/docs/next/api/geoprocessing/interfaces/HistogramOptions/index.html index 43481c047..68c39e215 100644 --- a/docs/next/api/geoprocessing/interfaces/HistogramOptions/index.html +++ b/docs/next/api/geoprocessing/interfaces/HistogramOptions/index.html @@ -4,7 +4,7 @@ HistogramOptions | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/interfaces/IucnActivity/index.html b/docs/next/api/geoprocessing/interfaces/IucnActivity/index.html index b063be462..2aaf05e11 100644 --- a/docs/next/api/geoprocessing/interfaces/IucnActivity/index.html +++ b/docs/next/api/geoprocessing/interfaces/IucnActivity/index.html @@ -4,7 +4,7 @@ IucnActivity | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/interfaces/IucnActivityRank/index.html b/docs/next/api/geoprocessing/interfaces/IucnActivityRank/index.html index d43790bdf..db7bd1575 100644 --- a/docs/next/api/geoprocessing/interfaces/IucnActivityRank/index.html +++ b/docs/next/api/geoprocessing/interfaces/IucnActivityRank/index.html @@ -4,7 +4,7 @@ IucnActivityRank | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/interfaces/IucnCategory/index.html b/docs/next/api/geoprocessing/interfaces/IucnCategory/index.html index 31479db78..81f8dd14a 100644 --- a/docs/next/api/geoprocessing/interfaces/IucnCategory/index.html +++ b/docs/next/api/geoprocessing/interfaces/IucnCategory/index.html @@ -4,7 +4,7 @@ IucnCategory | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/interfaces/IucnCategoryCombined/index.html b/docs/next/api/geoprocessing/interfaces/IucnCategoryCombined/index.html index 35eb5d701..bb8e930fd 100644 --- a/docs/next/api/geoprocessing/interfaces/IucnCategoryCombined/index.html +++ b/docs/next/api/geoprocessing/interfaces/IucnCategoryCombined/index.html @@ -4,7 +4,7 @@ IucnCategoryCombined | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/interfaces/LineString/index.html b/docs/next/api/geoprocessing/interfaces/LineString/index.html index c79724de1..eba452e73 100644 --- a/docs/next/api/geoprocessing/interfaces/LineString/index.html +++ b/docs/next/api/geoprocessing/interfaces/LineString/index.html @@ -4,7 +4,7 @@ LineString | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/interfaces/MetricGroupItem/index.html b/docs/next/api/geoprocessing/interfaces/MetricGroupItem/index.html index addf7feeb..07ec880d1 100644 --- a/docs/next/api/geoprocessing/interfaces/MetricGroupItem/index.html +++ b/docs/next/api/geoprocessing/interfaces/MetricGroupItem/index.html @@ -4,7 +4,7 @@ MetricGroupItem\<ResultType\> | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/interfaces/MetricPack/index.html b/docs/next/api/geoprocessing/interfaces/MetricPack/index.html index 1351e9c81..f0289c07d 100644 --- a/docs/next/api/geoprocessing/interfaces/MetricPack/index.html +++ b/docs/next/api/geoprocessing/interfaces/MetricPack/index.html @@ -4,7 +4,7 @@ MetricPack | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/interfaces/MultiLineString/index.html b/docs/next/api/geoprocessing/interfaces/MultiLineString/index.html index f06632038..681ea4da1 100644 --- a/docs/next/api/geoprocessing/interfaces/MultiLineString/index.html +++ b/docs/next/api/geoprocessing/interfaces/MultiLineString/index.html @@ -4,7 +4,7 @@ MultiLineString | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/interfaces/MultiPolygon/index.html b/docs/next/api/geoprocessing/interfaces/MultiPolygon/index.html index 9be508336..87b2b8480 100644 --- a/docs/next/api/geoprocessing/interfaces/MultiPolygon/index.html +++ b/docs/next/api/geoprocessing/interfaces/MultiPolygon/index.html @@ -4,7 +4,7 @@ MultiPolygon | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/interfaces/Node/index.html b/docs/next/api/geoprocessing/interfaces/Node/index.html index 2923e91be..0eed6da6a 100644 --- a/docs/next/api/geoprocessing/interfaces/Node/index.html +++ b/docs/next/api/geoprocessing/interfaces/Node/index.html @@ -4,7 +4,7 @@ Node | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/interfaces/NullSketch/index.html b/docs/next/api/geoprocessing/interfaces/NullSketch/index.html index ed9bcfe67..7e58d96af 100644 --- a/docs/next/api/geoprocessing/interfaces/NullSketch/index.html +++ b/docs/next/api/geoprocessing/interfaces/NullSketch/index.html @@ -4,7 +4,7 @@ NullSketch | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/interfaces/NullSketchCollection/index.html b/docs/next/api/geoprocessing/interfaces/NullSketchCollection/index.html index 312b0a42a..4b2a7549a 100644 --- a/docs/next/api/geoprocessing/interfaces/NullSketchCollection/index.html +++ b/docs/next/api/geoprocessing/interfaces/NullSketchCollection/index.html @@ -4,7 +4,7 @@ NullSketchCollection | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/interfaces/OverlapRasterOptions/index.html b/docs/next/api/geoprocessing/interfaces/OverlapRasterOptions/index.html index a15d6f6e5..c766af841 100644 --- a/docs/next/api/geoprocessing/interfaces/OverlapRasterOptions/index.html +++ b/docs/next/api/geoprocessing/interfaces/OverlapRasterOptions/index.html @@ -4,7 +4,7 @@ OverlapRasterOptions | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/interfaces/PercentEdgeOptions/index.html b/docs/next/api/geoprocessing/interfaces/PercentEdgeOptions/index.html index 45f129fce..b51b9c598 100644 --- a/docs/next/api/geoprocessing/interfaces/PercentEdgeOptions/index.html +++ b/docs/next/api/geoprocessing/interfaces/PercentEdgeOptions/index.html @@ -4,7 +4,7 @@ PercentEdgeOptions | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/interfaces/Point/index.html b/docs/next/api/geoprocessing/interfaces/Point/index.html index 80e6942ec..cddeae264 100644 --- a/docs/next/api/geoprocessing/interfaces/Point/index.html +++ b/docs/next/api/geoprocessing/interfaces/Point/index.html @@ -4,7 +4,7 @@ Point | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/interfaces/Polygon/index.html b/docs/next/api/geoprocessing/interfaces/Polygon/index.html index 8e33957b7..4959dfa3f 100644 --- a/docs/next/api/geoprocessing/interfaces/Polygon/index.html +++ b/docs/next/api/geoprocessing/interfaces/Polygon/index.html @@ -4,7 +4,7 @@ Polygon | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/interfaces/PreprocessingHandlerOptions/index.html b/docs/next/api/geoprocessing/interfaces/PreprocessingHandlerOptions/index.html index f2c0e024e..7af39a506 100644 --- a/docs/next/api/geoprocessing/interfaces/PreprocessingHandlerOptions/index.html +++ b/docs/next/api/geoprocessing/interfaces/PreprocessingHandlerOptions/index.html @@ -4,7 +4,7 @@ PreprocessingHandlerOptions | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/interfaces/PreprocessingRequest/index.html b/docs/next/api/geoprocessing/interfaces/PreprocessingRequest/index.html index 91341cc87..0ad184511 100644 --- a/docs/next/api/geoprocessing/interfaces/PreprocessingRequest/index.html +++ b/docs/next/api/geoprocessing/interfaces/PreprocessingRequest/index.html @@ -4,7 +4,7 @@ PreprocessingRequest | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/interfaces/PreprocessingResponse/index.html b/docs/next/api/geoprocessing/interfaces/PreprocessingResponse/index.html index 7e360c54c..0081874f4 100644 --- a/docs/next/api/geoprocessing/interfaces/PreprocessingResponse/index.html +++ b/docs/next/api/geoprocessing/interfaces/PreprocessingResponse/index.html @@ -4,7 +4,7 @@ PreprocessingResponse\<ResponseType\> | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/interfaces/PreprocessingService/index.html b/docs/next/api/geoprocessing/interfaces/PreprocessingService/index.html index 18704aff4..cc99e1c82 100644 --- a/docs/next/api/geoprocessing/interfaces/PreprocessingService/index.html +++ b/docs/next/api/geoprocessing/interfaces/PreprocessingService/index.html @@ -4,7 +4,7 @@ PreprocessingService | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/interfaces/PreprocessingServiceMetadata/index.html b/docs/next/api/geoprocessing/interfaces/PreprocessingServiceMetadata/index.html index d73eedffd..bfdc401c7 100644 --- a/docs/next/api/geoprocessing/interfaces/PreprocessingServiceMetadata/index.html +++ b/docs/next/api/geoprocessing/interfaces/PreprocessingServiceMetadata/index.html @@ -4,7 +4,7 @@ PreprocessingServiceMetadata | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/interfaces/ProjectClientConfig/index.html b/docs/next/api/geoprocessing/interfaces/ProjectClientConfig/index.html index 860c604ef..e0513279b 100644 --- a/docs/next/api/geoprocessing/interfaces/ProjectClientConfig/index.html +++ b/docs/next/api/geoprocessing/interfaces/ProjectClientConfig/index.html @@ -4,7 +4,7 @@ ProjectClientConfig | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/interfaces/ProjectClientInterface/index.html b/docs/next/api/geoprocessing/interfaces/ProjectClientInterface/index.html index 06b4e09a8..c477c75c2 100644 --- a/docs/next/api/geoprocessing/interfaces/ProjectClientInterface/index.html +++ b/docs/next/api/geoprocessing/interfaces/ProjectClientInterface/index.html @@ -4,7 +4,7 @@ ProjectClientInterface | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/interfaces/RasterStatsOptions/index.html b/docs/next/api/geoprocessing/interfaces/RasterStatsOptions/index.html index a4483f1d5..fe79bdd69 100644 --- a/docs/next/api/geoprocessing/interfaces/RasterStatsOptions/index.html +++ b/docs/next/api/geoprocessing/interfaces/RasterStatsOptions/index.html @@ -4,7 +4,7 @@ RasterStatsOptions | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/interfaces/RbcsObjective/index.html b/docs/next/api/geoprocessing/interfaces/RbcsObjective/index.html index 81eb34c49..642dd2174 100644 --- a/docs/next/api/geoprocessing/interfaces/RbcsObjective/index.html +++ b/docs/next/api/geoprocessing/interfaces/RbcsObjective/index.html @@ -4,7 +4,7 @@ RbcsObjective | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/interfaces/RegBasedClassificationMetric/index.html b/docs/next/api/geoprocessing/interfaces/RegBasedClassificationMetric/index.html index 1fa30e5b1..1db74f7b4 100644 --- a/docs/next/api/geoprocessing/interfaces/RegBasedClassificationMetric/index.html +++ b/docs/next/api/geoprocessing/interfaces/RegBasedClassificationMetric/index.html @@ -4,7 +4,7 @@ RegBasedClassificationMetric | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/interfaces/Report/index.html b/docs/next/api/geoprocessing/interfaces/Report/index.html index 8f147b87e..595c86b4e 100644 --- a/docs/next/api/geoprocessing/interfaces/Report/index.html +++ b/docs/next/api/geoprocessing/interfaces/Report/index.html @@ -4,7 +4,7 @@ Report | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/interfaces/ReportContextValue/index.html b/docs/next/api/geoprocessing/interfaces/ReportContextValue/index.html index 56bb07aed..bac4640a5 100644 --- a/docs/next/api/geoprocessing/interfaces/ReportContextValue/index.html +++ b/docs/next/api/geoprocessing/interfaces/ReportContextValue/index.html @@ -4,7 +4,7 @@ ReportContextValue | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/interfaces/ReportResult/index.html b/docs/next/api/geoprocessing/interfaces/ReportResult/index.html index 96d3ada05..510dd8838 100644 --- a/docs/next/api/geoprocessing/interfaces/ReportResult/index.html +++ b/docs/next/api/geoprocessing/interfaces/ReportResult/index.html @@ -4,7 +4,7 @@ ReportResult | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/interfaces/ReportResultBase/index.html b/docs/next/api/geoprocessing/interfaces/ReportResultBase/index.html index f1a481eac..8269f5487 100644 --- a/docs/next/api/geoprocessing/interfaces/ReportResultBase/index.html +++ b/docs/next/api/geoprocessing/interfaces/ReportResultBase/index.html @@ -4,7 +4,7 @@ ReportResultBase | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/interfaces/RootTaskItem/index.html b/docs/next/api/geoprocessing/interfaces/RootTaskItem/index.html index 44d48741c..14a90c093 100644 --- a/docs/next/api/geoprocessing/interfaces/RootTaskItem/index.html +++ b/docs/next/api/geoprocessing/interfaces/RootTaskItem/index.html @@ -4,7 +4,7 @@ RootTaskItem\<ResultType\> | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/interfaces/RoundDecimalOptions/index.html b/docs/next/api/geoprocessing/interfaces/RoundDecimalOptions/index.html index 6ef17834e..f912f295d 100644 --- a/docs/next/api/geoprocessing/interfaces/RoundDecimalOptions/index.html +++ b/docs/next/api/geoprocessing/interfaces/RoundDecimalOptions/index.html @@ -4,7 +4,7 @@ RoundDecimalOptions | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/interfaces/SeaSketchReportingMessageEvent/index.html b/docs/next/api/geoprocessing/interfaces/SeaSketchReportingMessageEvent/index.html index 562e41b21..46baa81cb 100644 --- a/docs/next/api/geoprocessing/interfaces/SeaSketchReportingMessageEvent/index.html +++ b/docs/next/api/geoprocessing/interfaces/SeaSketchReportingMessageEvent/index.html @@ -4,7 +4,7 @@ SeaSketchReportingMessageEvent | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/interfaces/SeaSketchReportingToggleLanguageEvent/index.html b/docs/next/api/geoprocessing/interfaces/SeaSketchReportingToggleLanguageEvent/index.html index d6e53a043..d8e5c623a 100644 --- a/docs/next/api/geoprocessing/interfaces/SeaSketchReportingToggleLanguageEvent/index.html +++ b/docs/next/api/geoprocessing/interfaces/SeaSketchReportingToggleLanguageEvent/index.html @@ -4,7 +4,7 @@ SeaSketchReportingToggleLanguageEvent | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/interfaces/SeaSketchReportingToggleLayerVisibilityEvent/index.html b/docs/next/api/geoprocessing/interfaces/SeaSketchReportingToggleLayerVisibilityEvent/index.html index 4f7a580a5..85dec10de 100644 --- a/docs/next/api/geoprocessing/interfaces/SeaSketchReportingToggleLayerVisibilityEvent/index.html +++ b/docs/next/api/geoprocessing/interfaces/SeaSketchReportingToggleLayerVisibilityEvent/index.html @@ -4,7 +4,7 @@ SeaSketchReportingToggleLayerVisibilityEvent | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/interfaces/SeaSketchReportingVisibleLayersChangeEvent/index.html b/docs/next/api/geoprocessing/interfaces/SeaSketchReportingVisibleLayersChangeEvent/index.html index 5d8ffca70..b90748569 100644 --- a/docs/next/api/geoprocessing/interfaces/SeaSketchReportingVisibleLayersChangeEvent/index.html +++ b/docs/next/api/geoprocessing/interfaces/SeaSketchReportingVisibleLayersChangeEvent/index.html @@ -4,7 +4,7 @@ SeaSketchReportingVisibleLayersChangeEvent | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/interfaces/Sketch/index.html b/docs/next/api/geoprocessing/interfaces/Sketch/index.html index 1e0261c5f..5360b408b 100644 --- a/docs/next/api/geoprocessing/interfaces/Sketch/index.html +++ b/docs/next/api/geoprocessing/interfaces/Sketch/index.html @@ -4,7 +4,7 @@ Sketch\<G\> | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/interfaces/SketchCollection/index.html b/docs/next/api/geoprocessing/interfaces/SketchCollection/index.html index 638997f05..f81b75e69 100644 --- a/docs/next/api/geoprocessing/interfaces/SketchCollection/index.html +++ b/docs/next/api/geoprocessing/interfaces/SketchCollection/index.html @@ -4,7 +4,7 @@ SketchCollection\<G\> | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/interfaces/SketchMap/index.html b/docs/next/api/geoprocessing/interfaces/SketchMap/index.html index f501d61a6..de94c4f56 100644 --- a/docs/next/api/geoprocessing/interfaces/SketchMap/index.html +++ b/docs/next/api/geoprocessing/interfaces/SketchMap/index.html @@ -4,7 +4,7 @@ SketchMap | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/interfaces/StatsObject/index.html b/docs/next/api/geoprocessing/interfaces/StatsObject/index.html index 87b3e0397..b827357dd 100644 --- a/docs/next/api/geoprocessing/interfaces/StatsObject/index.html +++ b/docs/next/api/geoprocessing/interfaces/StatsObject/index.html @@ -4,7 +4,7 @@ StatsObject | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/interfaces/TestExampleOutput/index.html b/docs/next/api/geoprocessing/interfaces/TestExampleOutput/index.html index d8d8b4e20..d9b763743 100644 --- a/docs/next/api/geoprocessing/interfaces/TestExampleOutput/index.html +++ b/docs/next/api/geoprocessing/interfaces/TestExampleOutput/index.html @@ -4,7 +4,7 @@ TestExampleOutput | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/interfaces/VectorDataSourceDetails/index.html b/docs/next/api/geoprocessing/interfaces/VectorDataSourceDetails/index.html index e3967ab05..e69d1249c 100644 --- a/docs/next/api/geoprocessing/interfaces/VectorDataSourceDetails/index.html +++ b/docs/next/api/geoprocessing/interfaces/VectorDataSourceDetails/index.html @@ -4,7 +4,7 @@ VectorDataSourceDetails | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/interfaces/VectorDataSourceOptions/index.html b/docs/next/api/geoprocessing/interfaces/VectorDataSourceOptions/index.html index 8a83ed4cc..5fc51fee8 100644 --- a/docs/next/api/geoprocessing/interfaces/VectorDataSourceOptions/index.html +++ b/docs/next/api/geoprocessing/interfaces/VectorDataSourceOptions/index.html @@ -4,7 +4,7 @@ VectorDataSourceOptions | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/interfaces/VectorFeature/index.html b/docs/next/api/geoprocessing/interfaces/VectorFeature/index.html index 7ffa95e3e..426cb93c9 100644 --- a/docs/next/api/geoprocessing/interfaces/VectorFeature/index.html +++ b/docs/next/api/geoprocessing/interfaces/VectorFeature/index.html @@ -4,7 +4,7 @@ VectorFeature | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/interfaces/VectorPropertyFilter/index.html b/docs/next/api/geoprocessing/interfaces/VectorPropertyFilter/index.html index 97e3053e8..5789b7ce0 100644 --- a/docs/next/api/geoprocessing/interfaces/VectorPropertyFilter/index.html +++ b/docs/next/api/geoprocessing/interfaces/VectorPropertyFilter/index.html @@ -4,7 +4,7 @@ VectorPropertyFilter | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/interfaces/WindowOptions/index.html b/docs/next/api/geoprocessing/interfaces/WindowOptions/index.html index 84604a2a3..203547dc9 100644 --- a/docs/next/api/geoprocessing/interfaces/WindowOptions/index.html +++ b/docs/next/api/geoprocessing/interfaces/WindowOptions/index.html @@ -4,7 +4,7 @@ WindowOptions | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/type-aliases/BBox/index.html b/docs/next/api/geoprocessing/type-aliases/BBox/index.html index 56c95f93f..e3e3f2fa4 100644 --- a/docs/next/api/geoprocessing/type-aliases/BBox/index.html +++ b/docs/next/api/geoprocessing/type-aliases/BBox/index.html @@ -4,7 +4,7 @@ BBox | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/type-aliases/BaseDatasource/index.html b/docs/next/api/geoprocessing/type-aliases/BaseDatasource/index.html index 265555e1f..d858b2722 100644 --- a/docs/next/api/geoprocessing/type-aliases/BaseDatasource/index.html +++ b/docs/next/api/geoprocessing/type-aliases/BaseDatasource/index.html @@ -4,7 +4,7 @@ BaseDatasource | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/type-aliases/ClassStats/index.html b/docs/next/api/geoprocessing/type-aliases/ClassStats/index.html index 154c05f0e..c3cf9fc80 100644 --- a/docs/next/api/geoprocessing/type-aliases/ClassStats/index.html +++ b/docs/next/api/geoprocessing/type-aliases/ClassStats/index.html @@ -4,7 +4,7 @@ ClassStats | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/type-aliases/ClassificationId/index.html b/docs/next/api/geoprocessing/type-aliases/ClassificationId/index.html index ccc81ed91..999d3de09 100644 --- a/docs/next/api/geoprocessing/type-aliases/ClassificationId/index.html +++ b/docs/next/api/geoprocessing/type-aliases/ClassificationId/index.html @@ -4,7 +4,7 @@ ClassificationId | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/type-aliases/ClientJsonConfig/index.html b/docs/next/api/geoprocessing/type-aliases/ClientJsonConfig/index.html index 0f1108c0a..0ecf021f8 100644 --- a/docs/next/api/geoprocessing/type-aliases/ClientJsonConfig/index.html +++ b/docs/next/api/geoprocessing/type-aliases/ClientJsonConfig/index.html @@ -4,7 +4,7 @@ ClientJsonConfig | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/type-aliases/ClipOperations/index.html b/docs/next/api/geoprocessing/type-aliases/ClipOperations/index.html index 0aa6b5f92..3aa261576 100644 --- a/docs/next/api/geoprocessing/type-aliases/ClipOperations/index.html +++ b/docs/next/api/geoprocessing/type-aliases/ClipOperations/index.html @@ -4,7 +4,7 @@ ClipOperations | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/type-aliases/DataClass/index.html b/docs/next/api/geoprocessing/type-aliases/DataClass/index.html index af2f57b17..f18de7638 100644 --- a/docs/next/api/geoprocessing/type-aliases/DataClass/index.html +++ b/docs/next/api/geoprocessing/type-aliases/DataClass/index.html @@ -4,7 +4,7 @@ DataClass | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/type-aliases/Datasource/index.html b/docs/next/api/geoprocessing/type-aliases/Datasource/index.html index af7e237eb..c5dfb124d 100644 --- a/docs/next/api/geoprocessing/type-aliases/Datasource/index.html +++ b/docs/next/api/geoprocessing/type-aliases/Datasource/index.html @@ -4,7 +4,7 @@ Datasource | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/type-aliases/EXTRA_RASTER_STAT/index.html b/docs/next/api/geoprocessing/type-aliases/EXTRA_RASTER_STAT/index.html index 48f279dc7..c2fabb473 100644 --- a/docs/next/api/geoprocessing/type-aliases/EXTRA_RASTER_STAT/index.html +++ b/docs/next/api/geoprocessing/type-aliases/EXTRA_RASTER_STAT/index.html @@ -4,7 +4,7 @@ EXTRA\_RASTER\_STAT | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/type-aliases/EezLandUnion/index.html b/docs/next/api/geoprocessing/type-aliases/EezLandUnion/index.html index 1cbb09fb0..7f0a0dbff 100644 --- a/docs/next/api/geoprocessing/type-aliases/EezLandUnion/index.html +++ b/docs/next/api/geoprocessing/type-aliases/EezLandUnion/index.html @@ -4,7 +4,7 @@ EezLandUnion | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/type-aliases/ExecutionMode/index.html b/docs/next/api/geoprocessing/type-aliases/ExecutionMode/index.html index 48c04043b..66e2b3132 100644 --- a/docs/next/api/geoprocessing/type-aliases/ExecutionMode/index.html +++ b/docs/next/api/geoprocessing/type-aliases/ExecutionMode/index.html @@ -4,7 +4,7 @@ ExecutionMode | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/type-aliases/ExternalRasterDatasource/index.html b/docs/next/api/geoprocessing/type-aliases/ExternalRasterDatasource/index.html index 748dd105f..9b9516dfd 100644 --- a/docs/next/api/geoprocessing/type-aliases/ExternalRasterDatasource/index.html +++ b/docs/next/api/geoprocessing/type-aliases/ExternalRasterDatasource/index.html @@ -4,7 +4,7 @@ ExternalRasterDatasource | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/type-aliases/ExternalVectorDatasource/index.html b/docs/next/api/geoprocessing/type-aliases/ExternalVectorDatasource/index.html index 56c634e26..6504a2eaa 100644 --- a/docs/next/api/geoprocessing/type-aliases/ExternalVectorDatasource/index.html +++ b/docs/next/api/geoprocessing/type-aliases/ExternalVectorDatasource/index.html @@ -4,7 +4,7 @@ ExternalVectorDatasource | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/type-aliases/FunctionExtraParams/index.html b/docs/next/api/geoprocessing/type-aliases/FunctionExtraParams/index.html index fe71afb84..c244576c1 100644 --- a/docs/next/api/geoprocessing/type-aliases/FunctionExtraParams/index.html +++ b/docs/next/api/geoprocessing/type-aliases/FunctionExtraParams/index.html @@ -4,7 +4,7 @@ FunctionExtraParams | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/type-aliases/GEOBLAZE_RASTER_STAT/index.html b/docs/next/api/geoprocessing/type-aliases/GEOBLAZE_RASTER_STAT/index.html index b94e3682c..fe626374c 100644 --- a/docs/next/api/geoprocessing/type-aliases/GEOBLAZE_RASTER_STAT/index.html +++ b/docs/next/api/geoprocessing/type-aliases/GEOBLAZE_RASTER_STAT/index.html @@ -4,7 +4,7 @@ GEOBLAZE\_RASTER\_STAT | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/type-aliases/GeoJsonProperties/index.html b/docs/next/api/geoprocessing/type-aliases/GeoJsonProperties/index.html index 4937d032f..ac059ee5d 100644 --- a/docs/next/api/geoprocessing/type-aliases/GeoJsonProperties/index.html +++ b/docs/next/api/geoprocessing/type-aliases/GeoJsonProperties/index.html @@ -4,7 +4,7 @@ GeoJsonProperties | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/type-aliases/GeoTypes/index.html b/docs/next/api/geoprocessing/type-aliases/GeoTypes/index.html index 140d75504..22702ac94 100644 --- a/docs/next/api/geoprocessing/type-aliases/GeoTypes/index.html +++ b/docs/next/api/geoprocessing/type-aliases/GeoTypes/index.html @@ -4,7 +4,7 @@ GeoTypes | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/type-aliases/Geographies/index.html b/docs/next/api/geoprocessing/type-aliases/Geographies/index.html index ff9e2db20..e8c71e2d2 100644 --- a/docs/next/api/geoprocessing/type-aliases/Geographies/index.html +++ b/docs/next/api/geoprocessing/type-aliases/Geographies/index.html @@ -4,7 +4,7 @@ Geographies | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/type-aliases/Geography/index.html b/docs/next/api/geoprocessing/type-aliases/Geography/index.html index a06f4462e..6a0fda4fb 100644 --- a/docs/next/api/geoprocessing/type-aliases/Geography/index.html +++ b/docs/next/api/geoprocessing/type-aliases/Geography/index.html @@ -4,7 +4,7 @@ Geography | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/type-aliases/Geometry/index.html b/docs/next/api/geoprocessing/type-aliases/Geometry/index.html index 5a7a97995..3c34206e4 100644 --- a/docs/next/api/geoprocessing/type-aliases/Geometry/index.html +++ b/docs/next/api/geoprocessing/type-aliases/Geometry/index.html @@ -4,7 +4,7 @@ Geometry | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/type-aliases/GeoprocessingJsonConfig/index.html b/docs/next/api/geoprocessing/type-aliases/GeoprocessingJsonConfig/index.html index 3339a83f6..f5ff1aee7 100644 --- a/docs/next/api/geoprocessing/type-aliases/GeoprocessingJsonConfig/index.html +++ b/docs/next/api/geoprocessing/type-aliases/GeoprocessingJsonConfig/index.html @@ -4,7 +4,7 @@ GeoprocessingJsonConfig | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/type-aliases/GeoprocessingRequest/index.html b/docs/next/api/geoprocessing/type-aliases/GeoprocessingRequest/index.html index c7367532b..c3993accf 100644 --- a/docs/next/api/geoprocessing/type-aliases/GeoprocessingRequest/index.html +++ b/docs/next/api/geoprocessing/type-aliases/GeoprocessingRequest/index.html @@ -4,7 +4,7 @@ GeoprocessingRequest\<G\> | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/type-aliases/GeoprocessingRequestParams/index.html b/docs/next/api/geoprocessing/type-aliases/GeoprocessingRequestParams/index.html index b433baf32..a43ab3b39 100644 --- a/docs/next/api/geoprocessing/type-aliases/GeoprocessingRequestParams/index.html +++ b/docs/next/api/geoprocessing/type-aliases/GeoprocessingRequestParams/index.html @@ -4,7 +4,7 @@ GeoprocessingRequestParams | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/type-aliases/GeorasterMetadata/index.html b/docs/next/api/geoprocessing/type-aliases/GeorasterMetadata/index.html index a9f18ca4e..759c83b77 100644 --- a/docs/next/api/geoprocessing/type-aliases/GeorasterMetadata/index.html +++ b/docs/next/api/geoprocessing/type-aliases/GeorasterMetadata/index.html @@ -4,7 +4,7 @@ GeorasterMetadata | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/type-aliases/GroupMetricAgg/index.html b/docs/next/api/geoprocessing/type-aliases/GroupMetricAgg/index.html index b1d41ac30..08f86a85f 100644 --- a/docs/next/api/geoprocessing/type-aliases/GroupMetricAgg/index.html +++ b/docs/next/api/geoprocessing/type-aliases/GroupMetricAgg/index.html @@ -4,7 +4,7 @@ GroupMetricAgg | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/type-aliases/GroupMetricSketchAgg/index.html b/docs/next/api/geoprocessing/type-aliases/GroupMetricSketchAgg/index.html index 87e34241c..b8f68ff55 100644 --- a/docs/next/api/geoprocessing/type-aliases/GroupMetricSketchAgg/index.html +++ b/docs/next/api/geoprocessing/type-aliases/GroupMetricSketchAgg/index.html @@ -4,7 +4,7 @@ GroupMetricSketchAgg | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/type-aliases/ISO8601DateTime/index.html b/docs/next/api/geoprocessing/type-aliases/ISO8601DateTime/index.html index 9b4ee2928..e9731cf89 100644 --- a/docs/next/api/geoprocessing/type-aliases/ISO8601DateTime/index.html +++ b/docs/next/api/geoprocessing/type-aliases/ISO8601DateTime/index.html @@ -4,7 +4,7 @@ ISO8601DateTime | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/type-aliases/ISO8601Duration/index.html b/docs/next/api/geoprocessing/type-aliases/ISO8601Duration/index.html index 38dbfd6bd..acb6365f7 100644 --- a/docs/next/api/geoprocessing/type-aliases/ISO8601Duration/index.html +++ b/docs/next/api/geoprocessing/type-aliases/ISO8601Duration/index.html @@ -4,7 +4,7 @@ ISO8601Duration | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/type-aliases/ImportRasterDatasourceConfig/index.html b/docs/next/api/geoprocessing/type-aliases/ImportRasterDatasourceConfig/index.html index f5bd1c1cf..d8df222fd 100644 --- a/docs/next/api/geoprocessing/type-aliases/ImportRasterDatasourceConfig/index.html +++ b/docs/next/api/geoprocessing/type-aliases/ImportRasterDatasourceConfig/index.html @@ -4,7 +4,7 @@ ImportRasterDatasourceConfig | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/type-aliases/ImportRasterDatasourceOptions/index.html b/docs/next/api/geoprocessing/type-aliases/ImportRasterDatasourceOptions/index.html index f90a1081a..51245d6fc 100644 --- a/docs/next/api/geoprocessing/type-aliases/ImportRasterDatasourceOptions/index.html +++ b/docs/next/api/geoprocessing/type-aliases/ImportRasterDatasourceOptions/index.html @@ -4,7 +4,7 @@ ImportRasterDatasourceOptions | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/type-aliases/ImportVectorDatasourceConfig/index.html b/docs/next/api/geoprocessing/type-aliases/ImportVectorDatasourceConfig/index.html index 853e969fd..7f76c279a 100644 --- a/docs/next/api/geoprocessing/type-aliases/ImportVectorDatasourceConfig/index.html +++ b/docs/next/api/geoprocessing/type-aliases/ImportVectorDatasourceConfig/index.html @@ -4,7 +4,7 @@ ImportVectorDatasourceConfig | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/type-aliases/ImportVectorDatasourceOptions/index.html b/docs/next/api/geoprocessing/type-aliases/ImportVectorDatasourceOptions/index.html index 02c576c72..39ce2c8c3 100644 --- a/docs/next/api/geoprocessing/type-aliases/ImportVectorDatasourceOptions/index.html +++ b/docs/next/api/geoprocessing/type-aliases/ImportVectorDatasourceOptions/index.html @@ -4,7 +4,7 @@ ImportVectorDatasourceOptions | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/type-aliases/InternalRasterDatasource/index.html b/docs/next/api/geoprocessing/type-aliases/InternalRasterDatasource/index.html index 14209d5ca..53833d8fc 100644 --- a/docs/next/api/geoprocessing/type-aliases/InternalRasterDatasource/index.html +++ b/docs/next/api/geoprocessing/type-aliases/InternalRasterDatasource/index.html @@ -4,7 +4,7 @@ InternalRasterDatasource | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/type-aliases/InternalVectorDatasource/index.html b/docs/next/api/geoprocessing/type-aliases/InternalVectorDatasource/index.html index c25a096db..b68d19fda 100644 --- a/docs/next/api/geoprocessing/type-aliases/InternalVectorDatasource/index.html +++ b/docs/next/api/geoprocessing/type-aliases/InternalVectorDatasource/index.html @@ -4,7 +4,7 @@ InternalVectorDatasource | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/type-aliases/IucnActivityRankId/index.html b/docs/next/api/geoprocessing/type-aliases/IucnActivityRankId/index.html index 73f1a26ea..eb52f26ef 100644 --- a/docs/next/api/geoprocessing/type-aliases/IucnActivityRankId/index.html +++ b/docs/next/api/geoprocessing/type-aliases/IucnActivityRankId/index.html @@ -4,7 +4,7 @@ IucnActivityRankId | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/type-aliases/JSONValue/index.html b/docs/next/api/geoprocessing/type-aliases/JSONValue/index.html index e1be59f70..40d0b4e0f 100644 --- a/docs/next/api/geoprocessing/type-aliases/JSONValue/index.html +++ b/docs/next/api/geoprocessing/type-aliases/JSONValue/index.html @@ -4,7 +4,7 @@ JSONValue | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/type-aliases/LoadedPackage/index.html b/docs/next/api/geoprocessing/type-aliases/LoadedPackage/index.html index be6b45715..fd429bb00 100644 --- a/docs/next/api/geoprocessing/type-aliases/LoadedPackage/index.html +++ b/docs/next/api/geoprocessing/type-aliases/LoadedPackage/index.html @@ -4,7 +4,7 @@ LoadedPackage | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/type-aliases/Metric/index.html b/docs/next/api/geoprocessing/type-aliases/Metric/index.html index 511faf889..2ef5945f2 100644 --- a/docs/next/api/geoprocessing/type-aliases/Metric/index.html +++ b/docs/next/api/geoprocessing/type-aliases/Metric/index.html @@ -4,7 +4,7 @@ Metric | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/type-aliases/MetricDimension/index.html b/docs/next/api/geoprocessing/type-aliases/MetricDimension/index.html index 08270a0b3..ad3e9f81e 100644 --- a/docs/next/api/geoprocessing/type-aliases/MetricDimension/index.html +++ b/docs/next/api/geoprocessing/type-aliases/MetricDimension/index.html @@ -4,7 +4,7 @@ MetricDimension | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/type-aliases/MetricGroup/index.html b/docs/next/api/geoprocessing/type-aliases/MetricGroup/index.html index 8dd8e4724..6303b34f9 100644 --- a/docs/next/api/geoprocessing/type-aliases/MetricGroup/index.html +++ b/docs/next/api/geoprocessing/type-aliases/MetricGroup/index.html @@ -4,7 +4,7 @@ MetricGroup | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/type-aliases/MetricGroups/index.html b/docs/next/api/geoprocessing/type-aliases/MetricGroups/index.html index f6f9609a5..214400a95 100644 --- a/docs/next/api/geoprocessing/type-aliases/MetricGroups/index.html +++ b/docs/next/api/geoprocessing/type-aliases/MetricGroups/index.html @@ -4,7 +4,7 @@ MetricGroups | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/type-aliases/MetricIdTypes/index.html b/docs/next/api/geoprocessing/type-aliases/MetricIdTypes/index.html index 22f833de6..ad8a02dff 100644 --- a/docs/next/api/geoprocessing/type-aliases/MetricIdTypes/index.html +++ b/docs/next/api/geoprocessing/type-aliases/MetricIdTypes/index.html @@ -4,7 +4,7 @@ MetricIdTypes | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/type-aliases/MetricProperty/index.html b/docs/next/api/geoprocessing/type-aliases/MetricProperty/index.html index 318e52c39..85119f3f1 100644 --- a/docs/next/api/geoprocessing/type-aliases/MetricProperty/index.html +++ b/docs/next/api/geoprocessing/type-aliases/MetricProperty/index.html @@ -4,7 +4,7 @@ MetricProperty | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/type-aliases/Metrics/index.html b/docs/next/api/geoprocessing/type-aliases/Metrics/index.html index c7cb24cd6..09e0a0c35 100644 --- a/docs/next/api/geoprocessing/type-aliases/Metrics/index.html +++ b/docs/next/api/geoprocessing/type-aliases/Metrics/index.html @@ -4,7 +4,7 @@ Metrics | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/type-aliases/MpaClassification/index.html b/docs/next/api/geoprocessing/type-aliases/MpaClassification/index.html index 372c8764b..96e4364d0 100644 --- a/docs/next/api/geoprocessing/type-aliases/MpaClassification/index.html +++ b/docs/next/api/geoprocessing/type-aliases/MpaClassification/index.html @@ -4,7 +4,7 @@ MpaClassification | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/type-aliases/Nullable/index.html b/docs/next/api/geoprocessing/type-aliases/Nullable/index.html index 83b5c9886..2608049a5 100644 --- a/docs/next/api/geoprocessing/type-aliases/Nullable/index.html +++ b/docs/next/api/geoprocessing/type-aliases/Nullable/index.html @@ -4,7 +4,7 @@ Nullable\<T\> | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/type-aliases/Objective/index.html b/docs/next/api/geoprocessing/type-aliases/Objective/index.html index b06d815aa..9151181c4 100644 --- a/docs/next/api/geoprocessing/type-aliases/Objective/index.html +++ b/docs/next/api/geoprocessing/type-aliases/Objective/index.html @@ -4,7 +4,7 @@ Objective | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/type-aliases/ObjectiveAnswer/index.html b/docs/next/api/geoprocessing/type-aliases/ObjectiveAnswer/index.html index 3b4ad560b..eef0645cf 100644 --- a/docs/next/api/geoprocessing/type-aliases/ObjectiveAnswer/index.html +++ b/docs/next/api/geoprocessing/type-aliases/ObjectiveAnswer/index.html @@ -4,7 +4,7 @@ ObjectiveAnswer | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/type-aliases/ObjectiveAnswerMap/index.html b/docs/next/api/geoprocessing/type-aliases/ObjectiveAnswerMap/index.html index 543d3e8dc..ea2b71189 100644 --- a/docs/next/api/geoprocessing/type-aliases/ObjectiveAnswerMap/index.html +++ b/docs/next/api/geoprocessing/type-aliases/ObjectiveAnswerMap/index.html @@ -4,7 +4,7 @@ ObjectiveAnswerMap | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/type-aliases/ObjectiveId/index.html b/docs/next/api/geoprocessing/type-aliases/ObjectiveId/index.html index 552f10c09..396faaf18 100644 --- a/docs/next/api/geoprocessing/type-aliases/ObjectiveId/index.html +++ b/docs/next/api/geoprocessing/type-aliases/ObjectiveId/index.html @@ -4,7 +4,7 @@ ObjectiveId | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/type-aliases/Objectives/index.html b/docs/next/api/geoprocessing/type-aliases/Objectives/index.html index 9a22b2da5..781a9bb1a 100644 --- a/docs/next/api/geoprocessing/type-aliases/Objectives/index.html +++ b/docs/next/api/geoprocessing/type-aliases/Objectives/index.html @@ -4,7 +4,7 @@ Objectives | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/type-aliases/OsmLandFeature/index.html b/docs/next/api/geoprocessing/type-aliases/OsmLandFeature/index.html index a1e681e18..4d4a4b77a 100644 --- a/docs/next/api/geoprocessing/type-aliases/OsmLandFeature/index.html +++ b/docs/next/api/geoprocessing/type-aliases/OsmLandFeature/index.html @@ -4,7 +4,7 @@ OsmLandFeature | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/type-aliases/Package/index.html b/docs/next/api/geoprocessing/type-aliases/Package/index.html index 40efad76e..e02b2f045 100644 --- a/docs/next/api/geoprocessing/type-aliases/Package/index.html +++ b/docs/next/api/geoprocessing/type-aliases/Package/index.html @@ -4,7 +4,7 @@ Package | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/type-aliases/PartialReportContextValue/index.html b/docs/next/api/geoprocessing/type-aliases/PartialReportContextValue/index.html index c088ccd8d..60802e184 100644 --- a/docs/next/api/geoprocessing/type-aliases/PartialReportContextValue/index.html +++ b/docs/next/api/geoprocessing/type-aliases/PartialReportContextValue/index.html @@ -4,7 +4,7 @@ PartialReportContextValue | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/type-aliases/Position/index.html b/docs/next/api/geoprocessing/type-aliases/Position/index.html index ed54048fb..5d2479d1f 100644 --- a/docs/next/api/geoprocessing/type-aliases/Position/index.html +++ b/docs/next/api/geoprocessing/type-aliases/Position/index.html @@ -4,7 +4,7 @@ Position | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/type-aliases/Project/index.html b/docs/next/api/geoprocessing/type-aliases/Project/index.html index 1c481cb3b..1bec2b19c 100644 --- a/docs/next/api/geoprocessing/type-aliases/Project/index.html +++ b/docs/next/api/geoprocessing/type-aliases/Project/index.html @@ -4,7 +4,7 @@ Project | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/type-aliases/RasterDatasource/index.html b/docs/next/api/geoprocessing/type-aliases/RasterDatasource/index.html index e56f4dbc6..b65a8f947 100644 --- a/docs/next/api/geoprocessing/type-aliases/RasterDatasource/index.html +++ b/docs/next/api/geoprocessing/type-aliases/RasterDatasource/index.html @@ -4,7 +4,7 @@ RasterDatasource | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/type-aliases/RbcsMpaObjectiveAnswerMap/index.html b/docs/next/api/geoprocessing/type-aliases/RbcsMpaObjectiveAnswerMap/index.html index 3d1f327a3..7772266c3 100644 --- a/docs/next/api/geoprocessing/type-aliases/RbcsMpaObjectiveAnswerMap/index.html +++ b/docs/next/api/geoprocessing/type-aliases/RbcsMpaObjectiveAnswerMap/index.html @@ -4,7 +4,7 @@ RbcsMpaObjectiveAnswerMap | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/type-aliases/RbcsMpaProtectionLevel/index.html b/docs/next/api/geoprocessing/type-aliases/RbcsMpaProtectionLevel/index.html index 2104da074..95048bac9 100644 --- a/docs/next/api/geoprocessing/type-aliases/RbcsMpaProtectionLevel/index.html +++ b/docs/next/api/geoprocessing/type-aliases/RbcsMpaProtectionLevel/index.html @@ -4,7 +4,7 @@ RbcsMpaProtectionLevel | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/type-aliases/SUPPORTED_RASTER_STAT/index.html b/docs/next/api/geoprocessing/type-aliases/SUPPORTED_RASTER_STAT/index.html index 867ad092c..0aae8fc02 100644 --- a/docs/next/api/geoprocessing/type-aliases/SUPPORTED_RASTER_STAT/index.html +++ b/docs/next/api/geoprocessing/type-aliases/SUPPORTED_RASTER_STAT/index.html @@ -4,7 +4,7 @@ SUPPORTED\_RASTER\_STAT | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/type-aliases/SketchGeometryTypes/index.html b/docs/next/api/geoprocessing/type-aliases/SketchGeometryTypes/index.html index afa2472e7..f0d8c1824 100644 --- a/docs/next/api/geoprocessing/type-aliases/SketchGeometryTypes/index.html +++ b/docs/next/api/geoprocessing/type-aliases/SketchGeometryTypes/index.html @@ -4,7 +4,7 @@ SketchGeometryTypes | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/type-aliases/SketchProperties/index.html b/docs/next/api/geoprocessing/type-aliases/SketchProperties/index.html index 18ab51031..e67e4b407 100644 --- a/docs/next/api/geoprocessing/type-aliases/SketchProperties/index.html +++ b/docs/next/api/geoprocessing/type-aliases/SketchProperties/index.html @@ -4,7 +4,7 @@ SketchProperties | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/type-aliases/Stats-1/index.html b/docs/next/api/geoprocessing/type-aliases/Stats-1/index.html index 4975374c0..c271ab2a7 100644 --- a/docs/next/api/geoprocessing/type-aliases/Stats-1/index.html +++ b/docs/next/api/geoprocessing/type-aliases/Stats-1/index.html @@ -4,7 +4,7 @@ Stats | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/type-aliases/SupportedFormats/index.html b/docs/next/api/geoprocessing/type-aliases/SupportedFormats/index.html index b6006b8a3..2d57b9631 100644 --- a/docs/next/api/geoprocessing/type-aliases/SupportedFormats/index.html +++ b/docs/next/api/geoprocessing/type-aliases/SupportedFormats/index.html @@ -4,7 +4,7 @@ SupportedFormats | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/type-aliases/TaskKey/index.html b/docs/next/api/geoprocessing/type-aliases/TaskKey/index.html index f411922e4..c182df294 100644 --- a/docs/next/api/geoprocessing/type-aliases/TaskKey/index.html +++ b/docs/next/api/geoprocessing/type-aliases/TaskKey/index.html @@ -4,7 +4,7 @@ TaskKey | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/type-aliases/TypedArray/index.html b/docs/next/api/geoprocessing/type-aliases/TypedArray/index.html index ec09cdad9..27ed8d808 100644 --- a/docs/next/api/geoprocessing/type-aliases/TypedArray/index.html +++ b/docs/next/api/geoprocessing/type-aliases/TypedArray/index.html @@ -4,7 +4,7 @@ TypedArray | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/type-aliases/UserAttribute/index.html b/docs/next/api/geoprocessing/type-aliases/UserAttribute/index.html index bf2332390..f38529b07 100644 --- a/docs/next/api/geoprocessing/type-aliases/UserAttribute/index.html +++ b/docs/next/api/geoprocessing/type-aliases/UserAttribute/index.html @@ -4,7 +4,7 @@ UserAttribute | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/type-aliases/ValueFormatter/index.html b/docs/next/api/geoprocessing/type-aliases/ValueFormatter/index.html index 6a433b5fb..4f26279a3 100644 --- a/docs/next/api/geoprocessing/type-aliases/ValueFormatter/index.html +++ b/docs/next/api/geoprocessing/type-aliases/ValueFormatter/index.html @@ -4,7 +4,7 @@ ValueFormatter | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/type-aliases/VectorDatasource/index.html b/docs/next/api/geoprocessing/type-aliases/VectorDatasource/index.html index 5def25cbe..01253a7f5 100644 --- a/docs/next/api/geoprocessing/type-aliases/VectorDatasource/index.html +++ b/docs/next/api/geoprocessing/type-aliases/VectorDatasource/index.html @@ -4,7 +4,7 @@ VectorDatasource | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/type-aliases/Zone/index.html b/docs/next/api/geoprocessing/type-aliases/Zone/index.html index 591811b23..625a7e85a 100644 --- a/docs/next/api/geoprocessing/type-aliases/Zone/index.html +++ b/docs/next/api/geoprocessing/type-aliases/Zone/index.html @@ -4,7 +4,7 @@ Zone | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/type-aliases/ZoneColor/index.html b/docs/next/api/geoprocessing/type-aliases/ZoneColor/index.html index c9f2aee8c..01d298b9a 100644 --- a/docs/next/api/geoprocessing/type-aliases/ZoneColor/index.html +++ b/docs/next/api/geoprocessing/type-aliases/ZoneColor/index.html @@ -4,7 +4,7 @@ ZoneColor | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/type-aliases/ZoneId/index.html b/docs/next/api/geoprocessing/type-aliases/ZoneId/index.html index ddd14fd52..527f0b453 100644 --- a/docs/next/api/geoprocessing/type-aliases/ZoneId/index.html +++ b/docs/next/api/geoprocessing/type-aliases/ZoneId/index.html @@ -4,7 +4,7 @@ ZoneId | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/type-aliases/ZoneName/index.html b/docs/next/api/geoprocessing/type-aliases/ZoneName/index.html index 289c1a4cf..d6ba99403 100644 --- a/docs/next/api/geoprocessing/type-aliases/ZoneName/index.html +++ b/docs/next/api/geoprocessing/type-aliases/ZoneName/index.html @@ -4,7 +4,7 @@ ZoneName | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/type-aliases/bandArithmetic/index.html b/docs/next/api/geoprocessing/type-aliases/bandArithmetic/index.html index 25ca05e6a..b6e57f1b4 100644 --- a/docs/next/api/geoprocessing/type-aliases/bandArithmetic/index.html +++ b/docs/next/api/geoprocessing/type-aliases/bandArithmetic/index.html @@ -4,7 +4,7 @@ bandArithmetic() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/type-aliases/get/index.html b/docs/next/api/geoprocessing/type-aliases/get/index.html index f273d883c..49b3d26fc 100644 --- a/docs/next/api/geoprocessing/type-aliases/get/index.html +++ b/docs/next/api/geoprocessing/type-aliases/get/index.html @@ -4,7 +4,7 @@ get() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/type-aliases/histogram/index.html b/docs/next/api/geoprocessing/type-aliases/histogram/index.html index 54ab17ae9..8199026bc 100644 --- a/docs/next/api/geoprocessing/type-aliases/histogram/index.html +++ b/docs/next/api/geoprocessing/type-aliases/histogram/index.html @@ -4,7 +4,7 @@ histogram() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/type-aliases/identify/index.html b/docs/next/api/geoprocessing/type-aliases/identify/index.html index 538faa699..488d5b39c 100644 --- a/docs/next/api/geoprocessing/type-aliases/identify/index.html +++ b/docs/next/api/geoprocessing/type-aliases/identify/index.html @@ -4,7 +4,7 @@ identify() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/type-aliases/load/index.html b/docs/next/api/geoprocessing/type-aliases/load/index.html index d8f5b3319..7fb50b886 100644 --- a/docs/next/api/geoprocessing/type-aliases/load/index.html +++ b/docs/next/api/geoprocessing/type-aliases/load/index.html @@ -4,7 +4,7 @@ load() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/type-aliases/max/index.html b/docs/next/api/geoprocessing/type-aliases/max/index.html index 2d0750b3b..a0518f9c2 100644 --- a/docs/next/api/geoprocessing/type-aliases/max/index.html +++ b/docs/next/api/geoprocessing/type-aliases/max/index.html @@ -4,7 +4,7 @@ max() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/type-aliases/mean/index.html b/docs/next/api/geoprocessing/type-aliases/mean/index.html index 6c46190be..8b407242b 100644 --- a/docs/next/api/geoprocessing/type-aliases/mean/index.html +++ b/docs/next/api/geoprocessing/type-aliases/mean/index.html @@ -4,7 +4,7 @@ mean() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/type-aliases/median/index.html b/docs/next/api/geoprocessing/type-aliases/median/index.html index 658d7691e..1f1517e10 100644 --- a/docs/next/api/geoprocessing/type-aliases/median/index.html +++ b/docs/next/api/geoprocessing/type-aliases/median/index.html @@ -4,7 +4,7 @@ median() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/type-aliases/min/index.html b/docs/next/api/geoprocessing/type-aliases/min/index.html index f187ed9eb..275898622 100644 --- a/docs/next/api/geoprocessing/type-aliases/min/index.html +++ b/docs/next/api/geoprocessing/type-aliases/min/index.html @@ -4,7 +4,7 @@ min() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/type-aliases/mode/index.html b/docs/next/api/geoprocessing/type-aliases/mode/index.html index 3c59f4bea..c9961431e 100644 --- a/docs/next/api/geoprocessing/type-aliases/mode/index.html +++ b/docs/next/api/geoprocessing/type-aliases/mode/index.html @@ -4,7 +4,7 @@ mode() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/type-aliases/rasterCalculator/index.html b/docs/next/api/geoprocessing/type-aliases/rasterCalculator/index.html index e75fbc7cb..ff074bf49 100644 --- a/docs/next/api/geoprocessing/type-aliases/rasterCalculator/index.html +++ b/docs/next/api/geoprocessing/type-aliases/rasterCalculator/index.html @@ -4,7 +4,7 @@ rasterCalculator() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/type-aliases/stats/index.html b/docs/next/api/geoprocessing/type-aliases/stats/index.html index 55b44e931..a719e3257 100644 --- a/docs/next/api/geoprocessing/type-aliases/stats/index.html +++ b/docs/next/api/geoprocessing/type-aliases/stats/index.html @@ -4,7 +4,7 @@ stats() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/type-aliases/sum/index.html b/docs/next/api/geoprocessing/type-aliases/sum/index.html index a84add277..67d6c08b2 100644 --- a/docs/next/api/geoprocessing/type-aliases/sum/index.html +++ b/docs/next/api/geoprocessing/type-aliases/sum/index.html @@ -4,7 +4,7 @@ sum() | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/variables/DEFAULTS/index.html b/docs/next/api/geoprocessing/variables/DEFAULTS/index.html index 81439b893..2d0bb3af8 100644 --- a/docs/next/api/geoprocessing/variables/DEFAULTS/index.html +++ b/docs/next/api/geoprocessing/variables/DEFAULTS/index.html @@ -4,7 +4,7 @@ DEFAULTS | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/variables/EXTRA_RASTER_STATS/index.html b/docs/next/api/geoprocessing/variables/EXTRA_RASTER_STATS/index.html index a53f01db6..626932291 100644 --- a/docs/next/api/geoprocessing/variables/EXTRA_RASTER_STATS/index.html +++ b/docs/next/api/geoprocessing/variables/EXTRA_RASTER_STATS/index.html @@ -4,7 +4,7 @@ EXTRA\_RASTER\_STATS | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/variables/FULLY_PROTECTED_LEVEL/index.html b/docs/next/api/geoprocessing/variables/FULLY_PROTECTED_LEVEL/index.html index 918615dfd..a999fe7a1 100644 --- a/docs/next/api/geoprocessing/variables/FULLY_PROTECTED_LEVEL/index.html +++ b/docs/next/api/geoprocessing/variables/FULLY_PROTECTED_LEVEL/index.html @@ -4,7 +4,7 @@ FULLY\_PROTECTED\_LEVEL | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/variables/GEOBLAZE_RASTER_STATS/index.html b/docs/next/api/geoprocessing/variables/GEOBLAZE_RASTER_STATS/index.html index ff348acbd..0476103b3 100644 --- a/docs/next/api/geoprocessing/variables/GEOBLAZE_RASTER_STATS/index.html +++ b/docs/next/api/geoprocessing/variables/GEOBLAZE_RASTER_STATS/index.html @@ -4,7 +4,7 @@ GEOBLAZE\_RASTER\_STATS | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/variables/HIGHLY_PROTECTED_LEVEL/index.html b/docs/next/api/geoprocessing/variables/HIGHLY_PROTECTED_LEVEL/index.html index a5073a384..a61ecc4a3 100644 --- a/docs/next/api/geoprocessing/variables/HIGHLY_PROTECTED_LEVEL/index.html +++ b/docs/next/api/geoprocessing/variables/HIGHLY_PROTECTED_LEVEL/index.html @@ -4,7 +4,7 @@ HIGHLY\_PROTECTED\_LEVEL | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/variables/MODERATELY_PROTECTED_LEVEL/index.html b/docs/next/api/geoprocessing/variables/MODERATELY_PROTECTED_LEVEL/index.html index 7e3ac98a0..4f0255172 100644 --- a/docs/next/api/geoprocessing/variables/MODERATELY_PROTECTED_LEVEL/index.html +++ b/docs/next/api/geoprocessing/variables/MODERATELY_PROTECTED_LEVEL/index.html @@ -4,7 +4,7 @@ MODERATELY\_PROTECTED\_LEVEL | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/variables/MetricDimensions/index.html b/docs/next/api/geoprocessing/variables/MetricDimensions/index.html index 19cd0b441..b3d4ce516 100644 --- a/docs/next/api/geoprocessing/variables/MetricDimensions/index.html +++ b/docs/next/api/geoprocessing/variables/MetricDimensions/index.html @@ -4,7 +4,7 @@ MetricDimensions | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/variables/MetricProperties/index.html b/docs/next/api/geoprocessing/variables/MetricProperties/index.html index fcc980b0f..38630179d 100644 --- a/docs/next/api/geoprocessing/variables/MetricProperties/index.html +++ b/docs/next/api/geoprocessing/variables/MetricProperties/index.html @@ -4,7 +4,7 @@ MetricProperties | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/variables/OBJECTIVE_GREEN/index.html b/docs/next/api/geoprocessing/variables/OBJECTIVE_GREEN/index.html index a590b5689..670ffab22 100644 --- a/docs/next/api/geoprocessing/variables/OBJECTIVE_GREEN/index.html +++ b/docs/next/api/geoprocessing/variables/OBJECTIVE_GREEN/index.html @@ -4,7 +4,7 @@ OBJECTIVE\_GREEN | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/variables/OBJECTIVE_MAYBE/index.html b/docs/next/api/geoprocessing/variables/OBJECTIVE_MAYBE/index.html index 18c00cf5f..2b8833043 100644 --- a/docs/next/api/geoprocessing/variables/OBJECTIVE_MAYBE/index.html +++ b/docs/next/api/geoprocessing/variables/OBJECTIVE_MAYBE/index.html @@ -4,7 +4,7 @@ OBJECTIVE\_MAYBE | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/variables/OBJECTIVE_NO/index.html b/docs/next/api/geoprocessing/variables/OBJECTIVE_NO/index.html index 8219b8864..585a277d2 100644 --- a/docs/next/api/geoprocessing/variables/OBJECTIVE_NO/index.html +++ b/docs/next/api/geoprocessing/variables/OBJECTIVE_NO/index.html @@ -4,7 +4,7 @@ OBJECTIVE\_NO | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/variables/OBJECTIVE_RED/index.html b/docs/next/api/geoprocessing/variables/OBJECTIVE_RED/index.html index d73d21c87..95cbd282b 100644 --- a/docs/next/api/geoprocessing/variables/OBJECTIVE_RED/index.html +++ b/docs/next/api/geoprocessing/variables/OBJECTIVE_RED/index.html @@ -4,7 +4,7 @@ OBJECTIVE\_RED | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/variables/OBJECTIVE_YELLOW/index.html b/docs/next/api/geoprocessing/variables/OBJECTIVE_YELLOW/index.html index a84cc0f12..703b07ac4 100644 --- a/docs/next/api/geoprocessing/variables/OBJECTIVE_YELLOW/index.html +++ b/docs/next/api/geoprocessing/variables/OBJECTIVE_YELLOW/index.html @@ -4,7 +4,7 @@ OBJECTIVE\_YELLOW | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/variables/OBJECTIVE_YES/index.html b/docs/next/api/geoprocessing/variables/OBJECTIVE_YES/index.html index d20fa92de..71c785a91 100644 --- a/docs/next/api/geoprocessing/variables/OBJECTIVE_YES/index.html +++ b/docs/next/api/geoprocessing/variables/OBJECTIVE_YES/index.html @@ -4,7 +4,7 @@ OBJECTIVE\_YES | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/variables/PLANNING_AREA_TYPES/index.html b/docs/next/api/geoprocessing/variables/PLANNING_AREA_TYPES/index.html index fce54de38..e881dc968 100644 --- a/docs/next/api/geoprocessing/variables/PLANNING_AREA_TYPES/index.html +++ b/docs/next/api/geoprocessing/variables/PLANNING_AREA_TYPES/index.html @@ -4,7 +4,7 @@ PLANNING\_AREA\_TYPES | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/variables/POORLY_PROTECTED_LEVEL/index.html b/docs/next/api/geoprocessing/variables/POORLY_PROTECTED_LEVEL/index.html index 8a85a52de..35afb01cd 100644 --- a/docs/next/api/geoprocessing/variables/POORLY_PROTECTED_LEVEL/index.html +++ b/docs/next/api/geoprocessing/variables/POORLY_PROTECTED_LEVEL/index.html @@ -4,7 +4,7 @@ POORLY\_PROTECTED\_LEVEL | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/variables/ReportContext/index.html b/docs/next/api/geoprocessing/variables/ReportContext/index.html index 732c7a2d8..0f13cdb76 100644 --- a/docs/next/api/geoprocessing/variables/ReportContext/index.html +++ b/docs/next/api/geoprocessing/variables/ReportContext/index.html @@ -4,7 +4,7 @@ ReportContext | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/variables/SUPPORTED_RASTER_STATS/index.html b/docs/next/api/geoprocessing/variables/SUPPORTED_RASTER_STATS/index.html index 51405c24c..220d125a9 100644 --- a/docs/next/api/geoprocessing/variables/SUPPORTED_RASTER_STATS/index.html +++ b/docs/next/api/geoprocessing/variables/SUPPORTED_RASTER_STATS/index.html @@ -4,7 +4,7 @@ SUPPORTED\_RASTER\_STATS | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/variables/UNPROTECTED_LEVEL/index.html b/docs/next/api/geoprocessing/variables/UNPROTECTED_LEVEL/index.html index 3900f9c0a..84f9af9d2 100644 --- a/docs/next/api/geoprocessing/variables/UNPROTECTED_LEVEL/index.html +++ b/docs/next/api/geoprocessing/variables/UNPROTECTED_LEVEL/index.html @@ -4,7 +4,7 @@ UNPROTECTED\_LEVEL | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/variables/activityRanks/index.html b/docs/next/api/geoprocessing/variables/activityRanks/index.html index f88307487..5bc0cbc4d 100644 --- a/docs/next/api/geoprocessing/variables/activityRanks/index.html +++ b/docs/next/api/geoprocessing/variables/activityRanks/index.html @@ -4,7 +4,7 @@ activityRanks | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/variables/baseDatasourceSchema/index.html b/docs/next/api/geoprocessing/variables/baseDatasourceSchema/index.html index c855e9101..5f5604f8b 100644 --- a/docs/next/api/geoprocessing/variables/baseDatasourceSchema/index.html +++ b/docs/next/api/geoprocessing/variables/baseDatasourceSchema/index.html @@ -4,7 +4,7 @@ baseDatasourceSchema | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/variables/bboxSchema/index.html b/docs/next/api/geoprocessing/variables/bboxSchema/index.html index 29c864eff..ae5dcfe6d 100644 --- a/docs/next/api/geoprocessing/variables/bboxSchema/index.html +++ b/docs/next/api/geoprocessing/variables/bboxSchema/index.html @@ -4,7 +4,7 @@ bboxSchema | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/variables/box2dSchema/index.html b/docs/next/api/geoprocessing/variables/box2dSchema/index.html index a4dc156fb..e5d7f6f26 100644 --- a/docs/next/api/geoprocessing/variables/box2dSchema/index.html +++ b/docs/next/api/geoprocessing/variables/box2dSchema/index.html @@ -4,7 +4,7 @@ box2dSchema | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/variables/box3dSchema/index.html b/docs/next/api/geoprocessing/variables/box3dSchema/index.html index 47f199690..733248e0e 100644 --- a/docs/next/api/geoprocessing/variables/box3dSchema/index.html +++ b/docs/next/api/geoprocessing/variables/box3dSchema/index.html @@ -4,7 +4,7 @@ box3dSchema | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/variables/classStatsSchema/index.html b/docs/next/api/geoprocessing/variables/classStatsSchema/index.html index 597cb3dd4..627bcb4f0 100644 --- a/docs/next/api/geoprocessing/variables/classStatsSchema/index.html +++ b/docs/next/api/geoprocessing/variables/classStatsSchema/index.html @@ -4,7 +4,7 @@ classStatsSchema | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/variables/clientJsonConfigSchema/index.html b/docs/next/api/geoprocessing/variables/clientJsonConfigSchema/index.html index 4f6ff39e4..fc9df324e 100644 --- a/docs/next/api/geoprocessing/variables/clientJsonConfigSchema/index.html +++ b/docs/next/api/geoprocessing/variables/clientJsonConfigSchema/index.html @@ -4,7 +4,7 @@ clientJsonConfigSchema | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/variables/commonHeaders/index.html b/docs/next/api/geoprocessing/variables/commonHeaders/index.html index 786754bc8..134cd03a7 100644 --- a/docs/next/api/geoprocessing/variables/commonHeaders/index.html +++ b/docs/next/api/geoprocessing/variables/commonHeaders/index.html @@ -4,7 +4,7 @@ commonHeaders | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/variables/dataClassSchema/index.html b/docs/next/api/geoprocessing/variables/dataClassSchema/index.html index c097b5fd9..0f362503e 100644 --- a/docs/next/api/geoprocessing/variables/dataClassSchema/index.html +++ b/docs/next/api/geoprocessing/variables/dataClassSchema/index.html @@ -4,7 +4,7 @@ dataClassSchema | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/variables/datasourceConfig/index.html b/docs/next/api/geoprocessing/variables/datasourceConfig/index.html index 1396a0613..92931c008 100644 --- a/docs/next/api/geoprocessing/variables/datasourceConfig/index.html +++ b/docs/next/api/geoprocessing/variables/datasourceConfig/index.html @@ -4,7 +4,7 @@ datasourceConfig | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/variables/datasourceFormatDescriptions/index.html b/docs/next/api/geoprocessing/variables/datasourceFormatDescriptions/index.html index 58a0335f2..f7919192c 100644 --- a/docs/next/api/geoprocessing/variables/datasourceFormatDescriptions/index.html +++ b/docs/next/api/geoprocessing/variables/datasourceFormatDescriptions/index.html @@ -4,7 +4,7 @@ datasourceFormatDescriptions | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/variables/datasourceSchema/index.html b/docs/next/api/geoprocessing/variables/datasourceSchema/index.html index 33a8e660c..fc02d2feb 100644 --- a/docs/next/api/geoprocessing/variables/datasourceSchema/index.html +++ b/docs/next/api/geoprocessing/variables/datasourceSchema/index.html @@ -4,7 +4,7 @@ datasourceSchema | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/variables/datasourcesSchema/index.html b/docs/next/api/geoprocessing/variables/datasourcesSchema/index.html index 0580da18d..acf2baa56 100644 --- a/docs/next/api/geoprocessing/variables/datasourcesSchema/index.html +++ b/docs/next/api/geoprocessing/variables/datasourcesSchema/index.html @@ -4,7 +4,7 @@ datasourcesSchema | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/variables/defaultReportContext/index.html b/docs/next/api/geoprocessing/variables/defaultReportContext/index.html index 5d3c9a416..d587bc11c 100644 --- a/docs/next/api/geoprocessing/variables/defaultReportContext/index.html +++ b/docs/next/api/geoprocessing/variables/defaultReportContext/index.html @@ -4,7 +4,7 @@ defaultReportContext | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/variables/defaultStatValues/index.html b/docs/next/api/geoprocessing/variables/defaultStatValues/index.html index 5d2748e9d..82503f45c 100644 --- a/docs/next/api/geoprocessing/variables/defaultStatValues/index.html +++ b/docs/next/api/geoprocessing/variables/defaultStatValues/index.html @@ -4,7 +4,7 @@ defaultStatValues | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/variables/externalDatasourceSchema/index.html b/docs/next/api/geoprocessing/variables/externalDatasourceSchema/index.html index 284afbb7e..0f7f330f9 100644 --- a/docs/next/api/geoprocessing/variables/externalDatasourceSchema/index.html +++ b/docs/next/api/geoprocessing/variables/externalDatasourceSchema/index.html @@ -4,7 +4,7 @@ externalDatasourceSchema | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/variables/externalRasterDatasourceSchema/index.html b/docs/next/api/geoprocessing/variables/externalRasterDatasourceSchema/index.html index 635ce22f6..f2f9520be 100644 --- a/docs/next/api/geoprocessing/variables/externalRasterDatasourceSchema/index.html +++ b/docs/next/api/geoprocessing/variables/externalRasterDatasourceSchema/index.html @@ -4,7 +4,7 @@ externalRasterDatasourceSchema | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/variables/externalVectorDatasourceSchema/index.html b/docs/next/api/geoprocessing/variables/externalVectorDatasourceSchema/index.html index 9875443de..b1ebf5871 100644 --- a/docs/next/api/geoprocessing/variables/externalVectorDatasourceSchema/index.html +++ b/docs/next/api/geoprocessing/variables/externalVectorDatasourceSchema/index.html @@ -4,7 +4,7 @@ externalVectorDatasourceSchema | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/variables/extraParamsSchema/index.html b/docs/next/api/geoprocessing/variables/extraParamsSchema/index.html index 53b725d77..272e84cd2 100644 --- a/docs/next/api/geoprocessing/variables/extraParamsSchema/index.html +++ b/docs/next/api/geoprocessing/variables/extraParamsSchema/index.html @@ -4,7 +4,7 @@ extraParamsSchema | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/variables/fcSchema/index.html b/docs/next/api/geoprocessing/variables/fcSchema/index.html index 0a750dc4a..9a75ac08e 100644 --- a/docs/next/api/geoprocessing/variables/fcSchema/index.html +++ b/docs/next/api/geoprocessing/variables/fcSchema/index.html @@ -4,7 +4,7 @@ fcSchema | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/variables/featureSchema/index.html b/docs/next/api/geoprocessing/variables/featureSchema/index.html index 990bc3317..ddcba7336 100644 --- a/docs/next/api/geoprocessing/variables/featureSchema/index.html +++ b/docs/next/api/geoprocessing/variables/featureSchema/index.html @@ -4,7 +4,7 @@ featureSchema | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/variables/featuresSchema/index.html b/docs/next/api/geoprocessing/variables/featuresSchema/index.html index a9461fb2a..5b6a78660 100644 --- a/docs/next/api/geoprocessing/variables/featuresSchema/index.html +++ b/docs/next/api/geoprocessing/variables/featuresSchema/index.html @@ -4,7 +4,7 @@ featuresSchema | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/variables/fixtures/index.html b/docs/next/api/geoprocessing/variables/fixtures/index.html index ee158c2e4..c986c8d28 100644 --- a/docs/next/api/geoprocessing/variables/fixtures/index.html +++ b/docs/next/api/geoprocessing/variables/fixtures/index.html @@ -4,7 +4,7 @@ fixtures | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/variables/fullColor/index.html b/docs/next/api/geoprocessing/variables/fullColor/index.html index 811f38919..093b84057 100644 --- a/docs/next/api/geoprocessing/variables/fullColor/index.html +++ b/docs/next/api/geoprocessing/variables/fullColor/index.html @@ -4,7 +4,7 @@ fullColor | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/variables/geoTypesSchema/index.html b/docs/next/api/geoprocessing/variables/geoTypesSchema/index.html index 46907df85..d23042249 100644 --- a/docs/next/api/geoprocessing/variables/geoTypesSchema/index.html +++ b/docs/next/api/geoprocessing/variables/geoTypesSchema/index.html @@ -4,7 +4,7 @@ geoTypesSchema | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/variables/geoblazeDefaultStatValues/index.html b/docs/next/api/geoprocessing/variables/geoblazeDefaultStatValues/index.html index 7138e6ee1..edd9e9682 100644 --- a/docs/next/api/geoprocessing/variables/geoblazeDefaultStatValues/index.html +++ b/docs/next/api/geoprocessing/variables/geoblazeDefaultStatValues/index.html @@ -4,7 +4,7 @@ geoblazeDefaultStatValues | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/variables/geographiesSchema/index.html b/docs/next/api/geoprocessing/variables/geographiesSchema/index.html index e6adf8e95..e8b327fd4 100644 --- a/docs/next/api/geoprocessing/variables/geographiesSchema/index.html +++ b/docs/next/api/geoprocessing/variables/geographiesSchema/index.html @@ -4,7 +4,7 @@ geographiesSchema | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/variables/geographySchema/index.html b/docs/next/api/geoprocessing/variables/geographySchema/index.html index 5ff42f72f..1a597909e 100644 --- a/docs/next/api/geoprocessing/variables/geographySchema/index.html +++ b/docs/next/api/geoprocessing/variables/geographySchema/index.html @@ -4,7 +4,7 @@ geographySchema | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/variables/geoprocessingConfigSchema/index.html b/docs/next/api/geoprocessing/variables/geoprocessingConfigSchema/index.html index e84b161b1..37ac5d2f1 100644 --- a/docs/next/api/geoprocessing/variables/geoprocessingConfigSchema/index.html +++ b/docs/next/api/geoprocessing/variables/geoprocessingConfigSchema/index.html @@ -4,7 +4,7 @@ geoprocessingConfigSchema | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/variables/globalDatasources/index.html b/docs/next/api/geoprocessing/variables/globalDatasources/index.html index dc2e2ed2a..bec604866 100644 --- a/docs/next/api/geoprocessing/variables/globalDatasources/index.html +++ b/docs/next/api/geoprocessing/variables/globalDatasources/index.html @@ -4,7 +4,7 @@ globalDatasources | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/variables/globalDatasourcesById/index.html b/docs/next/api/geoprocessing/variables/globalDatasourcesById/index.html index bbcb17cde..1c45af118 100644 --- a/docs/next/api/geoprocessing/variables/globalDatasourcesById/index.html +++ b/docs/next/api/geoprocessing/variables/globalDatasourcesById/index.html @@ -4,7 +4,7 @@ globalDatasourcesById | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/variables/highColor/index.html b/docs/next/api/geoprocessing/variables/highColor/index.html index 2fee4a1f9..74fdb3147 100644 --- a/docs/next/api/geoprocessing/variables/highColor/index.html +++ b/docs/next/api/geoprocessing/variables/highColor/index.html @@ -4,7 +4,7 @@ highColor | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/variables/importRasterDatasourceOptionsSchema/index.html b/docs/next/api/geoprocessing/variables/importRasterDatasourceOptionsSchema/index.html index 2ab74a372..8366f68b1 100644 --- a/docs/next/api/geoprocessing/variables/importRasterDatasourceOptionsSchema/index.html +++ b/docs/next/api/geoprocessing/variables/importRasterDatasourceOptionsSchema/index.html @@ -4,7 +4,7 @@ importRasterDatasourceOptionsSchema | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/variables/importVectorDatasourceOptionsSchema/index.html b/docs/next/api/geoprocessing/variables/importVectorDatasourceOptionsSchema/index.html index 357b6a559..8934d74f3 100644 --- a/docs/next/api/geoprocessing/variables/importVectorDatasourceOptionsSchema/index.html +++ b/docs/next/api/geoprocessing/variables/importVectorDatasourceOptionsSchema/index.html @@ -4,7 +4,7 @@ importVectorDatasourceOptionsSchema | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/variables/internalDatasourceSchema/index.html b/docs/next/api/geoprocessing/variables/internalDatasourceSchema/index.html index d33f61ec6..9288dd769 100644 --- a/docs/next/api/geoprocessing/variables/internalDatasourceSchema/index.html +++ b/docs/next/api/geoprocessing/variables/internalDatasourceSchema/index.html @@ -4,7 +4,7 @@ internalDatasourceSchema | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/variables/internalImportSchema/index.html b/docs/next/api/geoprocessing/variables/internalImportSchema/index.html index 1a5d0e8d0..f47eee029 100644 --- a/docs/next/api/geoprocessing/variables/internalImportSchema/index.html +++ b/docs/next/api/geoprocessing/variables/internalImportSchema/index.html @@ -4,7 +4,7 @@ internalImportSchema | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/variables/internalRasterDatasourceSchema/index.html b/docs/next/api/geoprocessing/variables/internalRasterDatasourceSchema/index.html index ca096de86..d366f9848 100644 --- a/docs/next/api/geoprocessing/variables/internalRasterDatasourceSchema/index.html +++ b/docs/next/api/geoprocessing/variables/internalRasterDatasourceSchema/index.html @@ -4,7 +4,7 @@ internalRasterDatasourceSchema | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/variables/internalVectorDatasourceSchema/index.html b/docs/next/api/geoprocessing/variables/internalVectorDatasourceSchema/index.html index 07c4397e9..c841ec663 100644 --- a/docs/next/api/geoprocessing/variables/internalVectorDatasourceSchema/index.html +++ b/docs/next/api/geoprocessing/variables/internalVectorDatasourceSchema/index.html @@ -4,7 +4,7 @@ internalVectorDatasourceSchema | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/variables/internalVectorImportSchema/index.html b/docs/next/api/geoprocessing/variables/internalVectorImportSchema/index.html index 466475539..3ae8151a0 100644 --- a/docs/next/api/geoprocessing/variables/internalVectorImportSchema/index.html +++ b/docs/next/api/geoprocessing/variables/internalVectorImportSchema/index.html @@ -4,7 +4,7 @@ internalVectorImportSchema | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/variables/iucnActivities/index.html b/docs/next/api/geoprocessing/variables/iucnActivities/index.html index 2fa28dcea..6aaa7fec2 100644 --- a/docs/next/api/geoprocessing/variables/iucnActivities/index.html +++ b/docs/next/api/geoprocessing/variables/iucnActivities/index.html @@ -4,7 +4,7 @@ iucnActivities | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/variables/iucnActivityCategories/index.html b/docs/next/api/geoprocessing/variables/iucnActivityCategories/index.html index 8923e53ec..f0897831f 100644 --- a/docs/next/api/geoprocessing/variables/iucnActivityCategories/index.html +++ b/docs/next/api/geoprocessing/variables/iucnActivityCategories/index.html @@ -4,7 +4,7 @@ iucnActivityCategories | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/variables/iucnCategoriesList/index.html b/docs/next/api/geoprocessing/variables/iucnCategoriesList/index.html index 5cab604e5..06f7ee434 100644 --- a/docs/next/api/geoprocessing/variables/iucnCategoriesList/index.html +++ b/docs/next/api/geoprocessing/variables/iucnCategoriesList/index.html @@ -4,7 +4,7 @@ iucnCategoriesList | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/variables/iucnCategoriesMap/index.html b/docs/next/api/geoprocessing/variables/iucnCategoriesMap/index.html index b005a0f54..e76f4abdb 100644 --- a/docs/next/api/geoprocessing/variables/iucnCategoriesMap/index.html +++ b/docs/next/api/geoprocessing/variables/iucnCategoriesMap/index.html @@ -4,7 +4,7 @@ iucnCategoriesMap | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/variables/iucnCategoryNames/index.html b/docs/next/api/geoprocessing/variables/iucnCategoryNames/index.html index 084539598..270b816d5 100644 --- a/docs/next/api/geoprocessing/variables/iucnCategoryNames/index.html +++ b/docs/next/api/geoprocessing/variables/iucnCategoryNames/index.html @@ -4,7 +4,7 @@ iucnCategoryNames | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/variables/iucnLevels/index.html b/docs/next/api/geoprocessing/variables/iucnLevels/index.html index 8900d4efc..bf60ef96c 100644 --- a/docs/next/api/geoprocessing/variables/iucnLevels/index.html +++ b/docs/next/api/geoprocessing/variables/iucnLevels/index.html @@ -4,7 +4,7 @@ iucnLevels | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/variables/jsonSchema/index.html b/docs/next/api/geoprocessing/variables/jsonSchema/index.html index 3142a261f..6e6d5f3c3 100644 --- a/docs/next/api/geoprocessing/variables/jsonSchema/index.html +++ b/docs/next/api/geoprocessing/variables/jsonSchema/index.html @@ -4,7 +4,7 @@ jsonSchema | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/variables/loadedPackageSchema/index.html b/docs/next/api/geoprocessing/variables/loadedPackageSchema/index.html index 057dd3f74..5a5652f3b 100644 --- a/docs/next/api/geoprocessing/variables/loadedPackageSchema/index.html +++ b/docs/next/api/geoprocessing/variables/loadedPackageSchema/index.html @@ -4,7 +4,7 @@ loadedPackageSchema | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/variables/lowColor/index.html b/docs/next/api/geoprocessing/variables/lowColor/index.html index d151bb3c5..3ff1bdfbf 100644 --- a/docs/next/api/geoprocessing/variables/lowColor/index.html +++ b/docs/next/api/geoprocessing/variables/lowColor/index.html @@ -4,7 +4,7 @@ lowColor | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/variables/measurementScalesSchema/index.html b/docs/next/api/geoprocessing/variables/measurementScalesSchema/index.html index 619ccd9df..dec83a261 100644 --- a/docs/next/api/geoprocessing/variables/measurementScalesSchema/index.html +++ b/docs/next/api/geoprocessing/variables/measurementScalesSchema/index.html @@ -4,7 +4,7 @@ measurementScalesSchema | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/variables/measurementTypesSchema/index.html b/docs/next/api/geoprocessing/variables/measurementTypesSchema/index.html index f7ee62049..b2f0427bf 100644 --- a/docs/next/api/geoprocessing/variables/measurementTypesSchema/index.html +++ b/docs/next/api/geoprocessing/variables/measurementTypesSchema/index.html @@ -4,7 +4,7 @@ measurementTypesSchema | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/variables/metricGroupSchema/index.html b/docs/next/api/geoprocessing/variables/metricGroupSchema/index.html index e4de315dc..31f3cb0d2 100644 --- a/docs/next/api/geoprocessing/variables/metricGroupSchema/index.html +++ b/docs/next/api/geoprocessing/variables/metricGroupSchema/index.html @@ -4,7 +4,7 @@ metricGroupSchema | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/variables/metricGroupsSchema/index.html b/docs/next/api/geoprocessing/variables/metricGroupsSchema/index.html index 93a23cd2c..f480fd28e 100644 --- a/docs/next/api/geoprocessing/variables/metricGroupsSchema/index.html +++ b/docs/next/api/geoprocessing/variables/metricGroupsSchema/index.html @@ -4,7 +4,7 @@ metricGroupsSchema | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/variables/metricSchema/index.html b/docs/next/api/geoprocessing/variables/metricSchema/index.html index 4eaef5145..ee15875aa 100644 --- a/docs/next/api/geoprocessing/variables/metricSchema/index.html +++ b/docs/next/api/geoprocessing/variables/metricSchema/index.html @@ -4,7 +4,7 @@ metricSchema | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/variables/metricsSchema/index.html b/docs/next/api/geoprocessing/variables/metricsSchema/index.html index 75aad9fa0..8fb17d85f 100644 --- a/docs/next/api/geoprocessing/variables/metricsSchema/index.html +++ b/docs/next/api/geoprocessing/variables/metricsSchema/index.html @@ -4,7 +4,7 @@ metricsSchema | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/variables/multipolygonSchema/index.html b/docs/next/api/geoprocessing/variables/multipolygonSchema/index.html index bf3de2baa..d144e49bf 100644 --- a/docs/next/api/geoprocessing/variables/multipolygonSchema/index.html +++ b/docs/next/api/geoprocessing/variables/multipolygonSchema/index.html @@ -4,7 +4,7 @@ multipolygonSchema | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/variables/objectiveAnswerMapSchema/index.html b/docs/next/api/geoprocessing/variables/objectiveAnswerMapSchema/index.html index f4f9ba5c8..be0ae4feb 100644 --- a/docs/next/api/geoprocessing/variables/objectiveAnswerMapSchema/index.html +++ b/docs/next/api/geoprocessing/variables/objectiveAnswerMapSchema/index.html @@ -4,7 +4,7 @@ objectiveAnswerMapSchema | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/variables/objectiveAnswerSchema/index.html b/docs/next/api/geoprocessing/variables/objectiveAnswerSchema/index.html index 6baea5828..45c7bb652 100644 --- a/docs/next/api/geoprocessing/variables/objectiveAnswerSchema/index.html +++ b/docs/next/api/geoprocessing/variables/objectiveAnswerSchema/index.html @@ -4,7 +4,7 @@ objectiveAnswerSchema | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/variables/objectiveCountsAnswers/index.html b/docs/next/api/geoprocessing/variables/objectiveCountsAnswers/index.html index 5e12de541..353f62621 100644 --- a/docs/next/api/geoprocessing/variables/objectiveCountsAnswers/index.html +++ b/docs/next/api/geoprocessing/variables/objectiveCountsAnswers/index.html @@ -4,7 +4,7 @@ objectiveCountsAnswers | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/variables/objectiveCountsColorMap/index.html b/docs/next/api/geoprocessing/variables/objectiveCountsColorMap/index.html index 2df1afee0..4cce8b9d9 100644 --- a/docs/next/api/geoprocessing/variables/objectiveCountsColorMap/index.html +++ b/docs/next/api/geoprocessing/variables/objectiveCountsColorMap/index.html @@ -4,7 +4,7 @@ objectiveCountsColorMap | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/variables/objectiveSchema/index.html b/docs/next/api/geoprocessing/variables/objectiveSchema/index.html index e806cc6fc..5f022b4f3 100644 --- a/docs/next/api/geoprocessing/variables/objectiveSchema/index.html +++ b/docs/next/api/geoprocessing/variables/objectiveSchema/index.html @@ -4,7 +4,7 @@ objectiveSchema | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/variables/objectivesSchema/index.html b/docs/next/api/geoprocessing/variables/objectivesSchema/index.html index 2017fa5fc..9f536edfd 100644 --- a/docs/next/api/geoprocessing/variables/objectivesSchema/index.html +++ b/docs/next/api/geoprocessing/variables/objectivesSchema/index.html @@ -4,7 +4,7 @@ objectivesSchema | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/variables/packageSchema/index.html b/docs/next/api/geoprocessing/variables/packageSchema/index.html index fcaf9a7fe..dc428040f 100644 --- a/docs/next/api/geoprocessing/variables/packageSchema/index.html +++ b/docs/next/api/geoprocessing/variables/packageSchema/index.html @@ -4,7 +4,7 @@ packageSchema | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/variables/planningAreaTypesSchema/index.html b/docs/next/api/geoprocessing/variables/planningAreaTypesSchema/index.html index 00727705e..07aeff3f6 100644 --- a/docs/next/api/geoprocessing/variables/planningAreaTypesSchema/index.html +++ b/docs/next/api/geoprocessing/variables/planningAreaTypesSchema/index.html @@ -4,7 +4,7 @@ planningAreaTypesSchema | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/variables/polygonSchema/index.html b/docs/next/api/geoprocessing/variables/polygonSchema/index.html index bbab2b71a..eb6ec7fa1 100644 --- a/docs/next/api/geoprocessing/variables/polygonSchema/index.html +++ b/docs/next/api/geoprocessing/variables/polygonSchema/index.html @@ -4,7 +4,7 @@ polygonSchema | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/variables/projectSchema/index.html b/docs/next/api/geoprocessing/variables/projectSchema/index.html index c50bd003a..ad6af7ad2 100644 --- a/docs/next/api/geoprocessing/variables/projectSchema/index.html +++ b/docs/next/api/geoprocessing/variables/projectSchema/index.html @@ -4,7 +4,7 @@ projectSchema | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/variables/rasterDatasourceSchema/index.html b/docs/next/api/geoprocessing/variables/rasterDatasourceSchema/index.html index b7df00f20..d12dfcb7f 100644 --- a/docs/next/api/geoprocessing/variables/rasterDatasourceSchema/index.html +++ b/docs/next/api/geoprocessing/variables/rasterDatasourceSchema/index.html @@ -4,7 +4,7 @@ rasterDatasourceSchema | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/variables/rbcsAnchoringActivities/index.html b/docs/next/api/geoprocessing/variables/rbcsAnchoringActivities/index.html index eb192ebc0..98f12957d 100644 --- a/docs/next/api/geoprocessing/variables/rbcsAnchoringActivities/index.html +++ b/docs/next/api/geoprocessing/variables/rbcsAnchoringActivities/index.html @@ -4,7 +4,7 @@ rbcsAnchoringActivities | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/variables/rbcsAquacultureActivities/index.html b/docs/next/api/geoprocessing/variables/rbcsAquacultureActivities/index.html index d5fa82f14..aab4d4c2c 100644 --- a/docs/next/api/geoprocessing/variables/rbcsAquacultureActivities/index.html +++ b/docs/next/api/geoprocessing/variables/rbcsAquacultureActivities/index.html @@ -4,7 +4,7 @@ rbcsAquacultureActivities | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/variables/rbcsConstants/index.html b/docs/next/api/geoprocessing/variables/rbcsConstants/index.html index 6c117eca5..733a50827 100644 --- a/docs/next/api/geoprocessing/variables/rbcsConstants/index.html +++ b/docs/next/api/geoprocessing/variables/rbcsConstants/index.html @@ -4,7 +4,7 @@ rbcsConstants | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/variables/rbcsGearTypes/index.html b/docs/next/api/geoprocessing/variables/rbcsGearTypes/index.html index 7293146a0..dccba3cd9 100644 --- a/docs/next/api/geoprocessing/variables/rbcsGearTypes/index.html +++ b/docs/next/api/geoprocessing/variables/rbcsGearTypes/index.html @@ -4,7 +4,7 @@ rbcsGearTypes | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/variables/rbcsMpaProtectionLevels/index.html b/docs/next/api/geoprocessing/variables/rbcsMpaProtectionLevels/index.html index 2c3f80afb..2f88c76c7 100644 --- a/docs/next/api/geoprocessing/variables/rbcsMpaProtectionLevels/index.html +++ b/docs/next/api/geoprocessing/variables/rbcsMpaProtectionLevels/index.html @@ -4,7 +4,7 @@ rbcsMpaProtectionLevels | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/variables/rbcsScores/index.html b/docs/next/api/geoprocessing/variables/rbcsScores/index.html index be802ccc6..2f818583c 100644 --- a/docs/next/api/geoprocessing/variables/rbcsScores/index.html +++ b/docs/next/api/geoprocessing/variables/rbcsScores/index.html @@ -4,7 +4,7 @@ rbcsScores | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/variables/seaSketchReportingLanguageChangeEvent/index.html b/docs/next/api/geoprocessing/variables/seaSketchReportingLanguageChangeEvent/index.html index 2e42fe6ac..92e811b8a 100644 --- a/docs/next/api/geoprocessing/variables/seaSketchReportingLanguageChangeEvent/index.html +++ b/docs/next/api/geoprocessing/variables/seaSketchReportingLanguageChangeEvent/index.html @@ -4,7 +4,7 @@ seaSketchReportingLanguageChangeEvent | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/variables/seaSketchReportingMessageEventType/index.html b/docs/next/api/geoprocessing/variables/seaSketchReportingMessageEventType/index.html index edf5316a5..39e6a6805 100644 --- a/docs/next/api/geoprocessing/variables/seaSketchReportingMessageEventType/index.html +++ b/docs/next/api/geoprocessing/variables/seaSketchReportingMessageEventType/index.html @@ -4,7 +4,7 @@ seaSketchReportingMessageEventType | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/variables/seaSketchReportingVisibleLayersChangeEvent/index.html b/docs/next/api/geoprocessing/variables/seaSketchReportingVisibleLayersChangeEvent/index.html index 8ee655ee6..b212f8312 100644 --- a/docs/next/api/geoprocessing/variables/seaSketchReportingVisibleLayersChangeEvent/index.html +++ b/docs/next/api/geoprocessing/variables/seaSketchReportingVisibleLayersChangeEvent/index.html @@ -4,7 +4,7 @@ seaSketchReportingVisibleLayersChangeEvent | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/variables/statsSchema/index.html b/docs/next/api/geoprocessing/variables/statsSchema/index.html index 1c9e9439d..7a5a30be0 100644 --- a/docs/next/api/geoprocessing/variables/statsSchema/index.html +++ b/docs/next/api/geoprocessing/variables/statsSchema/index.html @@ -4,7 +4,7 @@ statsSchema | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/variables/supportedFormatsSchema/index.html b/docs/next/api/geoprocessing/variables/supportedFormatsSchema/index.html index 72ff005ef..f343b69e1 100644 --- a/docs/next/api/geoprocessing/variables/supportedFormatsSchema/index.html +++ b/docs/next/api/geoprocessing/variables/supportedFormatsSchema/index.html @@ -4,7 +4,7 @@ supportedFormatsSchema | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/variables/vectorDatasourceSchema/index.html b/docs/next/api/geoprocessing/variables/vectorDatasourceSchema/index.html index f8d70fabb..7c8d67163 100644 --- a/docs/next/api/geoprocessing/variables/vectorDatasourceSchema/index.html +++ b/docs/next/api/geoprocessing/variables/vectorDatasourceSchema/index.html @@ -4,7 +4,7 @@ vectorDatasourceSchema | SeaSketch Geoprocessing - + diff --git a/docs/next/api/geoprocessing/variables/version/index.html b/docs/next/api/geoprocessing/variables/version/index.html index a8be7e028..ca5b6f9f9 100644 --- a/docs/next/api/geoprocessing/variables/version/index.html +++ b/docs/next/api/geoprocessing/variables/version/index.html @@ -4,7 +4,7 @@ version | SeaSketch Geoprocessing - + diff --git a/docs/next/api/index.html b/docs/next/api/index.html index ce53c619b..c5070b51f 100644 --- a/docs/next/api/index.html +++ b/docs/next/api/index.html @@ -4,7 +4,7 @@ Typescript API | SeaSketch Geoprocessing - + diff --git a/docs/next/architecture/index.html b/docs/next/architecture/index.html index e0c7b8ac3..274bdaf1a 100644 --- a/docs/next/architecture/index.html +++ b/docs/next/architecture/index.html @@ -4,7 +4,7 @@ Architecture | SeaSketch Geoprocessing - + diff --git a/docs/next/cli/index.html b/docs/next/cli/index.html index 58ddb7b10..1c800399f 100644 --- a/docs/next/cli/index.html +++ b/docs/next/cli/index.html @@ -4,7 +4,7 @@ Command Line Interface | SeaSketch Geoprocessing - + diff --git a/docs/next/codespaces/index.html b/docs/next/codespaces/index.html index b39efeefc..297634c69 100644 --- a/docs/next/codespaces/index.html +++ b/docs/next/codespaces/index.html @@ -4,7 +4,7 @@ Github Codespaces | SeaSketch Geoprocessing - + diff --git a/docs/next/concepts/AdvancedConcepts/index.html b/docs/next/concepts/AdvancedConcepts/index.html index f034cfbb6..8da68f994 100644 --- a/docs/next/concepts/AdvancedConcepts/index.html +++ b/docs/next/concepts/AdvancedConcepts/index.html @@ -4,7 +4,7 @@ Advanced Concepts | SeaSketch Geoprocessing - + diff --git a/docs/next/concepts/index.html b/docs/next/concepts/index.html index d655b2f7f..2186f7727 100644 --- a/docs/next/concepts/index.html +++ b/docs/next/concepts/index.html @@ -4,7 +4,7 @@ Concepts | SeaSketch Geoprocessing - + diff --git a/docs/next/contributing/index.html b/docs/next/contributing/index.html index f9fa08dbf..7eb9e28e5 100644 --- a/docs/next/contributing/index.html +++ b/docs/next/contributing/index.html @@ -4,7 +4,7 @@ Contributing | SeaSketch Geoprocessing - + diff --git a/docs/next/dataimport/index.html b/docs/next/dataimport/index.html index 3954b2580..31f45a480 100644 --- a/docs/next/dataimport/index.html +++ b/docs/next/dataimport/index.html @@ -4,7 +4,7 @@ Data Import | SeaSketch Geoprocessing - + diff --git a/docs/next/dataproviders/index.html b/docs/next/dataproviders/index.html index 085c22811..fcebe0db2 100644 --- a/docs/next/dataproviders/index.html +++ b/docs/next/dataproviders/index.html @@ -4,7 +4,7 @@ Data Providers | SeaSketch Geoprocessing - + diff --git a/docs/next/devcontainer/index.html b/docs/next/devcontainer/index.html index b00f6029a..873145796 100644 --- a/docs/next/devcontainer/index.html +++ b/docs/next/devcontainer/index.html @@ -4,7 +4,7 @@ Devcontainers | SeaSketch Geoprocessing - + diff --git a/docs/next/extending/index.html b/docs/next/extending/index.html index 2b125eaf6..6c31d4439 100644 --- a/docs/next/extending/index.html +++ b/docs/next/extending/index.html @@ -4,7 +4,7 @@ Extending | SeaSketch Geoprocessing - + diff --git a/docs/next/geoprocessing/index.html b/docs/next/geoprocessing/index.html index 71144d03e..7f02a967e 100644 --- a/docs/next/geoprocessing/index.html +++ b/docs/next/geoprocessing/index.html @@ -4,7 +4,7 @@ Geoprocessing | SeaSketch Geoprocessing - + diff --git a/docs/next/gip/GIP-1-i18n/index.html b/docs/next/gip/GIP-1-i18n/index.html index e223288a4..3ee9b3d56 100644 --- a/docs/next/gip/GIP-1-i18n/index.html +++ b/docs/next/gip/GIP-1-i18n/index.html @@ -4,7 +4,7 @@ Internationalization (i18n) | SeaSketch Geoprocessing - + diff --git a/docs/next/gip/index.html b/docs/next/gip/index.html index 37f6fa2dd..b2f24bf0b 100644 --- a/docs/next/gip/index.html +++ b/docs/next/gip/index.html @@ -4,7 +4,7 @@ GIP | SeaSketch Geoprocessing - + diff --git a/docs/next/index.html b/docs/next/index.html index 5730e08f9..aa34b27ba 100644 --- a/docs/next/index.html +++ b/docs/next/index.html @@ -4,7 +4,7 @@ Introduction | SeaSketch Geoprocessing - + diff --git a/docs/next/intro/index.html b/docs/next/intro/index.html index cf2ecdc32..9623fe6ad 100644 --- a/docs/next/intro/index.html +++ b/docs/next/intro/index.html @@ -4,7 +4,7 @@ Tutorial Intro | SeaSketch Geoprocessing - + diff --git a/docs/next/linkData/index.html b/docs/next/linkData/index.html index 805d929a4..9a0c98a6c 100644 --- a/docs/next/linkData/index.html +++ b/docs/next/linkData/index.html @@ -4,7 +4,7 @@ Link Project Data | SeaSketch Geoprocessing - + diff --git a/docs/next/multiBoundary/index.html b/docs/next/multiBoundary/index.html index 08382eb00..abe681709 100644 --- a/docs/next/multiBoundary/index.html +++ b/docs/next/multiBoundary/index.html @@ -4,7 +4,7 @@ Multiple Planning Boundaries | SeaSketch Geoprocessing - + diff --git a/docs/next/precalc/index.html b/docs/next/precalc/index.html index 0f7bf5711..f56f07836 100644 --- a/docs/next/precalc/index.html +++ b/docs/next/precalc/index.html @@ -4,7 +4,7 @@ Precalc Data | SeaSketch Geoprocessing - + diff --git a/docs/next/preprocessing/index.html b/docs/next/preprocessing/index.html index 4e73e64df..a441900ce 100644 --- a/docs/next/preprocessing/index.html +++ b/docs/next/preprocessing/index.html @@ -4,7 +4,7 @@ Preprocessing | SeaSketch Geoprocessing - + diff --git a/docs/next/projectclient/index.html b/docs/next/projectclient/index.html index d97508702..c61a183e8 100644 --- a/docs/next/projectclient/index.html +++ b/docs/next/projectclient/index.html @@ -4,7 +4,7 @@ Project Client | SeaSketch Geoprocessing - + diff --git a/docs/next/reportclient/index.html b/docs/next/reportclient/index.html index ba74f8f19..0ceb21029 100644 --- a/docs/next/reportclient/index.html +++ b/docs/next/reportclient/index.html @@ -4,7 +4,7 @@ Report Client | SeaSketch Geoprocessing - + diff --git a/docs/next/skills/index.html b/docs/next/skills/index.html index bf6632202..ba63ca3cd 100644 --- a/docs/next/skills/index.html +++ b/docs/next/skills/index.html @@ -4,7 +4,7 @@ Skill Building | SeaSketch Geoprocessing - + diff --git a/docs/next/structure/index.html b/docs/next/structure/index.html index 66b14af09..17fba4dcd 100644 --- a/docs/next/structure/index.html +++ b/docs/next/structure/index.html @@ -4,7 +4,7 @@ Project Structure | SeaSketch Geoprocessing - + diff --git a/docs/next/testing/index.html b/docs/next/testing/index.html index 1a50695c4..f00f3245b 100644 --- a/docs/next/testing/index.html +++ b/docs/next/testing/index.html @@ -4,7 +4,7 @@ Testing | SeaSketch Geoprocessing - + diff --git a/docs/next/thirdpartydata/index.html b/docs/next/thirdpartydata/index.html index bb4f9d971..008594b48 100644 --- a/docs/next/thirdpartydata/index.html +++ b/docs/next/thirdpartydata/index.html @@ -4,7 +4,7 @@ Third Party Data | SeaSketch Geoprocessing - + diff --git a/docs/next/toolbox/index.html b/docs/next/toolbox/index.html index 56f7fc7a6..0c11042ed 100644 --- a/docs/next/toolbox/index.html +++ b/docs/next/toolbox/index.html @@ -4,7 +4,7 @@ Toolbox | SeaSketch Geoprocessing - + diff --git a/docs/next/tutorial-basics/congratulations/index.html b/docs/next/tutorial-basics/congratulations/index.html index 881a6cf4a..27989ad8e 100644 --- a/docs/next/tutorial-basics/congratulations/index.html +++ b/docs/next/tutorial-basics/congratulations/index.html @@ -4,7 +4,7 @@ Congratulations! | SeaSketch Geoprocessing - + diff --git a/docs/next/tutorial-basics/create-a-blog-post/index.html b/docs/next/tutorial-basics/create-a-blog-post/index.html index 27777b678..a388a02c0 100644 --- a/docs/next/tutorial-basics/create-a-blog-post/index.html +++ b/docs/next/tutorial-basics/create-a-blog-post/index.html @@ -4,7 +4,7 @@ Create a Blog Post | SeaSketch Geoprocessing - + diff --git a/docs/next/tutorial-basics/create-a-document/index.html b/docs/next/tutorial-basics/create-a-document/index.html index c103e0f85..19c4b88cb 100644 --- a/docs/next/tutorial-basics/create-a-document/index.html +++ b/docs/next/tutorial-basics/create-a-document/index.html @@ -4,7 +4,7 @@ Create a Document | SeaSketch Geoprocessing - + diff --git a/docs/next/tutorial-basics/create-a-page/index.html b/docs/next/tutorial-basics/create-a-page/index.html index 368a87b8e..cc5101da9 100644 --- a/docs/next/tutorial-basics/create-a-page/index.html +++ b/docs/next/tutorial-basics/create-a-page/index.html @@ -4,7 +4,7 @@ Create a Page | SeaSketch Geoprocessing - + diff --git a/docs/next/tutorial-basics/deploy-your-site/index.html b/docs/next/tutorial-basics/deploy-your-site/index.html index 6f8f82600..1cd7c130e 100644 --- a/docs/next/tutorial-basics/deploy-your-site/index.html +++ b/docs/next/tutorial-basics/deploy-your-site/index.html @@ -4,7 +4,7 @@ Deploy your site | SeaSketch Geoprocessing - + diff --git a/docs/next/tutorial-basics/markdown-features/index.html b/docs/next/tutorial-basics/markdown-features/index.html index c291753d6..1b82eecea 100644 --- a/docs/next/tutorial-basics/markdown-features/index.html +++ b/docs/next/tutorial-basics/markdown-features/index.html @@ -4,7 +4,7 @@ Markdown Features | SeaSketch Geoprocessing - + diff --git a/docs/next/tutorial-extras/manage-docs-versions/index.html b/docs/next/tutorial-extras/manage-docs-versions/index.html index fb9619a7b..71cc71c92 100644 --- a/docs/next/tutorial-extras/manage-docs-versions/index.html +++ b/docs/next/tutorial-extras/manage-docs-versions/index.html @@ -4,7 +4,7 @@ Manage Docs Versions | SeaSketch Geoprocessing - + diff --git a/docs/next/tutorial-extras/translate-your-site/index.html b/docs/next/tutorial-extras/translate-your-site/index.html index fe55abc0e..182578854 100644 --- a/docs/next/tutorial-extras/translate-your-site/index.html +++ b/docs/next/tutorial-extras/translate-your-site/index.html @@ -4,7 +4,7 @@ Translate your site | SeaSketch Geoprocessing - + diff --git a/docs/next/tutorials/deploy/index.html b/docs/next/tutorials/deploy/index.html index e584bc3ad..e57513291 100644 --- a/docs/next/tutorials/deploy/index.html +++ b/docs/next/tutorials/deploy/index.html @@ -4,7 +4,7 @@ Deploy your project | SeaSketch Geoprocessing - + diff --git a/docs/next/tutorials/existingproject/index.html b/docs/next/tutorials/existingproject/index.html index 316cfb33c..3cb1e3dc5 100644 --- a/docs/next/tutorials/existingproject/index.html +++ b/docs/next/tutorials/existingproject/index.html @@ -4,7 +4,7 @@ Setup an exising geoprocessing project | SeaSketch Geoprocessing - + diff --git a/docs/next/tutorials/extraParams/index.html b/docs/next/tutorials/extraParams/index.html index 6ac660206..8601aa50f 100644 --- a/docs/next/tutorials/extraParams/index.html +++ b/docs/next/tutorials/extraParams/index.html @@ -4,7 +4,7 @@ Adding and Passing Extra Parameters | SeaSketch Geoprocessing - + diff --git a/docs/next/tutorials/index.html b/docs/next/tutorials/index.html index 1506adad5..ddb3f2f6d 100644 --- a/docs/next/tutorials/index.html +++ b/docs/next/tutorials/index.html @@ -4,7 +4,7 @@ System Setup | SeaSketch Geoprocessing - + diff --git a/docs/next/tutorials/newproject/index.html b/docs/next/tutorials/newproject/index.html index ed74f78f0..de7fa54e6 100644 --- a/docs/next/tutorials/newproject/index.html +++ b/docs/next/tutorials/newproject/index.html @@ -4,7 +4,7 @@ newproject | SeaSketch Geoprocessing - + @@ -86,7 +86,7 @@

    Cre

    First, follow the instructions to create a new SeaSketch project. This includes defining the planning bounds and creating a Sketch class. You will want to create a Polygon sketch class with a name that makes sense for you project (e.g. MPA for Marine Protected Area) and then also a Collection sketch class to group instances of your polygon sketch class into. Note that sketch classes are where you will integrate your geoprocessing services to view reports, but you will not do it at this time.

    Initialize New Project

    Start with initializing a new project:

    -
    cd /workspaces
    npx @seasketch/geoprocessing@7.0.0-experimental-7x-docs.103 init 7.0.0-experimental-7x-docs.103
    +
    cd /workspaces
    npx @seasketch/geoprocessing@7.0.0-experimental-7x-docs.112 init 7.0.0-experimental-7x-docs.112

    Tips:

    • the answers to all of the init questions can be changed later, so don't worry if you don't know the answer.
    • diff --git a/docs/next/tutorials/sampleproject/index.html b/docs/next/tutorials/sampleproject/index.html index c357178c4..32d728926 100644 --- a/docs/next/tutorials/sampleproject/index.html +++ b/docs/next/tutorials/sampleproject/index.html @@ -4,7 +4,7 @@ Create Sample Project | SeaSketch Geoprocessing - + @@ -21,7 +21,7 @@

      Have questions along the way? Start a discussion on Github

      Initialize Geoprocessing Project

      Start the project init process, which will download the framework, and collect required project metadata.

      -
      cd /workspaces
      npx @seasketch/geoprocessing@7.0.0-experimental-7x-docs.103 init 7.0.0-experimental-7x-docs.103
      +
      cd /workspaces
      npx @seasketch/geoprocessing@7.0.0-experimental-7x-docs.112 init 7.0.0-experimental-7x-docs.112
      ? Choose a name for your project
      fsm-reports-test
      ? Please provide a short description of this project
      Micronesia reports
      ? Source code repository location
      [LEAVE BLANK]
      ? Your name
      [YOUR_NAME]
      ? Your email
      [YOUR_EMAIL]
      ? Organization name (optional)
      Example organization
      ? What software license would you like to use?
      BSD-3-Clause
      ? What AWS region would you like to deploy functions in?
      us-west-1
      ? What languages will your reports be published in, other than English? (leave blank for none)
      Chuukese
      Kosraean

      After pressing Enter, your project will be created and all NodeJS software dependencies installed. If your language is not present, you will be able to add it later.

      Now, re-open VSCode one level deeper, in your project folder::

      @@ -275,50 +275,58 @@

      Add to Tab

      Storybook should update on save and display the following:

      CoralReefCard add to page

      Benthic Habitat Report

      -

      This next section will demonstrate more advanced framework features for calculating polygon overlap and measuring progress towards planning objective targets. These features become more useful when you have multiple data classes that you want to report on at the same time.

      +

      Next you will create a report summarizing sketch overlap with multiple classes of benthic rock. More advanced framework features will be used that streamline the process further.

      Import Data

      +

      First, import the data.

      npm run import:data
      -
      ? Type of data?
      Vector
      ? Enter path to src file (with filename)
      data/src/benthic-rock.fgb
      ? Select layer to import
      benthic-rock
      ? Choose unique datasource name (a-z, A-Z, 0-9, -, _), defaults to filename benthic-rock
      ? Should multi-part geometries be split into single-part geometries?
      Yes
      ? Select feature properties that you want to group metrics by
      class
      ? Select additional feature properties to keep in final datasource
      [Press Enter to skip]
      ? These formats are automatically created: fgb. Select any additional formats you want created
      [Press Enter to skip]
      ? Will you be precalculating summary metrics for this datasource after import? (Typically yes if reporting sketch % overlap with datasource)
      Yes
      -

      The import will proceed. Once complete you will find:

      -
        -
      • The output file data/dist/benthic-rock.fgb.
      • -
      • An updated project/datasources.json new datasource record benthic-rock.
      • -
      -

      If the import fails, start the import over and double check everything. It is most likely one of the following:

      -
        -
      • You specified the wrong source file path.
      • -
      • You specified the wrong layer name
      • -
      +
      ? Type of data?
      Vector
      ? Enter path to src file (with filename)
      data/src/benthic-rock.fgb
      ? Select layer to import
      benthic-rock
      ? Choose unique datasource name (a-z, A-Z, 0-9, -, _), defaults to filename
      benthic-rock
      ? Should multi-part geometries be split into single-part geometries?
      Yes
      ? (Optional) additional formats to create (besides fgb)
      [Press Enter to skip]
      ? Select feature properties that you want to group metrics by
      class
      ? Select additional feature properties to keep in final datasource
      [Press Enter to skip]

      Adding benthic-rock record in project/datasources.json file

      Add Metric Group

      -

      A metric group defines a metric to be measured, for one or more classes of data. A MetricGroup record provides the information needed for a metric to be calculated (in a geoprocessing function) and to be displayed (in a report client). Let's create your first metric group by opening project/metrics.json.

      -

      The benthic dataset represents where different classes of benthic habitat are predicted to be present. Specifically is is a single vector datasource with multiple habitats defined by the class attribute. While there are many types of habitats, we want to only focus on Sand, Rubble, and Rock. To do this, you'll add multiple class records, each with a unique classId value to match on, and a classKey that specific which feature attribute the classId values are found.

      -

      Add the following record to the end of the array in project/metrics.json and save the file.

      -
      {
      "metricId": "benthicHabitat",
      "type": "areaOverlap",
      "classes": [
      {
      "classId": "Sand",
      "classKey": "class",
      "display": "Sand",
      "datasourceId": "benthic"
      },
      {
      "classId": "Rock",
      "classKey": "class",
      "display": "Rock",
      "datasourceId": "benthic"
      },
      {
      "classId": "Rubble",
      "classKey": "class",
      "display": "Rubble",
      "datasourceId": "benthic"
      }
      ]
      }
      -

      The reef extent dataset simply tells you where there is reef present. Therefore, we represent it as a single class of data. You should end up with the following:

      -
      [
      {
      "metricId": "coralReef",
      "type": "areaOverlap",
      "classes": [
      {
      "classId": "reefextent",
      "display": "Coral Reef",
      "datasourceId": "reefextent"
      }
      ]
      }
      ]
      +

      A metric group is a higher-level entity that defines a metric to be measured, for one or more classes of data. MetricGroup records can defined in project/metrics.json and accessed using the project client in your geoprocessing functions and reports.

      +

      Let's create a metric group by first looking at the benthic dataset. It represents where multiple classes of benthic habitat are present - sand, rock, rubble. Each polygon is assigned with a single habitat type using the class attribute and given a value of Sand, Rock, or Rubble.

      +

      Add the following metric group object to project/metrics.json and save the file.

      +
      {
      "metricId": "benthicHabitat",
      "classKey": "class",
      "datasourceId": "benthic-rock",
      "classes": [
      {
      "classId": "Sand",
      "display": "Sand"
      },
      {
      "classId": "Rock",
      "display": "Rock"
      },
      {
      "classId": "Rubble",
      "display": "Rubble"
      }
      ]
      }
      +

      This defines a benthicHabitat metric that sources data from the benthic datasource. The classKey indicates this datasource has an attribute named class used to identify which data class each polygon is a member of. 3 data classes are defined with a classId serving as the unique identifier for the data class, and it also matches the value used in the data at the classKey attribute.

      To learn more about metric groups, visit the advanced concepts page.

      Create Report

      -

      Next you will create your first report using the metric group created in the previous step. Run the following command and answer the questions:

      -
      npm run create:report
      -
      ? Type of report to create
      Vector overlap report - calculates sketch overlap with vector datasources
      ? Describe what this reports geoprocessing function will calculate (e.g.Calculate sketch overlap with boundary polygons)
      Calculate sketch overlap with reef extent
      ? Choose an execution mode for the geoprocessing function for this report
      Async - Better for long-running processes
      ? Select the metric group to report on
      coralReef

      ✔ Created coralReef report
      ✔ Registered report assets in project/geoprocessing.json

      Geoprocessing function: src/functions/coralReef.ts
      Smoke test: src/functions/coralReefSmoke.test.ts
      Report component: src/components/CoralReefCard.tsx
      Story generator: src/components/CoralReefCard.example-stories.ts

      Next Steps:
      * 'npm test' to run smoke tests against your new geoprocessing function
      * 'npm run storybook' to view your new report with smoke test output
      * Add <CoralReefCard /> to a top-level report client or page when ready
      -

      As the output explains, 4 new files have been created for you including a geoprocessing function (coralReef.ts) and a

      -

      Create Report

      +

      Next you will create a report that uses your metric group. Run the following command and answer the questions:

      npm run create:report
      -
      ? Type of report to create
      Vector overlap report

      ? Describe what this reports geoprocessing function will calculate
      Calculate sketch overlap with benthic habitats

      ? Choose an execution mode for the geoprocessing function for this report
      Async - Better for long-running processes

      ? Select the metric group to report on
      benthicHabitat
      -

      Now:

      -
        -
      • Add your new component to the Viability Page
      • -
      • npm run test
      • -
      • npm run storybook
      • -
      • Verify report displays properly
      • -
      +
      ? Type of report to create
      Vector overlap report - calculates sketch overlap with vector datasources
      ? Describe what this reports geoprocessing function will calculate (e.g. Calculate sketch overlap with boundary polygons)
      Calculate sketch overlap with benthic habitat
      ? Select the metric group to report on
      benthicHabitat

      ✔ Created benthicHabitat report
      ✔ Registered report assets in project/geoprocessing.json

      Geoprocessing function: src/functions/benthicHabitat.ts
      Smoke test: src/functions/benthicHabitatSmoke.test.ts
      Report component: src/components/BenthicHabitatCard.tsx
      Story generator: src/components/BenthicHabitatCard.example-stories.ts

      Next Steps:
      * 'npm test' to run smoke tests against your new geoprocessing function
      * 'npm run storybook' to view your new report with smoke test output
      * Add <BenthicHabitatCard /> to a top-level report client or page when ready
      +

      You should now have a geoprocessing function and card component ready to go that will iterate through your data classes and calculate/report area overlap with your sketch.

      +

      Test New Example Sketch

      +

      Now npm test your geoprocessing function and look at the new smoke test output in examples/output.

      +

      It's very likely that none of your random sketchs overlapped with any benthic polygons and all display zero. Let's add an example sketch that we know will overlap.

      +
      examples.output/sketch2.json
      {
      "type": "Feature",
      "properties": {
      "id": "78f6e916-20f0-471e-a15e-6d632650cf68",
      "isCollection": false,
      "userAttributes": [
      {
      "label": "Type",
      "fieldType": "ChoiceField",
      "exportId": "TYPE",
      "value": "sketch"
      },
      {
      "label": "Notes",
      "value": "": "NOTES",
      "fieldType": "TextArea"
      }
      ],
      "sketchClassId": "3ac026ad-c3eb-471a-b6ad-58782aa5e949",
      "createdAt": "2024-11-26T02:48:33.985Z",
      "updatedAt": "2024-11-26T02:48:33.985Z",
      "name": "sketch2"
      },
      "geometry": {
      "type": "Polygon",
      "coordinates": [
      [
      [
      151.31665625673213,
      7.749571426060996
      ],
      [
      151.31665625673213,
      5.925462431466443
      ],
      [
      153.9861009666032,
      5.925462431466443
      ],
      [
      153.9861009666032,
      7.749571426060996
      ],
      [
      151.31665625673213,
      7.749571426060996
      ]
      ]
      ]
      },
      "id": "78f6e916-20f0-471e-a15e-6d632650cf68"
      }
      +

      You should now see non-zero output for each benthic class for the sketch2 example:

      +
      examples/output/sketch2/benthicHabitat.json
      {
      "metrics": [
      {
      "geographyId": "world",
      "metricId": "benthicHabitat",
      "classId": "Rock",
      "sketchId": "78f6e916-20f0-471e-a15e-6d632650cf68",
      "groupId": null,
      "value": 11210186.968081,
      "extra": {
      "sketchName": "sketch2"
      }
      },
      {
      "geographyId": "world",
      "metricId": "benthicHabitat",
      "classId": "Rubble",
      "sketchId": "78f6e916-20f0-471e-a15e-6d632650cf68",
      "groupId": null,
      "value": 11210186.968081,
      "extra": {
      "sketchName": "sketch2"
      }
      },
      {
      "geographyId": "world",
      "metricId": "benthicHabitat",
      "classId": "Sand",
      "sketchId": "78f6e916-20f0-471e-a15e-6d632650cf68",
      "groupId": null,
      "value": 11210186.968081,
      "extra": {
      "sketchName": "sketch2"
      }
      }
      ]
      }
      +

      Precalc Data

      +

      Before you can use your benthic report, you need to precalculate the area of your benthic polygons. Rather than writing a script for this, the precalc:data command is available that will inspect your datasources and precalculate basic metrics (area, count). Let's look at the datasource record generated for our benthic-rock datasource to understand what precalc will do.

      +
      project/datasources.json
      {
      "src": "data/src/benthic-rock.fgb",
      "layerName": "benthic-rock",
      "geo_type": "vector",
      "datasourceId": "benthic-rock",
      "formats": [
      "fgb"
      ],
      "classKeys": [
      "class"
      ],
      "created": "2024-11-28T05:58:26.284Z",
      "lastUpdated": "2024-11-28T05:58:26.284Z",
      "propertiesToKeep": [
      "class"
      ],
      "explodeMulti": true,
      "precalc": true
      }
      +

      You'll notice that the precalc property is set to true. That means that it is made available for precalculation. You can disable precalculation for any datasource you want at any time.

      +

      You'll also notice that the class attribute is configured under classKeys.

      +
      "classKeys": [
      "class"
      ],
      +

      This is because when importing your datasource, when asked to select feature properties that you want to group metrics by, you should have selected class. If present, the precalc command will use this to precalculate metrics by each unique value present in the dataset for the class attribute.

      +

      You're now ready to precalculate your metrics.

      +
      npm run precalc:data

      ? Do you want to precalculate only a subset?
      No, just precalculate everything (may take a while)

      ...

      2 datasource/geography combinations precalculated successfully
      2 datasource/geography combinations skipped due to precalc disabled
      +

      You should now have precalculated area and count metrics for both reefextent and benthic-rock datasources. Let's look closer at the output.

      +
      project/precalc.json
      [
      {
      "geographyId": "world",
      "metricId": "area",
      "classId": "benthic-rock-Rock",
      "sketchId": null,
      "groupId": null,
      "value": 16604057.106034255
      },
      {
      "geographyId": "world",
      "metricId": "area",
      "classId": "benthic-rock-Rubble",
      "sketchId": null,
      "groupId": null,
      "value": 14568314.003883593
      },
      {
      "geographyId": "world",
      "metricId": "area",
      "classId": "benthic-rock-Sand",
      "sketchId": null,
      "groupId": null,
      "value": 41378302.21403051
      },
      {
      "geographyId": "world",
      "metricId": "area",
      "classId": "benthic-rock-total",
      "sketchId": null,
      "groupId": null,
      "value": 72550673.32394843
      },
      {
      "geographyId": "world",
      "metricId": "area",
      "classId": "reefextent-total",
      "sketchId": null,
      "groupId": null,
      "value": 716231422.607066
      },
      {
      "geographyId": "world",
      "metricId": "count",
      "classId": "benthic-rock-Rock",
      "sketchId": null,
      "groupId": null,
      "value": 2712
      },
      {
      "geographyId": "world",
      "metricId": "count",
      "classId": "benthic-rock-Rubble",
      "sketchId": null,
      "groupId": null,
      "value": 2002
      },
      {
      "geographyId": "world",
      "metricId": "count",
      "classId": "benthic-rock-Sand",
      "sketchId": null,
      "groupId": null,
      "value": 2658
      },
      {
      "geographyId": "world",
      "metricId": "count",
      "classId": "benthic-rock-total",
      "sketchId": null,
      "groupId": null,
      "value": 7372
      },
      {
      "geographyId": "world",
      "metricId": "count",
      "classId": "reefextent-total",
      "sketchId": null,
      "groupId": null,
      "value": 14406
      }
      ]
      +

      Within all of these records you will see four that represent the total area of all benthic-rock polygons and the total area for each of the 3 benthic rock classes:

      +
      {
      "geographyId": "world",
      "metricId": "area",
      "classId": "benthic-rock-total",
      "sketchId": null,
      "groupId": null,
      "value": 72550673.32394843
      },
      {
      "geographyId": "world",
      "metricId": "area",
      "classId": "benthic-rock-Rock",
      "sketchId": null,
      "groupId": null,
      "value": 16604057.106034255
      },
      {
      "geographyId": "world",
      "metricId": "area",
      "classId": "benthic-rock-Rubble",
      "sketchId": null,
      "groupId": null,
      "value": 14568314.003883593
      },
      {
      "geographyId": "world",
      "metricId": "area",
      "classId": "benthic-rock-Sand",
      "sketchId": null,
      "groupId": null,
      "value": 41378302.21403051
      }
      +

      These will get loaded and used in our BenthicReefCard as the denominator value when calculating percent sketch overlap.

      +

      World Geography

      +

      You might have noticed in the precalculated metrics that they are assigned a geographyId of world. Geographies are a higher level feature of the framework that define polygon boundaries that serve a specfic purpose in your project. The main use case is to define planning boundaries for your project, if you have them.

      +

      The default Geography for a new project is the world geography, which establishes the entire world as your planning boundary. This is sufficient for your needs until you have a more specific planning boundary that you want to work with. For example you can clip your sketches and your data to a geography in order to report metrics for a specific geography. Since your data is already pre-clipped to the planning area, and there is only one planning area, you don't need to do anything more with this feature. You can just leave it to use the world geography.

      +

      Geographies are defined in project/geographies.json. To learn more visit the advanced concepts page.

      +

      View Reports

      +

      Next, add BenthicHabitatCard to the ViabilityPage so that it now displays in your TabReport.

      +
      src/components/ViabilityPage.tsx
      import React from "react";
      import { SimpleCard } from "./SimpleCard.js";
      import { SketchAttributesCard } from "@seasketch/geoprocessing/client-ui";
      import { CoralReefCard } from "./CoralReefCard.js";
      import { BenthicHabitatCard } from "./BenthicHabitatCard.js";

      export const ViabilityPage = () => {
      return (
      <>
      <SimpleCard />
      <CoralReefCard />
      <BenthicHabitatCard />
      <SketchAttributesCard autoHide />
      </>
      );
      };
      +

      Then npm run storybook and verify both TabReport and BenthicHabitatCard display as expected for your various example sketches.

      Octocoral Report

      Import Data

      Now import the following additional datasources:

      Octocorals - raster with 0/1 values representing predicted presence/absence of species.

      ? Type of data?
      Raster
      ? Enter path to src file (with filename)
      data/src/yesson_octocorals.tif
      ? Choose unique datasource name (a-z, A-Z, 0-9, -, _), defaults to filename
      octocorals
      ? Select raster band to import
      1
      ? What type of measurement is used for this raster data?
      Quantitative - values represent amounts, measurement of single thing
      ? Will you be precalculating summary metrics for this datasource after import? (Typically yes if reporting sketch % overlap with datasource)
      Yes

      Add Metric Group

      -

      Create Report

      +

      Create Report

      Advanced Features

      Add Planning Boundary

      Update default Geography

      @@ -328,7 +336,7 @@

      Upd
    • Replace the contents of the geographies file with the following and save it:
    [
    {
    "geographyId": "world",
    "datasourceId": "world",
    "display": "World",
    "groups": [],
    "precalc": false
    },
    {
    "geographyId": "planning-boundary",
    "datasourceId": "planning-boundary",
    "display": "Planning Boundary",
    "groups": ["default-boundary"],
    "precalc": true
    }
    ]
    -

    Precalc Data

    +

    Precalc Data

    The precalc command calculates spatial statistics for the portion of each of your datasources that falls within each of your project's Geographies.

    Geographies are simply geographic boundaries for your project, and the default Geography for this project is the entire World.

    Why do this?

    @@ -354,6 +362,6 @@

    What's Next< +

\ No newline at end of file diff --git a/docs/next/tutorials/sketchAttributes/index.html b/docs/next/tutorials/sketchAttributes/index.html index 821d39d28..ed1e28b01 100644 --- a/docs/next/tutorials/sketchAttributes/index.html +++ b/docs/next/tutorials/sketchAttributes/index.html @@ -4,7 +4,7 @@ Custom Sketch Attributes | SeaSketch Geoprocessing - + diff --git a/docs/next/tutorials/storybook/index.html b/docs/next/tutorials/storybook/index.html index f4bea9d53..bf734694c 100644 --- a/docs/next/tutorials/storybook/index.html +++ b/docs/next/tutorials/storybook/index.html @@ -4,7 +4,7 @@ Advanced storybook usage | SeaSketch Geoprocessing - + diff --git a/docs/next/tutorials/updateDatasource/index.html b/docs/next/tutorials/updateDatasource/index.html index 499cc6c84..898a35762 100644 --- a/docs/next/tutorials/updateDatasource/index.html +++ b/docs/next/tutorials/updateDatasource/index.html @@ -4,7 +4,7 @@ Updating A Datasource | SeaSketch Geoprocessing - + diff --git a/docs/next/upgrade/index.html b/docs/next/upgrade/index.html index e43d5f257..ba3633124 100644 --- a/docs/next/upgrade/index.html +++ b/docs/next/upgrade/index.html @@ -4,7 +4,7 @@ Upgrading | SeaSketch Geoprocessing - + diff --git a/docs/next/workers/index.html b/docs/next/workers/index.html index c8f2a0c1f..81609d68f 100644 --- a/docs/next/workers/index.html +++ b/docs/next/workers/index.html @@ -4,7 +4,7 @@ Worker Functions | SeaSketch Geoprocessing - + diff --git a/docs/testing/index.html b/docs/testing/index.html index 8e12a6bc9..98d924a96 100644 --- a/docs/testing/index.html +++ b/docs/testing/index.html @@ -4,7 +4,7 @@ Testing | SeaSketch Geoprocessing - + diff --git a/docs/tipsandtricks/index.html b/docs/tipsandtricks/index.html index e9aa6041a..9df6d5c26 100644 --- a/docs/tipsandtricks/index.html +++ b/docs/tipsandtricks/index.html @@ -4,7 +4,7 @@ Tips and Tricks | SeaSketch Geoprocessing - + diff --git a/docs/tutorial-basics/congratulations/index.html b/docs/tutorial-basics/congratulations/index.html index 28d840cd3..744c045f9 100644 --- a/docs/tutorial-basics/congratulations/index.html +++ b/docs/tutorial-basics/congratulations/index.html @@ -4,7 +4,7 @@ Congratulations! | SeaSketch Geoprocessing - + diff --git a/docs/tutorial-basics/create-a-blog-post/index.html b/docs/tutorial-basics/create-a-blog-post/index.html index 8c2297290..01d09a3bb 100644 --- a/docs/tutorial-basics/create-a-blog-post/index.html +++ b/docs/tutorial-basics/create-a-blog-post/index.html @@ -4,7 +4,7 @@ Create a Blog Post | SeaSketch Geoprocessing - + diff --git a/docs/tutorial-basics/create-a-document/index.html b/docs/tutorial-basics/create-a-document/index.html index 7257c09c3..7ec9958c6 100644 --- a/docs/tutorial-basics/create-a-document/index.html +++ b/docs/tutorial-basics/create-a-document/index.html @@ -4,7 +4,7 @@ Create a Document | SeaSketch Geoprocessing - + diff --git a/docs/tutorial-basics/create-a-page/index.html b/docs/tutorial-basics/create-a-page/index.html index 0b4a65b45..724a84dff 100644 --- a/docs/tutorial-basics/create-a-page/index.html +++ b/docs/tutorial-basics/create-a-page/index.html @@ -4,7 +4,7 @@ Create a Page | SeaSketch Geoprocessing - + diff --git a/docs/tutorial-basics/deploy-your-site/index.html b/docs/tutorial-basics/deploy-your-site/index.html index c19333fc3..36ba21622 100644 --- a/docs/tutorial-basics/deploy-your-site/index.html +++ b/docs/tutorial-basics/deploy-your-site/index.html @@ -4,7 +4,7 @@ Deploy your site | SeaSketch Geoprocessing - + diff --git a/docs/tutorial-basics/markdown-features/index.html b/docs/tutorial-basics/markdown-features/index.html index 59ae04135..42468939a 100644 --- a/docs/tutorial-basics/markdown-features/index.html +++ b/docs/tutorial-basics/markdown-features/index.html @@ -4,7 +4,7 @@ Markdown Features | SeaSketch Geoprocessing - + diff --git a/docs/tutorial-extras/manage-docs-versions/index.html b/docs/tutorial-extras/manage-docs-versions/index.html index 189622088..cf0e094bc 100644 --- a/docs/tutorial-extras/manage-docs-versions/index.html +++ b/docs/tutorial-extras/manage-docs-versions/index.html @@ -4,7 +4,7 @@ Manage Docs Versions | SeaSketch Geoprocessing - + diff --git a/docs/tutorial-extras/translate-your-site/index.html b/docs/tutorial-extras/translate-your-site/index.html index 51f349a63..917a45448 100644 --- a/docs/tutorial-extras/translate-your-site/index.html +++ b/docs/tutorial-extras/translate-your-site/index.html @@ -4,7 +4,7 @@ Translate your site | SeaSketch Geoprocessing - + diff --git a/docs/tutorials/index.html b/docs/tutorials/index.html index 6948207be..95540a448 100644 --- a/docs/tutorials/index.html +++ b/docs/tutorials/index.html @@ -4,7 +4,7 @@ Tutorials | SeaSketch Geoprocessing - + diff --git a/index.html b/index.html index e2253b303..b3cbd6e43 100644 --- a/index.html +++ b/index.html @@ -4,7 +4,7 @@ SeaSketch Geoprocessing | SeaSketch Geoprocessing - + diff --git a/markdown-page/index.html b/markdown-page/index.html index 38633bf61..a414a089c 100644 --- a/markdown-page/index.html +++ b/markdown-page/index.html @@ -4,7 +4,7 @@ Markdown page example | SeaSketch Geoprocessing - + diff --git a/storybook/index.html b/storybook/index.html index 4eadd88e6..84f6e868d 100644 --- a/storybook/index.html +++ b/storybook/index.html @@ -4,7 +4,7 @@ Storybook | SeaSketch Geoprocessing - +