mirror of
https://github.com/bilawalsidhu/gods-eye-view.git
synced 2026-11-05 10:53:59 +00:00
- i18n scanner: lastError sink, no false sinks on defaults and ternaries - shared src/i18n/marker.js for modules that only mark strings - wind field messages move to wind/fields.js; CITY_POIS imports from cityPois.js - drop review IDs, change history and stale references from comments and docs Co-Authored-By: Claude Opus 5.5 <[email protected]>
515 lines
10 KiB
JavaScript
515 lines
10 KiB
JavaScript
/**
|
|
* @module cityPois
|
|
* @description The preset cities and their landmarks — plain data with no
|
|
* Cesium, so modules that only need the names (voice cards) can import it.
|
|
*/
|
|
|
|
/**
|
|
* Points of Interest per city.
|
|
* Each city has 5 POIs; the first is the default fly-to landmark.
|
|
*
|
|
* Field reference:
|
|
* alt — RANGE (distance from target in meters), NOT absolute altitude
|
|
* heading — optimal camera heading in degrees (0=N, 90=E, 180=S, 270=W)
|
|
* pitch — camera tilt in degrees (negative = looking down)
|
|
* buildingHeight — estimated height of landmark center above ground (meters)
|
|
*/
|
|
export const CITY_POIS = {
|
|
austin: {
|
|
name: 'Austin',
|
|
groundElevation: 150, // meters above WGS84 ellipsoid
|
|
viewBounds: {
|
|
southwest: { lat: 30.1, lng: -97.95 },
|
|
northeast: { lat: 30.52, lng: -97.55 },
|
|
},
|
|
pois: [
|
|
{
|
|
name: 'Texas State Capitol',
|
|
lat: 30.2747,
|
|
lon: -97.7403,
|
|
alt: 550,
|
|
pitch: -28,
|
|
heading: 180,
|
|
buildingHeight: 35,
|
|
},
|
|
{
|
|
name: 'Frost Bank Tower',
|
|
lat: 30.2674,
|
|
lon: -97.7434,
|
|
alt: 550,
|
|
pitch: -22,
|
|
heading: 30,
|
|
buildingHeight: 80,
|
|
},
|
|
{
|
|
name: 'Pennybacker Bridge',
|
|
lat: 30.3451,
|
|
lon: -97.7951,
|
|
alt: 500,
|
|
pitch: -25,
|
|
heading: 90,
|
|
buildingHeight: 40,
|
|
},
|
|
{
|
|
name: 'The Jenga Tower',
|
|
lat: 30.2642,
|
|
lon: -97.75,
|
|
alt: 500,
|
|
pitch: -18,
|
|
heading: 45,
|
|
buildingHeight: 60,
|
|
},
|
|
{
|
|
name: 'UT Tower',
|
|
lat: 30.2862,
|
|
lon: -97.7394,
|
|
alt: 500,
|
|
pitch: -22,
|
|
heading: 180,
|
|
buildingHeight: 50,
|
|
},
|
|
],
|
|
},
|
|
sf: {
|
|
name: 'San Francisco',
|
|
groundElevation: 15,
|
|
viewBounds: {
|
|
southwest: { lat: 37.7, lng: -122.53 },
|
|
northeast: { lat: 37.84, lng: -122.35 },
|
|
},
|
|
pois: [
|
|
{
|
|
name: 'Golden Gate Bridge',
|
|
lat: 37.8199,
|
|
lon: -122.4783,
|
|
alt: 1400,
|
|
pitch: -20,
|
|
heading: 45,
|
|
buildingHeight: 100,
|
|
},
|
|
{
|
|
name: 'Transamerica Pyramid',
|
|
lat: 37.7952,
|
|
lon: -122.4028,
|
|
alt: 500,
|
|
pitch: -25,
|
|
heading: 30,
|
|
buildingHeight: 85,
|
|
},
|
|
{
|
|
name: 'Salesforce Tower',
|
|
lat: 37.7897,
|
|
lon: -122.3972,
|
|
alt: 680,
|
|
pitch: -25,
|
|
heading: 330,
|
|
buildingHeight: 100,
|
|
},
|
|
{
|
|
name: 'Alcatraz Island',
|
|
lat: 37.8267,
|
|
lon: -122.423,
|
|
alt: 800,
|
|
pitch: -30,
|
|
heading: 0,
|
|
buildingHeight: 20,
|
|
},
|
|
{
|
|
name: 'Coit Tower',
|
|
lat: 37.8024,
|
|
lon: -122.4058,
|
|
alt: 420,
|
|
pitch: -30,
|
|
heading: 45,
|
|
buildingHeight: 30,
|
|
},
|
|
],
|
|
},
|
|
nyc: {
|
|
name: 'New York',
|
|
groundElevation: 10,
|
|
viewBounds: {
|
|
southwest: { lat: 40.477, lng: -74.259 },
|
|
northeast: { lat: 40.918, lng: -73.7 },
|
|
},
|
|
pois: [
|
|
{
|
|
name: 'Statue of Liberty',
|
|
lat: 40.6892,
|
|
lon: -74.0445,
|
|
alt: 450,
|
|
pitch: -25,
|
|
heading: 315,
|
|
buildingHeight: 45,
|
|
},
|
|
{
|
|
name: 'Empire State Building',
|
|
lat: 40.7484,
|
|
lon: -73.9857,
|
|
alt: 850,
|
|
pitch: -12,
|
|
heading: 30,
|
|
buildingHeight: 130,
|
|
buildingBounds: { height: 443, width: 130, depth: 75 },
|
|
},
|
|
{
|
|
name: 'One World Trade Center',
|
|
lat: 40.7127,
|
|
lon: -74.0134,
|
|
alt: 850,
|
|
pitch: -25,
|
|
heading: 0,
|
|
buildingHeight: 170,
|
|
},
|
|
{
|
|
name: 'Brooklyn Bridge',
|
|
lat: 40.7061,
|
|
lon: -73.9969,
|
|
alt: 850,
|
|
pitch: -25,
|
|
heading: 45,
|
|
buildingHeight: 40,
|
|
},
|
|
{
|
|
name: 'Chrysler Building',
|
|
lat: 40.7516,
|
|
lon: -73.9755,
|
|
alt: 700,
|
|
pitch: -20,
|
|
heading: 225,
|
|
buildingHeight: 100,
|
|
},
|
|
],
|
|
},
|
|
tokyo: {
|
|
name: 'Tokyo',
|
|
groundElevation: 40,
|
|
viewBounds: {
|
|
southwest: { lat: 35.52, lng: 139.55 },
|
|
northeast: { lat: 35.9, lng: 139.92 },
|
|
},
|
|
pois: [
|
|
{
|
|
name: 'Tokyo Tower',
|
|
lat: 35.6586,
|
|
lon: 139.7454,
|
|
alt: 850,
|
|
pitch: -25,
|
|
heading: 0,
|
|
buildingHeight: 110,
|
|
},
|
|
{
|
|
name: 'Tokyo Skytree',
|
|
lat: 35.7101,
|
|
lon: 139.8107,
|
|
alt: 900,
|
|
pitch: -25,
|
|
heading: 30,
|
|
buildingHeight: 200,
|
|
},
|
|
{
|
|
name: 'Imperial Palace',
|
|
lat: 35.6852,
|
|
lon: 139.7528,
|
|
alt: 900,
|
|
pitch: -35,
|
|
heading: 0,
|
|
buildingHeight: 20,
|
|
},
|
|
{
|
|
name: 'Senso-ji Temple',
|
|
lat: 35.7148,
|
|
lon: 139.7967,
|
|
alt: 400,
|
|
pitch: -30,
|
|
heading: 180,
|
|
buildingHeight: 25,
|
|
},
|
|
{
|
|
name: 'Mode Gakuen Cocoon Tower',
|
|
lat: 35.6929,
|
|
lon: 139.6925,
|
|
alt: 350,
|
|
pitch: -20,
|
|
heading: 30,
|
|
buildingHeight: 70,
|
|
},
|
|
],
|
|
},
|
|
london: {
|
|
name: 'London',
|
|
groundElevation: 15,
|
|
viewBounds: {
|
|
southwest: { lat: 51.28, lng: -0.51 },
|
|
northeast: { lat: 51.7, lng: 0.33 },
|
|
},
|
|
pois: [
|
|
{
|
|
name: 'Tower Bridge',
|
|
lat: 51.5055,
|
|
lon: -0.0754,
|
|
alt: 400,
|
|
pitch: -25,
|
|
heading: 270,
|
|
buildingHeight: 65,
|
|
},
|
|
{
|
|
name: 'The Shard',
|
|
lat: 51.5045,
|
|
lon: -0.0865,
|
|
alt: 850,
|
|
pitch: -20,
|
|
heading: 0,
|
|
buildingHeight: 100,
|
|
},
|
|
{
|
|
name: 'Big Ben / Parliament',
|
|
lat: 51.5007,
|
|
lon: -0.1246,
|
|
alt: 600,
|
|
pitch: -25,
|
|
heading: 180,
|
|
buildingHeight: 50,
|
|
},
|
|
{
|
|
name: "St. Paul's Cathedral",
|
|
lat: 51.5138,
|
|
lon: -0.0984,
|
|
alt: 400,
|
|
pitch: -30,
|
|
heading: 270,
|
|
buildingHeight: 55,
|
|
},
|
|
{
|
|
name: 'The Gherkin',
|
|
lat: 51.5145,
|
|
lon: -0.0803,
|
|
alt: 350,
|
|
pitch: -20,
|
|
heading: 30,
|
|
buildingHeight: 60,
|
|
},
|
|
],
|
|
},
|
|
paris: {
|
|
name: 'Paris',
|
|
groundElevation: 35,
|
|
viewBounds: {
|
|
southwest: { lat: 48.815, lng: 2.224 },
|
|
northeast: { lat: 48.902, lng: 2.47 },
|
|
},
|
|
pois: [
|
|
{
|
|
name: 'Eiffel Tower',
|
|
lat: 48.8584,
|
|
lon: 2.2945,
|
|
alt: 750,
|
|
pitch: -25,
|
|
heading: 315,
|
|
buildingHeight: 150,
|
|
},
|
|
{
|
|
name: 'Arc de Triomphe',
|
|
lat: 48.8738,
|
|
lon: 2.295,
|
|
alt: 400,
|
|
pitch: -28,
|
|
heading: 45,
|
|
buildingHeight: 25,
|
|
},
|
|
{
|
|
name: 'Notre-Dame',
|
|
lat: 48.853,
|
|
lon: 2.3499,
|
|
alt: 400,
|
|
pitch: -25,
|
|
heading: 225,
|
|
buildingHeight: 35,
|
|
},
|
|
{
|
|
name: 'Sacré-Cœur',
|
|
lat: 48.8867,
|
|
lon: 2.3431,
|
|
alt: 400,
|
|
pitch: -30,
|
|
heading: 180,
|
|
buildingHeight: 40,
|
|
},
|
|
{
|
|
name: 'Louvre Pyramid',
|
|
lat: 48.8606,
|
|
lon: 2.3376,
|
|
alt: 500,
|
|
pitch: -35,
|
|
heading: 0,
|
|
buildingHeight: 10,
|
|
},
|
|
],
|
|
},
|
|
dubai: {
|
|
name: 'Dubai',
|
|
groundElevation: 5,
|
|
viewBounds: {
|
|
southwest: { lat: 24.95, lng: 54.9 },
|
|
northeast: { lat: 25.35, lng: 55.55 },
|
|
},
|
|
pois: [
|
|
{
|
|
name: 'Burj Khalifa',
|
|
lat: 25.1972,
|
|
lon: 55.2744,
|
|
alt: 600,
|
|
pitch: -20,
|
|
heading: 200,
|
|
buildingHeight: 270,
|
|
},
|
|
{
|
|
name: 'Burj Al Arab',
|
|
lat: 25.1412,
|
|
lon: 55.1853,
|
|
alt: 500,
|
|
pitch: -25,
|
|
heading: 90,
|
|
buildingHeight: 100,
|
|
},
|
|
{
|
|
name: 'Palm Jumeirah',
|
|
lat: 25.1124,
|
|
lon: 55.139,
|
|
alt: 1200,
|
|
pitch: -40,
|
|
heading: 0,
|
|
buildingHeight: 20,
|
|
},
|
|
{
|
|
name: 'Dubai Frame',
|
|
lat: 25.235,
|
|
lon: 55.3003,
|
|
alt: 400,
|
|
pitch: -25,
|
|
heading: 270,
|
|
buildingHeight: 75,
|
|
},
|
|
{
|
|
name: 'Museum of the Future',
|
|
lat: 25.2197,
|
|
lon: 55.2806,
|
|
alt: 350,
|
|
pitch: -20,
|
|
heading: 30,
|
|
buildingHeight: 35,
|
|
},
|
|
],
|
|
},
|
|
dc: {
|
|
name: 'Washington DC',
|
|
groundElevation: 10,
|
|
viewBounds: {
|
|
southwest: { lat: 38.79, lng: -77.12 },
|
|
northeast: { lat: 38.995, lng: -76.91 },
|
|
},
|
|
pois: [
|
|
{
|
|
name: 'US Capitol',
|
|
lat: 38.8897,
|
|
lon: -77.0091,
|
|
alt: 550,
|
|
pitch: -25,
|
|
heading: 270,
|
|
buildingHeight: 45,
|
|
},
|
|
{
|
|
name: 'Washington Monument',
|
|
lat: 38.8895,
|
|
lon: -77.0353,
|
|
alt: 500,
|
|
pitch: -30,
|
|
heading: 0,
|
|
buildingHeight: 85,
|
|
},
|
|
{
|
|
name: 'Lincoln Memorial',
|
|
lat: 38.8893,
|
|
lon: -77.0502,
|
|
alt: 400,
|
|
pitch: -25,
|
|
heading: 90,
|
|
buildingHeight: 20,
|
|
},
|
|
{
|
|
name: 'Pentagon',
|
|
lat: 38.8711,
|
|
lon: -77.0559,
|
|
alt: 800,
|
|
pitch: -40,
|
|
heading: 0,
|
|
buildingHeight: 20,
|
|
},
|
|
{
|
|
name: 'Jefferson Memorial',
|
|
lat: 38.8814,
|
|
lon: -77.0365,
|
|
alt: 400,
|
|
pitch: -30,
|
|
heading: 0,
|
|
buildingHeight: 25,
|
|
},
|
|
],
|
|
},
|
|
tallinn: {
|
|
name: 'Tallinn',
|
|
groundElevation: 15,
|
|
viewBounds: {
|
|
southwest: { lat: 59.36, lng: 24.6 },
|
|
northeast: { lat: 59.52, lng: 24.92 },
|
|
},
|
|
pois: [
|
|
{
|
|
name: 'Viru Square',
|
|
lat: 59.4366,
|
|
lon: 24.7527,
|
|
alt: 450,
|
|
pitch: -28,
|
|
heading: 60,
|
|
buildingHeight: 25,
|
|
},
|
|
{
|
|
name: 'Old Town / Raekoja plats',
|
|
lat: 59.4372,
|
|
lon: 24.7452,
|
|
alt: 400,
|
|
pitch: -30,
|
|
heading: 180,
|
|
buildingHeight: 20,
|
|
},
|
|
{
|
|
name: 'Teatri väljak',
|
|
lat: 59.4344,
|
|
lon: 24.7514,
|
|
alt: 400,
|
|
pitch: -25,
|
|
heading: 220,
|
|
buildingHeight: 25,
|
|
},
|
|
{
|
|
name: 'Port of Tallinn',
|
|
lat: 59.4445,
|
|
lon: 24.7675,
|
|
alt: 700,
|
|
pitch: -30,
|
|
heading: 90,
|
|
buildingHeight: 20,
|
|
},
|
|
{
|
|
name: 'Ülemiste',
|
|
lat: 59.421,
|
|
lon: 24.792,
|
|
alt: 600,
|
|
pitch: -28,
|
|
heading: 45,
|
|
buildingHeight: 30,
|
|
},
|
|
],
|
|
},
|
|
};
|