oceanum.datamesh.query.GeoFilter — oceanum 0.1.0 documentation

# oceanum.datamesh.query.GeoFilter

pydantic model oceanum.datamesh.query.GeoFilter

  GeoFilter class Describes a spatial subset or interpolation

  Show JSON schema

      {
         "title": "GeoFilter",
         "description": "GeoFilter class\nDescribes a spatial subset or interpolation",
         "type": "object",
         "properties": {
            "type": {
               "title": "Geofilter type",
               "description": "\n        Type of the geofilter. Can be one of:\n            - 'feature': Select with a geojson feature\n            - 'bbox': Select with a bounding box\n            - 'radius': Select within radius of point\n        ",
               "default": "bbox",
               "allOf": [
                  {
                     "$ref": "#/definitions/GeoFilterType"
                  }
               ]
            },
            "geom": {
               "title": "Selection geometry",
               "description": "\n            - For type='feature', geojson feature.\n            - For type='bbox', list[x_min,y_min,x_max,y_max] in CRS units.\n            - For type='radius', list[x0,y0,radius] in CRS units.\n        ",
               "anyOf": [
                  {
                     "type": "array",
                     "items": {}
                  },
                  {
                     "$ref": "#/definitions/Feature"
                  }
               ]
            },
            "resolution": {
               "title": "Maximum spatial resolution of data",
               "description": "Maximum resolution of the data for downsampling in CRS units",
               "default": 0.0,
               "type": "number"
            }
         },
         "required": [
            "geom"
         ],
         "definitions": {
            "GeoFilterType": {
               "title": "GeoFilterType",
               "description": "An enumeration.",
               "enum": [
                  "feature",
                  "radius",
                  "bbox"
               ]
            },
            "Point": {
               "title": "Point",
               "description": "Point Model",
               "type": "object",
               "properties": {
                  "coordinates": {
                     "title": "Coordinates",
                     "anyOf": [
                        {
                           "type": "array",
                           "minItems": 2,
                           "maxItems": 2,
                           "items": [
                              {
                                 "anyOf": [
                                    {
                                       "type": "number"
                                    },
                                    {
                                       "type": "integer"
                                    }
                                 ]
                              },
                              {
                                 "anyOf": [
                                    {
                                       "type": "number"
                                    },
                                    {
                                       "type": "integer"
                                    }
                                 ]
                              }
                           ]
                        },
                        {
                           "type": "array",
                           "minItems": 3,
                           "maxItems": 3,
                           "items": [
                              {
                                 "anyOf": [
                                    {
                                       "type": "number"
                                    },
                                    {
                                       "type": "integer"
                                    }
                                 ]
                              },
                              {
                                 "anyOf": [
                                    {
                                       "type": "number"
                                    },
                                    {
                                       "type": "integer"
                                    }
                                 ]
                              },
                              {
                                 "anyOf": [
                                    {
                                       "type": "number"
                                    },
                                    {
                                       "type": "integer"
                                    }
                                 ]
                              }
                           ]
                        }
                     ]
                  },
                  "type": {
                     "title": "Type",
                     "const": "Point",
                     "type": "string"
                  }
               },
               "required": [
                  "coordinates"
               ]
            },
            "MultiPoint": {
               "title": "MultiPoint",
               "description": "MultiPoint Model",
               "type": "object",
               "properties": {
                  "coordinates": {
                     "title": "Coordinates",
                     "type": "array",
                     "items": {
                        "anyOf": [
                           {
                              "type": "array",
                              "minItems": 2,
                              "maxItems": 2,
                              "items": [
                                 {
                                    "anyOf": [
                                       {
                                          "type": "number"
                                       },
                                       {
                                          "type": "integer"
                                       }
                                    ]
                                 },
                                 {
                                    "anyOf": [
                                       {
                                          "type": "number"
                                       },
                                       {
                                          "type": "integer"
                                       }
                                    ]
                                 }
                              ]
                           },
                           {
                              "type": "array",
                              "minItems": 3,
                              "maxItems": 3,
                              "items": [
                                 {
                                    "anyOf": [
                                       {
                                          "type": "number"
                                       },
                                       {
                                          "type": "integer"
                                       }
                                    ]
                                 },
                                 {
                                    "anyOf": [
                                       {
                                          "type": "number"
                                       },
                                       {
                                          "type": "integer"
                                       }
                                    ]
                                 },
                                 {
                                    "anyOf": [
                                       {
                                          "type": "number"
                                       },
                                       {
                                          "type": "integer"
                                       }
                                    ]
                                 }
                              ]
                           }
                        ]
                     }
                  },
                  "type": {
                     "title": "Type",
                     "const": "MultiPoint",
                     "type": "string"
                  }
               },
               "required": [
                  "coordinates"
               ]
            },
            "LineString": {
               "title": "LineString",
               "description": "LineString Model",
               "type": "object",
               "properties": {
                  "coordinates": {
                     "title": "Coordinates",
                     "minItems": 2,
                     "type": "array",
                     "items": {
                        "anyOf": [
                           {
                              "type": "array",
                              "minItems": 2,
                              "maxItems": 2,
                              "items": [
                                 {
                                    "anyOf": [
                                       {
                                          "type": "number"
                                       },
                                       {
                                          "type": "integer"
                                       }
                                    ]
                                 },
                                 {
                                    "anyOf": [
                                       {
                                          "type": "number"
                                       },
                                       {
                                          "type": "integer"
                                       }
                                    ]
                                 }
                              ]
                           },
                           {
                              "type": "array",
                              "minItems": 3,
                              "maxItems": 3,
                              "items": [
                                 {
                                    "anyOf": [
                                       {
                                          "type": "number"
                                       },
                                       {
                                          "type": "integer"
                                       }
                                    ]
                                 },
                                 {
                                    "anyOf": [
                                       {
                                          "type": "number"
                                       },
                                       {
                                          "type": "integer"
                                       }
                                    ]
                                 },
                                 {
                                    "anyOf": [
                                       {
                                          "type": "number"
                                       },
                                       {
                                          "type": "integer"
                                       }
                                    ]
                                 }
                              ]
                           }
                        ]
                     }
                  },
                  "type": {
                     "title": "Type",
                     "const": "LineString",
                     "type": "string"
                  }
               },
               "required": [
                  "coordinates"
               ]
            },
            "MultiLineString": {
               "title": "MultiLineString",
               "description": "MultiLineString Model",
               "type": "object",
               "properties": {
                  "coordinates": {
                     "title": "Coordinates",
                     "type": "array",
                     "items": {
                        "type": "array",
                        "items": {
                           "anyOf": [
                              {
                                 "type": "array",
                                 "minItems": 2,
                                 "maxItems": 2,
                                 "items": [
                                    {
                                       "anyOf": [
                                          {
                                             "type": "number"
                                          },
                                          {
                                             "type": "integer"
                                          }
                                       ]
                                    },
                                    {
                                       "anyOf": [
                                          {
                                             "type": "number"
                                          },
                                          {
                                             "type": "integer"
                                          }
                                       ]
                                    }
                                 ]
                              },
                              {
                                 "type": "array",
                                 "minItems": 3,
                                 "maxItems": 3,
                                 "items": [
                                    {
                                       "anyOf": [
                                          {
                                             "type": "number"
                                          },
                                          {
                                             "type": "integer"
                                          }
                                       ]
                                    },
                                    {
                                       "anyOf": [
                                          {
                                             "type": "number"
                                          },
                                          {
                                             "type": "integer"
                                          }
                                       ]
                                    },
                                    {
                                       "anyOf": [
                                          {
                                             "type": "number"
                                          },
                                          {
                                             "type": "integer"
                                          }
                                       ]
                                    }
                                 ]
                              }
                           ]
                        }
                     }
                  },
                  "type": {
                     "title": "Type",
                     "const": "MultiLineString",
                     "type": "string"
                  }
               },
               "required": [
                  "coordinates"
               ]
            },
            "Polygon": {
               "title": "Polygon",
               "description": "Polygon Model",
               "type": "object",
               "properties": {
                  "coordinates": {
                     "title": "Coordinates",
                     "type": "array",
                     "items": {
                        "type": "array",
                        "items": {
                           "anyOf": [
                              {
                                 "type": "array",
                                 "minItems": 2,
                                 "maxItems": 2,
                                 "items": [
                                    {
                                       "anyOf": [
                                          {
                                             "type": "number"
                                          },
                                          {
                                             "type": "integer"
                                          }
                                       ]
                                    },
                                    {
                                       "anyOf": [
                                          {
                                             "type": "number"
                                          },
                                          {
                                             "type": "integer"
                                          }
                                       ]
                                    }
                                 ]
                              },
                              {
                                 "type": "array",
                                 "minItems": 3,
                                 "maxItems": 3,
                                 "items": [
                                    {
                                       "anyOf": [
                                          {
                                             "type": "number"
                                          },
                                          {
                                             "type": "integer"
                                          }
                                       ]
                                    },
                                    {
                                       "anyOf": [
                                          {
                                             "type": "number"
                                          },
                                          {
                                             "type": "integer"
                                          }
                                       ]
                                    },
                                    {
                                       "anyOf": [
                                          {
                                             "type": "number"
                                          },
                                          {
                                             "type": "integer"
                                          }
                                       ]
                                    }
                                 ]
                              }
                           ]
                        }
                     }
                  },
                  "type": {
                     "title": "Type",
                     "const": "Polygon",
                     "type": "string"
                  }
               },
               "required": [
                  "coordinates"
               ]
            },
            "MultiPolygon": {
               "title": "MultiPolygon",
               "description": "MultiPolygon Model",
               "type": "object",
               "properties": {
                  "coordinates": {
                     "title": "Coordinates",
                     "type": "array",
                     "items": {
                        "type": "array",
                        "items": {
                           "type": "array",
                           "items": {
                              "anyOf": [
                                 {
                                    "type": "array",
                                    "minItems": 2,
                                    "maxItems": 2,
                                    "items": [
                                       {
                                          "anyOf": [
                                             {
                                                "type": "number"
                                             },
                                             {
                                                "type": "integer"
                                             }
                                          ]
                                       },
                                       {
                                          "anyOf": [
                                             {
                                                "type": "number"
                                             },
                                             {
                                                "type": "integer"
                                             }
                                          ]
                                       }
                                    ]
                                 },
                                 {
                                    "type": "array",
                                    "minItems": 3,
                                    "maxItems": 3,
                                    "items": [
                                       {
                                          "anyOf": [
                                             {
                                                "type": "number"
                                             },
                                             {
                                                "type": "integer"
                                             }
                                          ]
                                       },
                                       {
                                          "anyOf": [
                                             {
                                                "type": "number"
                                             },
                                             {
                                                "type": "integer"
                                             }
                                          ]
                                       },
                                       {
                                          "anyOf": [
                                             {
                                                "type": "number"
                                             },
                                             {
                                                "type": "integer"
                                             }
                                          ]
                                       }
                                    ]
                                 }
                              ]
                           }
                        }
                     }
                  },
                  "type": {
                     "title": "Type",
                     "const": "MultiPolygon",
                     "type": "string"
                  }
               },
               "required": [
                  "coordinates"
               ]
            },
            "Feature": {
               "title": "Feature",
               "description": "Feature Model",
               "type": "object",
               "properties": {
                  "type": {
                     "title": "Type",
                     "const": "Feature",
                     "type": "string"
                  },
                  "geometry": {
                     "title": "Geometry",
                     "anyOf": [
                        {
                           "$ref": "#/definitions/Point"
                        },
                        {
                           "$ref": "#/definitions/MultiPoint"
                        },
                        {
                           "$ref": "#/definitions/LineString"
                        },
                        {
                           "$ref": "#/definitions/MultiLineString"
                        },
                        {
                           "$ref": "#/definitions/Polygon"
                        },
                        {
                           "$ref": "#/definitions/MultiPolygon"
                        }
                     ]
                  },
                  "properties": {
                     "title": "Properties",
                     "type": "object"
                  },
                  "id": {
                     "title": "Id",
                     "type": "string"
                  },
                  "bbox": {
                     "title": "Bbox",
                     "anyOf": [
                        {
                           "type": "array",
                           "minItems": 4,
                           "maxItems": 4,
                           "items": [
                              {
                                 "anyOf": [
                                    {
                                       "type": "number"
                                    },
                                    {
                                       "type": "integer"
                                    }
                                 ]
                              },
                              {
                                 "anyOf": [
                                    {
                                       "type": "number"
                                    },
                                    {
                                       "type": "integer"
                                    }
                                 ]
                              },
                              {
                                 "anyOf": [
                                    {
                                       "type": "number"
                                    },
                                    {
                                       "type": "integer"
                                    }
                                 ]
                              },
                              {
                                 "anyOf": [
                                    {
                                       "type": "number"
                                    },
                                    {
                                       "type": "integer"
                                    }
                                 ]
                              }
                           ]
                        },
                        {
                           "type": "array",
                           "minItems": 6,
                           "maxItems": 6,
                           "items": [
                              {
                                 "anyOf": [
                                    {
                                       "type": "number"
                                    },
                                    {
                                       "type": "integer"
                                    }
                                 ]
                              },
                              {
                                 "anyOf": [
                                    {
                                       "type": "number"
                                    },
                                    {
                                       "type": "integer"
                                    }
                                 ]
                              },
                              {
                                 "anyOf": [
                                    {
                                       "type": "number"
                                    },
                                    {
                                       "type": "integer"
                                    }
                                 ]
                              },
                              {
                                 "anyOf": [
                                    {
                                       "type": "number"
                                    },
                                    {
                                       "type": "integer"
                                    }
                                 ]
                              },
                              {
                                 "anyOf": [
                                    {
                                       "type": "number"
                                    },
                                    {
                                       "type": "integer"
                                    }
                                 ]
                              },
                              {
                                 "anyOf": [
                                    {
                                       "type": "number"
                                    },
                                    {
                                       "type": "integer"
                                    }
                                 ]
                              }
                           ]
                        }
                     ]
                  }
               },
               "required": [
                  "geometry"
               ]
            }
         }
      }

  Fields

    - `geom (Union[List, geojson_pydantic.features.Feature])`

    - `resolution (Optional[float])`

    - `type (oceanum.datamesh.query.GeoFilterType)`

  field geom: Union[List, geojson_pydantic.features.Feature] [Required]

    - For type=’feature’, geojson feature.

    - For type=’bbox’, list[x_min,y_min,x_max,y_max] in CRS units.

    - For type=’radius’, list[x0,y0,radius] in CRS units.

  field resolution: Optional[float] = 0.0

    Maximum resolution of the data for downsampling in CRS units

  field type: oceanum.datamesh.query.GeoFilterType = <GeoFilterType.bbox: 'bbox'>
    Type of the geofilter. Can be one of:

      - ‘feature’: Select with a geojson feature

      - ‘bbox’: Select with a bounding box

      - ‘radius’: Select within radius of point