XRDNA Logo
  • Login
menu

XRDNA Vector Addressing System

A modern spatial addressing system that transforms geographic coordinates into multi-layered vector addresses with support for levels of detail and constraints. Each address follows x,y,z,t,p.

Spatial vectorsLayered rangesAPI‑firstMVT tiles

Definition

Vector address format

x,y,z,t,p — spatial + temporal + plane index

// x, y, z — spatial coordinates
// t — temporal component (default 0)
// p — plane index (multiple addresses at same point)
<vec_address> ::= x,y,z,t,p

Architecture

Address layers

Four layers with different constraints and ranges

LayerCoordinate RangeAddress LimitPurpose
CORE0.0000–1.9999UnlimitedCore layer for critical objects
ORIGINS2.0000–9.999910,000,000Base objects and sources
SOCIAL10.0000–99.9999100,000,000Social objects and services
EXPANSE100.0000–199.0000UnlimitedExtended space

Architecture

System components

Core services

  • Vector Address Service — generation & management
  • Matrix Module — coordinate transformation math
  • API Key Management — authorization & access control
  • Database Layer — PostgreSQL + Prisma

Constraint system

  • Free space checks per layer
  • Address uniqueness guarantees
  • API key binding for isolation

Methods

Address generation

Geographic transformation, planes, and constraints

1) Geographic Coordinate Transformation

function mapGeoToVector(layer, { latitude, longitude, altitude }) {
  return { x: 0, y: 0, z: 0 };
}

Normalization

Latitude −90..+90, Longitude −180..+180, Altitude 0..10,000 m

Linear interpolation

// Normalize 0..1
const tx = (longitude - LON_MIN) / (LON_MAX - LON_MIN);
const ty = (latitude  - LAT_MIN) / (LAT_MAX - LAT_MIN);
const tz = (altitude  - ALT_MIN) / (ALT_MAX - ALT_MIN);
// Project to layer range
const x = xmin + (xmax - xmin) * tx;
const y = ymin + (ymax - ymin) * ty;
const z = zmin + (zmax - zmin) * tz;

Rounding

Apply precision per-layer

2) Plane management

  • Static planes — permanent
  • Dynamic planes — temporary
  • Free planes — available for reuse

3) Constraint checks

  • Per-layer limits & free-space
  • Uniqueness & collision prevention
  • API key scoping

API

HTTP API methods

Generate, claim/release planes, search, and tiles

Address generation

POST /vector-addresses/generate
{
  "layer": "SOCIAL",
  "latitude": "40.7589",
  "longitude": "-73.9851",
  "altitude": "87"
}

Create / claim plane

POST /vector-addresses/claim-plane
{
  "layer": "SOCIAL",
  "x": 45.1234,
  "y": 67.5678,
  "z": 12.3456
}

Release plane

POST /vector-addresses/release-plane
{
  "layer": "SOCIAL",
  "vector_address": "45.1234,67.5678,12.3456,0,1"
}

Address search

GET /vector-addresses/search?q={query}&limit={limit}

Visualization

MVT (Mapbox Vector Tiles)

Vector tiles for map visualization

Tile endpoint

GET /vector-addresses/tiles/{z}/{x}/{y}.pbf
?layer=SOCIAL&status=occupied

Params

z/x/y, layer, status, api_key_id

Responses

200 PBF, 204 No Content, 500 Error

Headers

Content-Type: application/vnd.mapbox-vector-tile
Cache-Control: public, max-age=900
Access-Control-Allow-Origin: *

Leaflet.js

L.tileLayer('/vector-addresses/tiles/{z}/{x}/{y}.pbf?layer=SOCIAL', {
  maxZoom: 18, tileSize: 256, attribution: 'XRDNA Vector Addresses'
}).addTo(map);

Mapbox GL JS

map.addSource('vector-addresses', {
  type: 'vector',
  tiles: ['/vector-addresses/tiles/{z}/{x}/{y}.pbf?layer=SOCIAL'],
  maxzoom: 18
});

Storage

Database models

VectorAddress & VectorAddressPlane

VectorAddress

  • Stores x, y, z, t and geographic latitude/longitude/altitude
  • Metadata: layer, status, API key

VectorAddressPlane

  • Per-address planes (static/dynamic)
  • Occupancy state (free/occupied)

Stack

Technology stack & security

Stack

  • Backend: NestJS + TypeScript
  • Database: PostgreSQL + Prisma
  • Validation: class-validator + class-transformer
  • Docs: Swagger/OpenAPI
  • Auth: API Keys
  • Testing: Jest + Supertest

Security

  • API key authentication
  • Data isolation per key
  • Input validation
  • Rate limiting

Examples

Usage examples

Generate address (Times Square)

POST /vector-addresses/generate {
  layer: 'SOCIAL', latitude: '40.7589', longitude: '-73.9851', altitude: '87'
}
→ { vector_address: '35.7642,56.8931,87.000,0,0', layer: 'SOCIAL' }

Multiple planes at same point

'35.7642,56.8931,8.7000,0,0'
'35.7642,56.8931,8.7000,0,1'
'35.7642,56.8931,8.7000,0,2'

Ops

Operations & observability

Swagger/OpenAPI docs

Auto-generated, versioned with the API.

Tiles caching

Vector tiles cached 15 minutes for performance.

CI testing

Jest + Supertest suites for endpoints and validation.

Get started

Build with the Vector Addressing System

Use the HTTP API, vector tiles, and database schema to model spatial objects with layered precision.

Explore APISee tiles
© 2025 XRDNA. All rights reserved.
LayersAPITilesDatabase
eVa Logo
Solutions
  • radio_button_checkedeVa
  • manage_searchNeural Voyager
  • roomMoE
  • circleSoI
  • squareNMP
Industries
  • location_citySpace Domain
  • cast_for_educationLogistics
  • location_cityHospitality
  • groupsTraining
  • mediationWarfighting
  • mediationCyber
  • location_cityGaming
  • location_cityCommercial
  • houseConsumer
  • sensor_occupiedGovernment + Defense
Resources
  • groupseVa Tech Spec
  • online_predictionNMP Tech Spec
  • policySoI SOAR Playbook
  • online_predictionWhitepapers
  • online_predictionPatents
About
  • groupsCompany
  • policyPrivacy Policy
  • contact_pageContact
XRDNA, MoE, Map of Everything, eVa, Sphere of Influence, and Neural Voyager are all registered trademarks for XRDNA Inc
2025 XRDNA, Inc. All Rights Reserved.