368 lines
13 KiB
JSON
368 lines
13 KiB
JSON
|
|
{
|
||
|
|
"$schema": "http://json-schema.org/draft-07/schema#",
|
||
|
|
"title": "Landvex Urban Intelligence Training Dataset",
|
||
|
|
"description": "Schema for training data used in the six-layer urban taxonomy model",
|
||
|
|
"version": "1.0",
|
||
|
|
"last_updated": "2026-06-28",
|
||
|
|
|
||
|
|
"definitions": {
|
||
|
|
"geo_point": {
|
||
|
|
"type": "object",
|
||
|
|
"required": ["lat", "lng"],
|
||
|
|
"properties": {
|
||
|
|
"lat": {"type": "number", "minimum": -90, "maximum": 90},
|
||
|
|
"lng": {"type": "number", "minimum": -180, "maximum": 180},
|
||
|
|
"accuracy": {"type": "number", "description": "GPS accuracy in meters"}
|
||
|
|
}
|
||
|
|
},
|
||
|
|
|
||
|
|
"timestamp": {
|
||
|
|
"type": "string",
|
||
|
|
"format": "date-time",
|
||
|
|
"description": "ISO 8601 timestamp"
|
||
|
|
},
|
||
|
|
|
||
|
|
"confidence_score": {
|
||
|
|
"type": "number",
|
||
|
|
"minimum": 0,
|
||
|
|
"maximum": 100,
|
||
|
|
"description": "Confidence in this observation (0-100)"
|
||
|
|
}
|
||
|
|
},
|
||
|
|
|
||
|
|
"type": "object",
|
||
|
|
"required": ["observation_id", "location", "timestamp", "contributor", "layers"],
|
||
|
|
|
||
|
|
"properties": {
|
||
|
|
"observation_id": {
|
||
|
|
"type": "string",
|
||
|
|
"pattern": "^[A-Z]{2}-[0-9]{4}-[0-9]{6}-[0-9]{4}$",
|
||
|
|
"description": "Unique ID: CC-YYYY-MMDD-NNNN"
|
||
|
|
},
|
||
|
|
|
||
|
|
"location": {
|
||
|
|
"type": "object",
|
||
|
|
"required": ["coordinates", "district", "city", "country"],
|
||
|
|
"properties": {
|
||
|
|
"coordinates": {"$ref": "#/definitions/geo_point"},
|
||
|
|
"district": {"type": "string"},
|
||
|
|
"city": {"type": "string"},
|
||
|
|
"country": {"type": "string", "pattern": "^[A-Z]{2}$"},
|
||
|
|
"address": {"type": "string"},
|
||
|
|
"landmark": {"type": "string"}
|
||
|
|
}
|
||
|
|
},
|
||
|
|
|
||
|
|
"timestamp": {"$ref": "#/definitions/timestamp"},
|
||
|
|
|
||
|
|
"contributor": {
|
||
|
|
"type": "object",
|
||
|
|
"required": ["contributor_id", "verification_level"],
|
||
|
|
"properties": {
|
||
|
|
"contributor_id": {"type": "string"},
|
||
|
|
"verification_level": {
|
||
|
|
"type": "string",
|
||
|
|
"enum": ["unverified", "basic", "verified", "expert"]
|
||
|
|
},
|
||
|
|
"training_completed": {"type": "boolean"},
|
||
|
|
"observation_count": {"type": "integer"}
|
||
|
|
}
|
||
|
|
},
|
||
|
|
|
||
|
|
"layers": {
|
||
|
|
"type": "object",
|
||
|
|
"required": ["physical", "operational"],
|
||
|
|
"properties": {
|
||
|
|
"physical": {
|
||
|
|
"type": "object",
|
||
|
|
"properties": {
|
||
|
|
"building_type": {
|
||
|
|
"type": "string",
|
||
|
|
"enum": ["residential", "commercial", "industrial", "mixed", "institutional", "vacant_land"]
|
||
|
|
},
|
||
|
|
"building_height": {"type": "integer", "description": "Approximate height in meters"},
|
||
|
|
"building_condition": {
|
||
|
|
"type": "string",
|
||
|
|
"enum": ["excellent", "good", "fair", "poor", "derelict"]
|
||
|
|
},
|
||
|
|
"building_age_estimate": {
|
||
|
|
"type": "string",
|
||
|
|
"enum": ["new", "recent", "mature", "old", "historic"]
|
||
|
|
},
|
||
|
|
"road_type": {
|
||
|
|
"type": "string",
|
||
|
|
"enum": ["highway", "arterial", "collector", "local", "alley", "pedestrian"]
|
||
|
|
},
|
||
|
|
"road_condition": {
|
||
|
|
"type": "string",
|
||
|
|
"enum": ["excellent", "good", "fair", "poor", "unpassable"]
|
||
|
|
},
|
||
|
|
"sidewalk_present": {"type": "boolean"},
|
||
|
|
"sidewalk_condition": {
|
||
|
|
"type": "string",
|
||
|
|
"enum": ["excellent", "good", "fair", "poor", "none"]
|
||
|
|
},
|
||
|
|
"street_lighting": {
|
||
|
|
"type": "string",
|
||
|
|
"enum": ["excellent", "adequate", "poor", "none"]
|
||
|
|
},
|
||
|
|
"greenery": {
|
||
|
|
"type": "string",
|
||
|
|
"enum": ["abundant", "moderate", "sparse", "none"]
|
||
|
|
},
|
||
|
|
"pedestrian_count": {"type": "integer"},
|
||
|
|
"vehicle_count": {"type": "integer"},
|
||
|
|
"vehicle_types": {
|
||
|
|
"type": "array",
|
||
|
|
"items": {
|
||
|
|
"type": "string",
|
||
|
|
"enum": ["cars", "motorcycles", "bicycles", "buses", "trucks", "tuk_tuks", "other"]
|
||
|
|
}
|
||
|
|
},
|
||
|
|
"images": {
|
||
|
|
"type": "array",
|
||
|
|
"items": {
|
||
|
|
"type": "object",
|
||
|
|
"properties": {
|
||
|
|
"image_id": {"type": "string"},
|
||
|
|
"url": {"type": "string", "format": "uri"},
|
||
|
|
"angle": {"type": "string", "enum": ["front", "side", "aerial", "interior"]},
|
||
|
|
"timestamp": {"$ref": "#/definitions/timestamp"}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
},
|
||
|
|
"confidence": {"$ref": "#/definitions/confidence_score"}
|
||
|
|
}
|
||
|
|
},
|
||
|
|
|
||
|
|
"operational": {
|
||
|
|
"type": "object",
|
||
|
|
"properties": {
|
||
|
|
"businesses_observed": {"type": "integer"},
|
||
|
|
"businesses_open": {"type": "integer"},
|
||
|
|
"business_types": {
|
||
|
|
"type": "array",
|
||
|
|
"items": {
|
||
|
|
"type": "string",
|
||
|
|
"enum": ["retail", "food_service", "services", "entertainment", "healthcare", "education", "manufacturing", "logistics", "other"]
|
||
|
|
}
|
||
|
|
},
|
||
|
|
"activity_level": {
|
||
|
|
"type": "string",
|
||
|
|
"enum": ["very_high", "high", "moderate", "low", "very_low"]
|
||
|
|
},
|
||
|
|
"customer_queue_length": {"type": "integer"},
|
||
|
|
"delivery_vehicles_present": {"type": "integer"},
|
||
|
|
"construction_active": {"type": "boolean"},
|
||
|
|
"construction_type": {
|
||
|
|
"type": "string",
|
||
|
|
"enum": ["new_building", "renovation", "infrastructure", "demolition", "none"]
|
||
|
|
},
|
||
|
|
"event_present": {"type": "boolean"},
|
||
|
|
"event_type": {"type": "string"},
|
||
|
|
"street_vendors_count": {"type": "integer"},
|
||
|
|
"parking_availability": {
|
||
|
|
"type": "string",
|
||
|
|
"enum": ["abundant", "adequate", "limited", "none"]
|
||
|
|
},
|
||
|
|
"noise_level": {
|
||
|
|
"type": "string",
|
||
|
|
"enum": ["very_loud", "loud", "moderate", "quiet", "silent"]
|
||
|
|
},
|
||
|
|
"cleanliness": {
|
||
|
|
"type": "string",
|
||
|
|
"enum": ["excellent", "good", "fair", "poor", "very_poor"]
|
||
|
|
},
|
||
|
|
"confidence": {"$ref": "#/definitions/confidence_score"}
|
||
|
|
}
|
||
|
|
},
|
||
|
|
|
||
|
|
"economic": {
|
||
|
|
"type": "object",
|
||
|
|
"properties": {
|
||
|
|
"ownership_type": {
|
||
|
|
"type": "string",
|
||
|
|
"enum": ["family_owned", "sole_proprietor", "partnership", "corporate", "institutional", "government", "cooperative", "unknown"]
|
||
|
|
},
|
||
|
|
"business_size": {
|
||
|
|
"type": "string",
|
||
|
|
"enum": ["micro", "small", "medium", "large", "enterprise"]
|
||
|
|
},
|
||
|
|
"price_level": {
|
||
|
|
"type": "string",
|
||
|
|
"enum": ["budget", "mid_range", "premium", "luxury"]
|
||
|
|
},
|
||
|
|
"payment_methods": {
|
||
|
|
"type": "array",
|
||
|
|
"items": {
|
||
|
|
"type": "string",
|
||
|
|
"enum": ["cash", "card", "mobile", "crypto", "barter"]
|
||
|
|
}
|
||
|
|
},
|
||
|
|
"informal_economy_signs": {
|
||
|
|
"type": "array",
|
||
|
|
"items": {
|
||
|
|
"type": "string",
|
||
|
|
"enum": ["no_receipt", "cash_only", "unmarked_prices", "negotiable_prices", "unlicensed_vendors", "home_based"]
|
||
|
|
}
|
||
|
|
},
|
||
|
|
"revenue_estimate": {
|
||
|
|
"type": "string",
|
||
|
|
"enum": ["very_high", "high", "moderate", "low", "very_low", "unknown"]
|
||
|
|
},
|
||
|
|
"profitability_indicator": {
|
||
|
|
"type": "string",
|
||
|
|
"enum": ["strongly_profitable", "profitable", "break_even", "loss_making", "unknown"]
|
||
|
|
},
|
||
|
|
"confidence": {"$ref": "#/definitions/confidence_score"}
|
||
|
|
}
|
||
|
|
},
|
||
|
|
|
||
|
|
"institutional": {
|
||
|
|
"type": "object",
|
||
|
|
"properties": {
|
||
|
|
"zoning": {
|
||
|
|
"type": "string",
|
||
|
|
"enum": ["residential", "commercial", "industrial", "mixed_use", "agricultural", "special", "unknown"]
|
||
|
|
},
|
||
|
|
"zoning_compliance": {
|
||
|
|
"type": "string",
|
||
|
|
"enum": ["fully_compliant", "minor_violations", "major_violations", "non_compliant", "unknown"]
|
||
|
|
},
|
||
|
|
"permit_displayed": {"type": "boolean"},
|
||
|
|
"permit_type": {
|
||
|
|
"type": "string",
|
||
|
|
"enum": ["business_license", "health_permit", "building_permit", "none_visible", "unknown"]
|
||
|
|
},
|
||
|
|
"tax_id_visible": {"type": "boolean"},
|
||
|
|
"regulatory_signs": {
|
||
|
|
"type": "array",
|
||
|
|
"items": {"type": "string"}
|
||
|
|
},
|
||
|
|
"enforcement_presence": {
|
||
|
|
"type": "string",
|
||
|
|
"enum": ["visible", "occasional", "rare", "none", "unknown"]
|
||
|
|
},
|
||
|
|
"confidence": {"$ref": "#/definitions/confidence_score"}
|
||
|
|
}
|
||
|
|
},
|
||
|
|
|
||
|
|
"social": {
|
||
|
|
"type": "object",
|
||
|
|
"properties": {
|
||
|
|
"family_business": {"type": "boolean"},
|
||
|
|
"family_members_present": {"type": "integer"},
|
||
|
|
"migrant_worker_signs": {
|
||
|
|
"type": "array",
|
||
|
|
"items": {
|
||
|
|
"type": "string",
|
||
|
|
"enum": ["foreign_language_signage", "remittance_services", "migrant_goods", "documentation_services", "none"]
|
||
|
|
}
|
||
|
|
},
|
||
|
|
"tourist_ratio_estimate": {
|
||
|
|
"type": "string",
|
||
|
|
"enum": ["mostly_tourist", "mixed", "mostly_local", "unknown"]
|
||
|
|
},
|
||
|
|
"community_facilities": {
|
||
|
|
"type": "array",
|
||
|
|
"items": {
|
||
|
|
"type": "string",
|
||
|
|
"enum": ["temple", "church", "mosque", "community_center", "school", "park", "market", "none"]
|
||
|
|
}
|
||
|
|
},
|
||
|
|
"social_interaction_level": {
|
||
|
|
"type": "string",
|
||
|
|
"enum": ["very_high", "high", "moderate", "low", "very_low"]
|
||
|
|
},
|
||
|
|
"safety_perception": {
|
||
|
|
"type": "string",
|
||
|
|
"enum": ["very_safe", "safe", "neutral", "unsafe", "very_unsafe"]
|
||
|
|
},
|
||
|
|
"confidence": {"$ref": "#/definitions/confidence_score"}
|
||
|
|
}
|
||
|
|
},
|
||
|
|
|
||
|
|
"temporal": {
|
||
|
|
"type": "object",
|
||
|
|
"properties": {
|
||
|
|
"observation_time": {"type": "string", "format": "time"},
|
||
|
|
"day_of_week": {
|
||
|
|
"type": "string",
|
||
|
|
"enum": ["monday", "tuesday", "wednesday", "thursday", "friday", "saturday", "sunday"]
|
||
|
|
},
|
||
|
|
"season": {
|
||
|
|
"type": "string",
|
||
|
|
"enum": ["spring", "summer", "autumn", "winter"]
|
||
|
|
},
|
||
|
|
"weather": {
|
||
|
|
"type": "string",
|
||
|
|
"enum": ["sunny", "cloudy", "rainy", "stormy", "hot", "cold", "mild"]
|
||
|
|
},
|
||
|
|
"time_pattern": {
|
||
|
|
"type": "string",
|
||
|
|
"enum": ["rush_hour_morning", "midday", "rush_hour_evening", "night", "weekend", "holiday"]
|
||
|
|
},
|
||
|
|
"seasonal_indicator": {
|
||
|
|
"type": "string",
|
||
|
|
"enum": ["peak_season", "shoulder_season", "low_season", "normal"]
|
||
|
|
},
|
||
|
|
"economic_cycle_indicator": {
|
||
|
|
"type": "string",
|
||
|
|
"enum": ["expansion", "peak", "contraction", "trough", "unknown"]
|
||
|
|
},
|
||
|
|
"confidence": {"$ref": "#/definitions/confidence_score"}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
},
|
||
|
|
|
||
|
|
"ai_analysis": {
|
||
|
|
"type": "object",
|
||
|
|
"properties": {
|
||
|
|
"image_classification": {
|
||
|
|
"type": "array",
|
||
|
|
"items": {
|
||
|
|
"type": "object",
|
||
|
|
"properties": {
|
||
|
|
"label": {"type": "string"},
|
||
|
|
"confidence": {"type": "number", "minimum": 0, "maximum": 1}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
},
|
||
|
|
"object_detection": {
|
||
|
|
"type": "array",
|
||
|
|
"items": {
|
||
|
|
"type": "object",
|
||
|
|
"properties": {
|
||
|
|
"object": {"type": "string"},
|
||
|
|
"count": {"type": "integer"},
|
||
|
|
"confidence": {"type": "number", "minimum": 0, "maximum": 1}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
},
|
||
|
|
"scene_understanding": {"type": "string"},
|
||
|
|
"anomaly_flags": {
|
||
|
|
"type": "array",
|
||
|
|
"items": {"type": "string"}
|
||
|
|
},
|
||
|
|
"quality_score": {"type": "number", "minimum": 0, "maximum": 100}
|
||
|
|
}
|
||
|
|
},
|
||
|
|
|
||
|
|
"metadata": {
|
||
|
|
"type": "object",
|
||
|
|
"properties": {
|
||
|
|
"collection_device": {"type": "string"},
|
||
|
|
"app_version": {"type": "string"},
|
||
|
|
"sync_timestamp": {"$ref": "#/definitions/timestamp"},
|
||
|
|
"review_status": {
|
||
|
|
"type": "string",
|
||
|
|
"enum": ["pending", "ai_reviewed", "human_reviewed", "approved", "rejected"]
|
||
|
|
},
|
||
|
|
"reviewer_id": {"type": "string"},
|
||
|
|
"rejection_reason": {"type": "string"}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|