{
  "slug": "geojson-query",
  "name": "gizza-ai/geojson-query",
  "version": "0.1.0",
  "title": "GeoJSON Query — SQL-like Spatial Feature Filter — gizza.ai",
  "description": "Filter, project, sort, page, and aggregate GeoJSON features with property predicates, bbox filters, and simple spatial functions.",
  "tags": [
    "geojson",
    "spatial query",
    "feature filter",
    "bbox",
    "gis",
    "sql",
    "property filter",
    "aggregation",
    "csv"
  ],
  "category": "data",
  "urls": {
    "page": "https://gizza.ai/tools/geojson-query/",
    "markdown": "https://gizza.ai/tools/geojson-query/index.md",
    "descriptor": "https://gizza.ai/tools/geojson-query/tool.json",
    "deep_link_example": "https://gizza.ai/tools/geojson-query/?input=%7B%22type%22%3A%22FeatureCollection%22%2C%22features%22%3A%5B%7B%22type%22%3A%22Feature%22%2C%22properties%22%3A%7B%22name%22%3A%22Springfield%22%2C%22country%22%3A%22US%22%2C%22population%22%3A120000%7D%2C%22geometry%22%3A%7B%22type%22%3A%22Point%22%2C%22coordinates%22%3A%5B-89.65%2C39.78%5D%7D%7D%2C%7B%22type%22%3A%22Feature%22%2C%22properties%22%3A%7B%22name%22%3A%22Shelbyville%22%2C%22country%22%3A%22US%22%2C%22population%22%3A30000%7D%2C%22geometry%22%3A%7B%22type%22%3A%22Point%22%2C%22coordinates%22%3A%5B-88.79%2C39.40%5D%7D%7D%5D%7D&query=SELECT%20name%2C%20population%20WHERE%20country%20%3D%20%27US%27%20ORDER%20BY%20population%20DESC%20LIMIT%2010&bbox=-90%2C39%2C-88%2C40&format=geojson&indent=0&include_bbox=true"
  },
  "cli": "gizza tool geojson-query '{\"type\":\"FeatureCollection\",\"features\":[{\"type\":\"Feature\",\"properties\":{\"name\":\"Springfield\",\"country\":\"US\",\"population\":120000},\"geometry\":{\"type\":\"Point\",\"coordinates\":[-89.65,39.78]}},{\"type\":\"Feature\",\"properties\":{\"name\":\"Shelbyville\",\"country\":\"US\",\"population\":30000},\"geometry\":{\"type\":\"Point\",\"coordinates\":[-88.79,39.40]}}]}'",
  "tool": {
    "description": "Query a pasted GeoJSON FeatureCollection, Feature, bare geometry, or feature array with a deterministic SQL-like language. Supports property filters, AND/OR/NOT, IN, LIKE, bbox/intersects, within, contains(lon,lat), near(lon,lat,km), projection with SELECT, GROUP BY with count/sum/avg/min/max, ORDER BY, LIMIT/OFFSET, bbox prefiltering, and GeoJSON/JSON/CSV output. Coordinates are treated as WGS84 lon/lat and no reprojection is performed.",
    "parameters": {
      "additionalProperties": false,
      "properties": {
        "bbox": {
          "default": "",
          "description": "Optional bounding-box prefilter written as minLon,minLat,maxLon,maxLat. It is ANDed with any WHERE clause and uses intersects semantics.",
          "type": "string"
        },
        "format": {
          "default": "geojson",
          "description": "Output format. geojson returns a FeatureCollection for non-aggregate queries; json returns property or aggregate rows; csv returns those rows as comma-separated text.",
          "enum": [
            "geojson",
            "json",
            "csv"
          ],
          "type": "string"
        },
        "include_bbox": {
          "default": false,
          "description": "When true, include a computed bbox member on GeoJSON FeatureCollection output.",
          "type": "boolean"
        },
        "indent": {
          "default": 0,
          "description": "JSON indentation spaces from 0 to 8. Use 0 for compact GeoJSON/JSON.",
          "maximum": 8,
          "minimum": 0,
          "type": "integer"
        },
        "input": {
          "description": "GeoJSON FeatureCollection, Feature, bare geometry, or array of Feature objects to query. Coordinates are interpreted as WGS84 lon/lat.",
          "type": "string"
        },
        "query": {
          "default": "SELECT *",
          "description": "SQL-like query. Supports SELECT fields or aggregates, optional WHERE with property comparisons and bbox()/within()/contains()/near(), GROUP BY, ORDER BY, LIMIT, and OFFSET.",
          "type": "string"
        }
      },
      "required": [
        "input"
      ],
      "type": "object"
    }
  }
}