All Downloads are FREE. Search and download functionalities are using the official Maven repository.

src.layers-schema.json Maven / Gradle / Ivy

{
  "$schema":"http://json-schema.org/draft-04/schema#",
  "definitions":{
    "wmsLayer-base":{
      "type":"object",
      "properties":{
        "id":{
          "title":"Identifier",
          "type":"string"
        },
        "type":{
          "title":"Layer Type",
          "type":"string",
          "enum":[
            "wms",
            "osm",
            "gmaps"
          ]
        },
        "visible":{
          "title":"Is visible layer",
          "type":"boolean"
        },
        "legend":{
          "title":"Legend URL",
          "anyOf":[
            {
              "enum":[
                "auto"
              ]
            },
            {
              "type":"string"
            }
          ]
        },
        "label":{
          "title":"Legend Label",
          "type":"string"
        },
        "sourceLink":{
          "title":"Source Link",
          "type":"string",
          "format":"uri"
        },
        "sourceLabel":{
          "title":"Source Label",
          "type":"string"
        }
      },
      "required":[
        "id"
      ],
      "dependencies":{
        "sourceLink":[
          "sourceLabel"
        ],
        "sourceLabel":[
          "sourceLink"
        ],
        "legend":[
          "label"
        ],
        "label":[
          "legend"
        ]
      }
    },
    "wmsLayer-wmsType":{
      "allOf":[
        {
          "$ref":"#/definitions/wmsLayer-base"
        },
        {
          "properties":{
            "type":{
              "enum":[
                "wms"
              ]
            },
            "baseUrl":{
              "title":"Base URL",
              "type":"string"
            },
            "wmsName":{
              "title":"WMS Layername",
              "type":"string",
              "enum" : []
            },
            "imageFormat":{
              "title":"Image Format",
              "type":"string",
              "enum":[
                "image/png",
                "image/png8",
                "image/jpeg",
                "image/gif"
              ]
            },
            "queryType":{
              "title":"Query Type",
              "type":"string",
              "enum":[
                "wms",
                "wfs"
              ]
            },
            "queryUrl":{
              "title":"Query URL",
              "type":"string"
            },
            "queryGeomFieldName":{
              "title":"Query Geometry Field Name",
              "type":"string"
            },
            "queryFieldNames":{
              "title":"Query Field Names",
              "type":"array",
              "items":{
                "type":"string"
              },
              "minItems":1,
              "uniqueItems":true
            },
            "queryFieldAliases":{
              "title":"Query Field Aliases",
              "type":"array",
              "items":{
                "type":"string"
              },
              "minItems":1,
              "uniqueItems":true
            },
            "queryTimeFieldName":{
              "title":"Query Time Field Name",
              "type":"string"
            },
            "queryHighlightBounds":{
              "title":"Query Highlight Bounds",
              "type":"boolean"
            }
          },
          "required":[
            "wmsName"
          ],
          "dependencies":{
            "queryFieldNames":[
              "queryFieldAliases"
            ],
            "queryFieldAliases":[
              "queryFieldNames"
            ]
          }
        }
      ]
    },
    "wmsLayer-wmsType-wfsQueryType":{
      "allOf":[
        {
          "$ref":"#/definitions/wmsLayer-wmsType"
        },
        {
          "properties":{
            "queryType":{
              "enum":[
                "wfs"
              ]
            }
          },
          "required":[
            "queryType",
            "queryUrl",
            "queryGeomFieldName",
            "queryFieldNames",
            "queryFieldAliases"
          ]
        }
      ]
    },
    "wmsLayer-osmType":{
      "allOf":[
        {
          "$ref":"#/definitions/wmsLayer-base"
        },
        {
          "properties":{
            "type":{
              "enum":[
                "osm"
              ]
            },
            "osmUrls":{
              "title":"Tileset URLs",
              "type":"array",
              "items":{
                "type":"string",
                "format":"uri"
              },
              "minItems":1,
              "uniqueItems":true
            }
          },
          "required":[
            "type",
            "osmUrls"
          ]
        }
      ]
    },
    "wmsLayer-gmapsType":{
      "allOf":[
        {
          "$ref":"#/definitions/wmsLayer-base"
        },
        {
          "properties":{
            "type":{
              "enum":[
                "gmaps"
              ]
            },
            "gmaps-type":{
              "title":"Google Maps Layer Type",
              "type":"string",
              "enum":[
                "ROADMAP",
                "SATELLITE",
                "HYBRID",
                "TERRAIN"
              ]
            }
          },
          "required":[
            "type",
            "gmaps-type"
          ]
        }
      ]
    },
    "wmsLayer":{
      "anyOf":[
        {
          "$ref":"#/definitions/wmsLayer-wmsType"
        },
        {
          "$ref":"#/definitions/wmsLayer-wmsType-wfsQueryType"
        },
        {
          "$ref":"#/definitions/wmsLayer-osmType"
        },
        {
          "$ref":"#/definitions/wmsLayer-gmapsType"
        }
      ]
    },
    "toc":{
      "type":"object",
      "properties":{
        "id":{
          "title":"Identifier",
          "type":"string"
        },
        "label":{
          "title":"Label",
          "type":"string"
        },
        "infoFile":{
          "title":"Info File",
          "type":"string"
        },
        "infoLink":{
          "title":"Info Link",
          "type":"string",
          "format":"uri"
        }
      },
      "required":[
        "id",
        "label"
      ]
    },
    "portalLayer":{
      "allOf":[
        {
          "$ref":"#/definitions/toc"
        },
        {
          "properties":{
            "inlineLegendUrl":{
              "title":"Inline Legend URL",
              "anyOf":[
                {
                  "enum":[
                    "auto"
                  ]
                },
                {
                  "type":"string"
                }
              ]
            },
            "active":{
              "title":"Layer initially visible",
              "type":"boolean"
            },
            "layers":{
              "title":"Layer list",
              "type":"array",
              "items":{
                "type":"string"
              },
              "minItems":1,
              "uniqueItems":true
            },
            "timeInstances":{
              "title":"Time instances",
              "type":"string"
            },
            "timeStyles":{
              "title":"Time styles",
              "type":"string"
            },
            "date-format":{
              "title":"Date format",
              "type":"string"
            },
            "feedback":{
              "title":"Allow user feedback",
              "type":"boolean"
            }
          },
          "dependencies":{
            "timeStyles":[
              "timeInstances"
            ]
          },
          "required":[
            "layers"
          ]
        }
      ]
    },
    "group":{
      "allOf":[
        {
          "$ref":"#/definitions/toc"
        },
        {
          "properties":{
            "items":{
              "title":"Group items",
              "type":"array",
              "items":{
                "anyOf":[
                  {
                    "type":"string"
                  },
                  {
                    "$ref":"#/definitions/group"
                  }
                ]
              },
              "uniqueItems":true
            }
          },
          "required":[
            "items"
          ]
        }
      ]
    }
  },
  "type":"object",
  "properties":{
    "default-server":{
      "title":"Default Server",
      "type":"string",
      "format":"uri"
    },
    "wmsLayers":{
      "title":"WMS Layers",
      "type":"array",
      "items":{
        "$ref":"#/definitions/wmsLayer"
      },
      "minItems":1,
      "uniqueItems":true
    },
    "portalLayers":{
      "title":"Portal Layers",
      "type":"array",
      "items":{
        "$ref":"#/definitions/portalLayer"
      },
      "minItems":1,
      "uniqueItems":true
    },
    "groups":{
      "title":"Groups",
      "type":"array",
      "items":{
        "$ref":"#/definitions/group"
      },
      "minItems":1,
      "uniqueItems":true
    }
  },
  "required":[
    "default-server",
    "wmsLayers",
    "portalLayers",
    "groups"
  ],
  "additionalProperties":false
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy