Windows 10 Geolocation

Schema for Windows 10 geolocation data as defined by the Windows.Devices.Geolocation namespace. Covers Geoposition, Geocoordinate, Geocircle, GeoboundingBox, Geovisit, and Geofence data models.

DesktopOperating SystemUWPWin32Windows

Properties

Name Type Description
coordinate object
civicAddress object
venueData object
View JSON Schema on GitHub

JSON Schema

microsoft-windows-10-geolocation-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://developer.microsoft.com/schemas/windows-10/geolocation.json",
  "title": "Windows 10 Geolocation",
  "description": "Schema for Windows 10 geolocation data as defined by the Windows.Devices.Geolocation namespace. Covers Geoposition, Geocoordinate, Geocircle, GeoboundingBox, Geovisit, and Geofence data models.",
  "type": "object",
  "properties": {
    "coordinate": {
      "$ref": "#/$defs/Geocoordinate"
    },
    "civicAddress": {
      "$ref": "#/$defs/CivicAddress"
    },
    "venueData": {
      "$ref": "#/$defs/VenueData"
    }
  },
  "required": ["coordinate"],
  "$defs": {
    "Geocoordinate": {
      "type": "object",
      "description": "Geographic coordinate data as returned by the Geocoordinate class",
      "properties": {
        "latitude": {
          "type": "number",
          "format": "double",
          "minimum": -90,
          "maximum": 90,
          "description": "Latitude in decimal degrees (WGS 84)"
        },
        "longitude": {
          "type": "number",
          "format": "double",
          "minimum": -180,
          "maximum": 180,
          "description": "Longitude in decimal degrees (WGS 84)"
        },
        "altitude": {
          "type": ["number", "null"],
          "format": "double",
          "description": "Altitude in meters above the reference ellipsoid"
        },
        "accuracy": {
          "type": "number",
          "format": "double",
          "minimum": 0,
          "description": "Horizontal accuracy radius in meters"
        },
        "altitudeAccuracy": {
          "type": ["number", "null"],
          "format": "double",
          "minimum": 0,
          "description": "Vertical accuracy in meters"
        },
        "heading": {
          "type": ["number", "null"],
          "format": "double",
          "minimum": 0,
          "maximum": 360,
          "description": "Heading in degrees relative to true north"
        },
        "speed": {
          "type": ["number", "null"],
          "format": "double",
          "minimum": 0,
          "description": "Speed in meters per second"
        },
        "timestamp": {
          "type": "string",
          "format": "date-time",
          "description": "The time the location was determined"
        },
        "point": {
          "$ref": "#/$defs/Geopoint"
        },
        "positionSource": {
          "type": "string",
          "enum": ["Cellular", "Satellite", "WiFi", "IPAddress", "Unknown", "Default", "Obfuscated"],
          "description": "The source used to determine the position (PositionSource)"
        },
        "positionSourceTimestamp": {
          "type": ["string", "null"],
          "format": "date-time",
          "description": "Timestamp from the position source"
        },
        "satelliteData": {
          "$ref": "#/$defs/SatelliteData"
        }
      },
      "required": ["latitude", "longitude", "accuracy", "timestamp"]
    },
    "Geopoint": {
      "type": "object",
      "description": "A geographic point (Geopoint class)",
      "properties": {
        "position": {
          "$ref": "#/$defs/BasicGeoposition"
        },
        "altitudeReferenceSystem": {
          "type": "string",
          "enum": ["Unspecified", "Terrain", "Ellipsoid", "Geoid", "Surface"],
          "description": "Altitude reference system"
        },
        "spatialReferenceId": {
          "type": "integer",
          "description": "Spatial reference identifier (SRID), typically 4326 for WGS 84"
        }
      },
      "required": ["position"]
    },
    "BasicGeoposition": {
      "type": "object",
      "description": "Basic geographic position (BasicGeoposition struct)",
      "properties": {
        "latitude": {
          "type": "number",
          "format": "double"
        },
        "longitude": {
          "type": "number",
          "format": "double"
        },
        "altitude": {
          "type": "number",
          "format": "double"
        }
      },
      "required": ["latitude", "longitude", "altitude"]
    },
    "SatelliteData": {
      "type": "object",
      "description": "Satellite-specific data (GeocoordinateSatelliteData class)",
      "properties": {
        "horizontalDilutionOfPrecision": {
          "type": ["number", "null"],
          "format": "double",
          "description": "HDOP value"
        },
        "verticalDilutionOfPrecision": {
          "type": ["number", "null"],
          "format": "double",
          "description": "VDOP value"
        },
        "geometricDilutionOfPrecision": {
          "type": ["number", "null"],
          "format": "double",
          "description": "GDOP value"
        }
      }
    },
    "CivicAddress": {
      "type": "object",
      "description": "Civic address information",
      "properties": {
        "city": {
          "type": "string"
        },
        "country": {
          "type": "string"
        },
        "state": {
          "type": "string"
        },
        "postalCode": {
          "type": "string"
        },
        "timestamp": {
          "type": "string",
          "format": "date-time"
        }
      }
    },
    "VenueData": {
      "type": "object",
      "description": "Venue data (VenueData class)",
      "properties": {
        "id": {
          "type": "string"
        },
        "level": {
          "type": "string"
        }
      }
    },
    "Geocircle": {
      "type": "object",
      "description": "A geographic circle (Geocircle class)",
      "properties": {
        "center": {
          "$ref": "#/$defs/BasicGeoposition"
        },
        "radius": {
          "type": "number",
          "format": "double",
          "minimum": 0,
          "description": "Radius in meters"
        },
        "altitudeReferenceSystem": {
          "type": "string",
          "enum": ["Unspecified", "Terrain", "Ellipsoid", "Geoid", "Surface"]
        },
        "geoshapeType": {
          "const": "Geocircle"
        }
      },
      "required": ["center", "radius"]
    },
    "GeoboundingBox": {
      "type": "object",
      "description": "A geographic bounding box (GeoboundingBox class)",
      "properties": {
        "northwestCorner": {
          "$ref": "#/$defs/BasicGeoposition"
        },
        "southeastCorner": {
          "$ref": "#/$defs/BasicGeoposition"
        },
        "altitudeReferenceSystem": {
          "type": "string",
          "enum": ["Unspecified", "Terrain", "Ellipsoid", "Geoid", "Surface"]
        },
        "geoshapeType": {
          "const": "GeoboundingBox"
        }
      },
      "required": ["northwestCorner", "southeastCorner"]
    },
    "Geopath": {
      "type": "object",
      "description": "An ordered series of geographic points (Geopath class)",
      "properties": {
        "positions": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/BasicGeoposition"
          },
          "description": "Ordered list of positions"
        },
        "altitudeReferenceSystem": {
          "type": "string",
          "enum": ["Unspecified", "Terrain", "Ellipsoid", "Geoid", "Surface"]
        },
        "geoshapeType": {
          "const": "Geopath"
        }
      },
      "required": ["positions"]
    },
    "Geofence": {
      "type": "object",
      "description": "A geographic fence for location monitoring",
      "properties": {
        "id": {
          "type": "string",
          "description": "Unique identifier"
        },
        "geoshape": {
          "$ref": "#/$defs/Geocircle"
        },
        "monitoredStates": {
          "type": "array",
          "items": {
            "type": "string",
            "enum": ["Entered", "Exited", "Removed"]
          }
        },
        "singleUse": {
          "type": "boolean",
          "default": false
        },
        "dwellTime": {
          "type": "string",
          "description": "ISO 8601 duration"
        },
        "startTime": {
          "type": "string",
          "format": "date-time"
        },
        "duration": {
          "type": "string",
          "description": "ISO 8601 duration"
        }
      },
      "required": ["id", "geoshape"]
    },
    "Geovisit": {
      "type": "object",
      "description": "A visit record (Geovisit class)",
      "properties": {
        "position": {
          "$ref": "#/$defs/Geocoordinate"
        },
        "stateChange": {
          "type": "string",
          "enum": ["Arrived", "Departed", "TrackingLost"],
          "description": "The type of visit state change (VisitStateChange)"
        },
        "timestamp": {
          "type": "string",
          "format": "date-time"
        }
      },
      "required": ["stateChange", "timestamp"]
    }
  }
}

Work with this as data

Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for schemas

4 MCP tools reach this
  • find_json_schemasBrowse and filter every JSON Schema in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/microsoft-windows-10-geolocation"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.