or run

npx @tessl/cli init
Log in

Version

Tile

Overview

Evals

Files

docs

commerce.mddatatypes.mddate.mddomains.mdfinance.mdindex.mdinternet.mdlocation.mdperson.mdsystem.mdtext.mdvisual.md
tile.json

location.mddocs/

Location & Geography

Generate location data including addresses, coordinates, and geographic information with locale-specific formatting and realistic geographic relationships.

Capabilities

Address Generation

Generate complete addresses with locale-appropriate formatting and realistic components.

/**
 * Generate a street address
 * @param options - Configuration options
 * @returns Street address string
 */
streetAddress(options?: {
  useFullAddress?: boolean;
}): string;

/**
 * Generate a building number
 * @returns Building number string
 */
buildingNumber(): string;

/**
 * Generate a street name
 * @returns Street name string
 */
street(): string;

/**
 * Generate a secondary address (apartment, suite, etc.)
 * @returns Secondary address string
 */
secondaryAddress(): string;

Geographic Names

Generate city, state, country, and other geographic location names.

/**
 * Generate a city name
 * @returns City name string
 */
city(): string;

/**
 * Generate a state or province name
 * @param options - Configuration options
 * @returns State/province name or abbreviation
 */
state(options?: {
  abbreviated?: boolean;
}): string;

/**
 * Generate a country name
 * @param options - Configuration options
 * @returns Country name
 */
country(options?: {
  variant?: 'common' | 'official';
}): string;

/**
 * Generate a country code
 * @param options - Configuration options
 * @returns Country code (ISO 3166-1)
 */
countryCode(options?: {
  variant?: 'alpha-2' | 'alpha-3' | 'numeric';
}): string;

Postal Codes

Generate postal codes and ZIP codes with locale-specific formatting.

/**
 * Generate a postal/ZIP code
 * @param options - Configuration options
 * @returns Postal code string
 */
zipCode(options?: {
  state?: string;
  format?: string;
}): string;

Coordinates

Generate latitude and longitude coordinates with precision control and geographic constraints.

/**
 * Generate a latitude coordinate
 * @param options - Configuration options
 * @returns Latitude as number
 */
latitude(options?: {
  max?: number;
  min?: number;
  precision?: number;
}): number;

/**
 * Generate a longitude coordinate
 * @param options - Configuration options
 * @returns Longitude as number
 */
longitude(options?: {
  max?: number;
  min?: number;
  precision?: number;
}): number;

/**
 * Generate coordinates near a given point
 * @param options - Configuration options
 * @returns Tuple of [latitude, longitude]
 */
nearbyGPSCoordinate(options?: {
  origin?: [number, number];
  radius?: number;
  isMetric?: boolean;
}): [number, number];

Direction and Navigation

Generate cardinal directions and navigation-related data.

/**
 * Generate a cardinal direction
 * @param options - Configuration options
 * @returns Cardinal direction string
 */
cardinalDirection(options?: {
  abbreviated?: boolean;
}): string;

/**
 * Generate an ordinal direction
 * @param options - Configuration options
 * @returns Ordinal direction string
 */
ordinalDirection(options?: {
  abbreviated?: boolean;
}): string;

Usage Examples

import { faker } from "@faker-js/faker";

// Generate complete address
const completeAddress = {
  street: faker.location.streetAddress(),
  secondaryAddress: faker.location.secondaryAddress(),
  city: faker.location.city(),
  state: faker.location.state(),
  zipCode: faker.location.zipCode(),
  country: faker.location.country()
};

// Generate coordinates for mapping
const mapLocation = {
  name: faker.location.city(),
  coordinates: {
    lat: faker.location.latitude(),
    lng: faker.location.longitude()
  },
  address: faker.location.streetAddress({ useFullAddress: true })
};

// Generate nearby locations
const centralPoint: [number, number] = [40.7128, -74.0060]; // NYC
const nearbyLocations = Array.from({ length: 5 }, () => ({
  name: faker.location.city(),
  coordinates: faker.location.nearbyGPSCoordinate({
    origin: centralPoint,
    radius: 10, // 10km radius
    isMetric: true
  })
}));

// Generate international addresses
const internationalAddresses = [
  {
    country: faker.location.country(),
    countryCode: faker.location.countryCode({ variant: 'alpha-2' }),
    city: faker.location.city(),
    postalCode: faker.location.zipCode()
  }
];

// Generate navigation data
const directions = {
  heading: faker.location.cardinalDirection(),
  turn: faker.location.ordinalDirection(),
  coordinates: {
    start: [faker.location.latitude(), faker.location.longitude()],
    end: [faker.location.latitude(), faker.location.longitude()]
  }
};

Locale-Specific Examples

Different locales provide appropriate formatting and realistic data for their regions:

import { fakerDE, fakerJA, fakerEN_US } from "@faker-js/faker";

// German addresses
const germanAddress = {
  street: fakerDE.location.streetAddress(),
  city: fakerDE.location.city(),
  zipCode: fakerDE.location.zipCode(),
  country: fakerDE.location.country()
};
// Example: "Musterstraße 123, 10115 Berlin, Deutschland"

// Japanese addresses  
const japaneseAddress = {
  street: fakerJA.location.streetAddress(),
  city: fakerJA.location.city(),
  zipCode: fakerJA.location.zipCode(),
  country: fakerJA.location.country()
};
// Example with Japanese characters and formatting

// US addresses with state abbreviations
const usAddress = {
  street: fakerEN_US.location.streetAddress(),
  city: fakerEN_US.location.city(),
  state: fakerEN_US.location.state({ abbreviated: true }),
  zipCode: fakerEN_US.location.zipCode()
};
// Example: "123 Main St, New York, NY 10001"

Simple Location Module

For applications not requiring locale support, SimpleFaker provides basic coordinate generation:

interface SimpleLocationModule {
  /**
   * Generate a latitude coordinate
   * @param options - Configuration options
   * @returns Latitude as number
   */
  latitude(options?: {
    max?: number;
    min?: number;
    precision?: number;
  }): number;
  
  /**
   * Generate a longitude coordinate  
   * @param options - Configuration options
   * @returns Longitude as number
   */
  longitude(options?: {
    max?: number;
    min?: number;
    precision?: number;
  }): number;
  
  /**
   * Generate coordinates near a given point
   * @param options - Configuration options
   * @returns Tuple of [latitude, longitude]
   */
  nearbyGPSCoordinate(options?: {
    origin?: [number, number];
    radius?: number;
    isMetric?: boolean;
  }): [number, number];
}