@seasketch/geoprocessing
Version:
Geoprocessing and reporting framework for SeaSketch 2.0
109 lines (108 loc) • 4.86 kB
TypeScript
import { z } from "zod";
/**
* A geographic area (Polygon) for planning. Typically used to represent a planning area
*/
export declare const geographySchema: z.ZodObject<{
/** Unique name of the geography */
geographyId: z.ZodString;
/** ID of datasource containing geography boundary */
datasourceId: z.ZodString;
/** Display name for the geography */
display: z.ZodString;
/** Optional, defines external layer for visualizing the geography */
layerId: z.ZodOptional<z.ZodString>;
/** Optional, sub-geography identifier. Useful when you have multiple groupings/levels of geographies and want to select for a specific group */
groups: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
/** Optional, defines whether or not precalc should be run for this geography */
precalc: z.ZodBoolean;
/** Required if external datasource used, defines filter to constrain geography features, matches feature property having one or more specific values */
propertyFilter: z.ZodOptional<z.ZodObject<{
property: z.ZodString;
values: z.ZodArray<z.ZodUnion<[z.ZodString, z.ZodNumber]>, "many">;
}, "strip", z.ZodTypeAny, {
values: (string | number)[];
property: string;
}, {
values: (string | number)[];
property: string;
}>>;
/** Optional, constrain geography to only features within a bounding box */
bboxFilter: z.ZodOptional<z.ZodUnion<[z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>, z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>]>>;
}, "strip", z.ZodTypeAny, {
datasourceId: string;
precalc: boolean;
display: string;
geographyId: string;
propertyFilter?: {
values: (string | number)[];
property: string;
} | undefined;
bboxFilter?: [number, number, number, number] | [number, number, number, number, number, number] | undefined;
layerId?: string | undefined;
groups?: string[] | undefined;
}, {
datasourceId: string;
precalc: boolean;
display: string;
geographyId: string;
propertyFilter?: {
values: (string | number)[];
property: string;
} | undefined;
bboxFilter?: [number, number, number, number] | [number, number, number, number, number, number] | undefined;
layerId?: string | undefined;
groups?: string[] | undefined;
}>;
export declare const geographiesSchema: z.ZodArray<z.ZodObject<{
/** Unique name of the geography */
geographyId: z.ZodString;
/** ID of datasource containing geography boundary */
datasourceId: z.ZodString;
/** Display name for the geography */
display: z.ZodString;
/** Optional, defines external layer for visualizing the geography */
layerId: z.ZodOptional<z.ZodString>;
/** Optional, sub-geography identifier. Useful when you have multiple groupings/levels of geographies and want to select for a specific group */
groups: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
/** Optional, defines whether or not precalc should be run for this geography */
precalc: z.ZodBoolean;
/** Required if external datasource used, defines filter to constrain geography features, matches feature property having one or more specific values */
propertyFilter: z.ZodOptional<z.ZodObject<{
property: z.ZodString;
values: z.ZodArray<z.ZodUnion<[z.ZodString, z.ZodNumber]>, "many">;
}, "strip", z.ZodTypeAny, {
values: (string | number)[];
property: string;
}, {
values: (string | number)[];
property: string;
}>>;
/** Optional, constrain geography to only features within a bounding box */
bboxFilter: z.ZodOptional<z.ZodUnion<[z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>, z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>]>>;
}, "strip", z.ZodTypeAny, {
datasourceId: string;
precalc: boolean;
display: string;
geographyId: string;
propertyFilter?: {
values: (string | number)[];
property: string;
} | undefined;
bboxFilter?: [number, number, number, number] | [number, number, number, number, number, number] | undefined;
layerId?: string | undefined;
groups?: string[] | undefined;
}, {
datasourceId: string;
precalc: boolean;
display: string;
geographyId: string;
propertyFilter?: {
values: (string | number)[];
property: string;
} | undefined;
bboxFilter?: [number, number, number, number] | [number, number, number, number, number, number] | undefined;
layerId?: string | undefined;
groups?: string[] | undefined;
}>, "many">;
export type Geography = z.infer<typeof geographySchema>;
export type Geographies = z.infer<typeof geographiesSchema>;