Files
bps-schema/schema-urban.json

148 lines
3.7 KiB
JSON

{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "bps/urban",
"title": "Urban-Scale Geometry Schema",
"description": "Urban scale geometry: climate zones and land use boundaries. Energy, CFD, and other simulation parameters are in separate schema-urban-*.json files.",
"$defs": {
"_IdentifiedObject": {
"type": "object",
"properties": {
"identifier": {
"type": "string",
"pattern": "^[.A-Za-z0-9_-]+$",
"minLength": 1,
"maxLength": 100
},
"display_name": {
"type": [
"string",
"null"
]
},
"user_data": {
"type": [
"object",
"null"
]
}
},
"required": [
"identifier"
]
},
"ClimateZone": {
"type": "object",
"allOf": [
{
"$ref": "#/$defs/_IdentifiedObject"
},
{
"type": "object",
"properties": {
"type": {
"const": "ClimateZone"
},
"boundary": {
"type": "array",
"items": {
"type": "array",
"items": {
"type": "number"
},
"minItems": 2,
"maxItems": 2
},
"minItems": 3
},
"climate_zone_code": {
"type": "string",
"description": "e.g. ASHRAE (1A-8B), Chinese (\u4e25\u5bd2/\u5bd2\u51b7/\u590f\u70ed\u51ac\u51b7/\u590f\u70ed\u51ac\u6696/\u6e29\u548c)"
},
"heating_degree_days": {
"type": "number"
},
"cooling_degree_days": {
"type": "number"
},
"design_heating_temperature": {
"type": "number"
},
"design_cooling_temperature": {
"type": "number"
}
},
"required": [
"type"
],
"additionalProperties": false
}
]
},
"LandUse": {
"type": "object",
"allOf": [
{
"$ref": "#/$defs/_IdentifiedObject"
},
{
"type": "object",
"properties": {
"type": {
"const": "LandUse"
},
"boundary": {
"type": "array",
"items": {
"type": "array",
"items": {
"type": "number"
},
"minItems": 2,
"maxItems": 2
},
"minItems": 3
},
"land_use_type": {
"type": "string",
"enum": [
"residential",
"commercial",
"industrial",
"institutional",
"agricultural",
"park",
"water",
"transportation",
"mixed"
]
},
"floor_area_ratio": {
"type": "number",
"minimum": 0
},
"building_coverage_ratio": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"green_ratio": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"population_density": {
"type": "number",
"minimum": 0,
"description": "people per hectare"
}
},
"required": [
"type",
"land_use_type"
],
"additionalProperties": false
}
]
}
}
}