from enum import Enum
# File Enums
[docs]
class PublishFileType(Enum):
VECTOR = 'vector'
RASTER = 'raster'
MODEL3D = 'model3d'
Tiles3D = 'tiles3d'
TABLE = 'table'
[docs]
class FileType(Enum):
Compressed = 'Compressed'
Complex = 'Complex'
Image = 'Image'
Video = 'Video'
Document = 'Document'
GPKG = 'GPKG'
DXF = 'DXF'
GPX = 'GPX'
CSV = 'CSV'
Shapefile = 'Shapefile'
KML = 'KML'
GLB = 'GLB'
FileGDB = 'FileGDB'
GeoTIFF = 'GeoTIFF'
GeoJSON = 'GeoJSON'
ThreedTiles = 'ThreedTiles'
# Field Enums
[docs]
class FieldType(Enum):
"""
A class representing the data type of a field.
"""
Integer = "Integer"
"""
An integer field.
"""
Float = "Float"
"""
A float field.
"""
String = "String"
"""
A string field.
"""
Long = "Long"
"""
A Long field.
"""
DATE = "Date"
"""
A Date field.
"""
TIME = "Time"
"""
A Time Field.
"""
DATETIME = "DateTime"
"""
A DateTime Field.
"""
# Layer Enums
[docs]
class LayerType(Enum):
"""
Enumeration of supported vector layer geometry types.
This enum defines the different types of geometric shapes that can be stored in a vector layer.
Each type represents a specific geometric structure supported by the Geobox API.
"""
Point = "Point"
"""A single point in 2D space"""
MultiPoint = "MultiPoint"
"""A collection of points"""
Polygon = "Polygon"
"""A closed shape defined by a sequence of points"""
Polyline = "Polyline"
"""A polyline geometry"""
# Layer Enums
[docs]
class FeatureType(Enum):
"""
Enumeration of supported feature geometry types.
This enum defines the different types of geometric shapes that can be stored in a feature.
Each type represents a specific geometric structure supported by the Geobox API.
"""
Point = "Point"
"""A single point in 2D space"""
MultiPoint = "MultiPoint"
"""A collection of points"""
LineString = "LineString"
"""A sequence of points forming a line"""
MultiLineString = "MultiLineString"
"""A collection of lines"""
Polygon = "Polygon"
"""A closed shape defined by a sequence of points"""
MultiPolygon = "MultiPolygon"
"""A collection of polygons"""
# Task Enums
[docs]
class TaskStatus(Enum):
"""
Enumeration of possible task statuses.
"""
PENDING = "PENDING"
"""
The task is pending.
"""
PROGRESS = "PROGRESS"
"""
The task is in progress.
"""
SUCCESS = "SUCCESS"
"""
The task is successful.
"""
FAILURE = "FAILURE"
"""
The task is failed.
"""
ABORTED = "ABORTED"
"""
The task is aborted.
"""
[docs]
class QueryGeometryType(Enum):
"""
Enumeration of possible query geometry types.
"""
POINT = "Point"
"""
A point geometry.
"""
MULTIPOINT = "Multipoint"
"""
A multipoint geometry.
"""
POLYLINE = "Polyline"
"""
A polyline geometry.
"""
POLYGON = "Polygon"
"""
A polygon geometry.
"""
[docs]
class QueryParamType(Enum):
"""
Enumeration of possible query parameter types.
"""
LAYER = "Layer"
"""
A layer parameter.
"""
TABLE = "Table"
"""
A table parameter.
"""
ATTRIBUTE = "Attribute"
"""
A Attribute parameter.
"""
FLOAT = "Float"
"""
A Float parameter.
"""
INTEGER = "Integer"
"""
A Integer parameter.
"""
TEXT = "Text"
"""
A Text parameter.
"""
BOOLEAN = "Boolean"
"""
A Boolean parameter.
"""
[docs]
class UserRole(Enum):
SYSTEM_ADMIN = "System Admin"
ACCOUNT_ADMIN = "Account Admin"
PUBLISHER = "Publisher"
EDITOR = "Editor"
VIEWER = "Viewer"
[docs]
class UserStatus(Enum):
NEW = "New"
PENDING = "Pending"
ACTIVE = "Active"
DISABLED = "Disabled"
[docs]
class MaxLogPolicy(Enum):
OverwriteFirstLog = "OverwriteFirstLog"
IgnoreLogging = "IgnoreLogging"
[docs]
class InvalidDataPolicy(Enum):
ReportToAdmin = "ReportToAdmin"
LogOnly = "LogOnly"
[docs]
class LoginFailurePolicy(Enum):
BlockIPTemporarily = "BlockIPTemporarily"
DisableAccount = "DisableAccount"
[docs]
class MaxConcurrentSessionPolicy(Enum):
CloseLastSession = "CloseLastSession"
CloseMostInactiveSession = "CloseMostInactiveSession"
PreventNewSession = "PreventNewSession"
[docs]
class RoutingGeometryType(Enum):
geojson = "geojson"
polyline = "polyline"
polyline6= "polyline6"
[docs]
class RoutingOverviewLevel(Enum):
Full = 'full'
Simplified = 'simplified'
[docs]
class QueryResultType(Enum):
metadata = "metadata"
data = "data"
both = "both"
[docs]
class UsageScale(Enum):
Hour = 'hour'
Day = 'day'
Month = 'month'
[docs]
class UsageParam(Enum):
Traffict = 'traffic'
Calls = 'calls'
[docs]
class AnalysisDataType(Enum):
uint8 = 'uint8'
uint16 = 'uint16'
int16 = 'int16'
uint32 = 'uint32'
int32 = 'int32'
float32 = 'float32'
float64 = 'float64'
[docs]
class PolygonizeConnectivity(Enum):
connected_8 = 8
connected_4 = 4
[docs]
class AnalysisResampleMethod(Enum):
near = 'near'
bilinear = 'bilinear'
cubic = 'cubic'
cubicspline = 'cubicspline'
lanczos = 'lanczos'
average = 'average'
mode = 'mode'
max = 'max'
min = 'min'
med = 'med'
q1 = 'q1'
q3 = 'q3'
rms = 'rms'
sum = 'sum'
[docs]
class SlopeUnit(Enum):
degree = 'degree'
percent = 'percent'
[docs]
class AnalysisAlgorithm(Enum):
Horn = 'Horn'
ZevenbergenThorne = 'ZevenbergenThorne'
[docs]
class RangeBound(Enum):
left = 'left'
right = 'right'
both = 'both'
neither = 'neither'
[docs]
class DistanceUnit(Enum):
GEO = 'GEO'
PIXEL = 'PIXEL'
[docs]
class GroupByAggFunction(Enum):
COUNT = 'count'
SUM = 'sum'
MIN = 'min'
MAX = 'max'
AVG = 'avg'
[docs]
class NetworkTraceDirection(Enum):
UP = "up"
DOWN = "down"
[docs]
class SpatialAggFunction(Enum):
COLLECT = 'collect'
UNION = 'union'
EXTENT = 'extent'
MAKELINE = 'makeline'
[docs]
class SpatialPredicate(Enum):
INTERSECT = 'Intersect'
CONTAIN = 'Contain'
CROSS = 'Cross'
EQUAL = 'Equal'
OVERLAP = 'Overlap'
TOUCH = 'Touch'
WITHIN = 'Within'
[docs]
class RelationshipCardinality(Enum):
OnetoOne = '1-1'
OnetoMany = '1-M'
ManytoMany = 'M-N'
[docs]
class DBType(Enum):
POSTGIS = 'postgis'
SQLSERVER = 'sqlserver'
ORACLE = 'oracle'
MYSQL = 'mysql'