b40116b56f
- React frontend with MapLibre integration - Node.js Express backend with dummy API - Docker containerization (PostgreSQL+PostGIS, backend, frontend) - Interactive map with direction selector - 20 mock conurbations data - Full project structure ready for PR workflow
28 lines
1.3 KiB
SQL
28 lines
1.3 KiB
SQL
-- Initialize PostGIS
|
|
CREATE EXTENSION IF NOT EXISTS postgis;
|
|
|
|
-- Create cities table for conurbation data
|
|
CREATE TABLE IF NOT EXISTS cities (
|
|
id SERIAL PRIMARY KEY,
|
|
name VARCHAR(255) NOT NULL,
|
|
population INTEGER,
|
|
country VARCHAR(100),
|
|
geom GEOGRAPHY(POINT, 4326) NOT NULL
|
|
);
|
|
|
|
-- Create spatial index
|
|
CREATE INDEX IF NOT EXISTS idx_cities_geom ON cities USING GIST(geom);
|
|
|
|
-- Insert some seed data for testing
|
|
INSERT INTO cities (name, population, country, geom) VALUES
|
|
('London', 9000000, 'United Kingdom', ST_GeomFromText('POINT(-0.1278 51.5074)', 4326)),
|
|
('Paris', 2161000, 'France', ST_GeomFromText('POINT(2.3522 48.8566)', 4326)),
|
|
('Berlin', 3644000, 'Germany', ST_GeomFromText('POINT(13.4050 52.5200)', 4326)),
|
|
('Moscow', 12506000, 'Russia', ST_GeomFromText('POINT(37.6173 55.7558)', 4326)),
|
|
('Tokyo', 37400000, 'Japan', ST_GeomFromText('POINT(139.6503 35.6762)', 4326)),
|
|
('New York', 8336000, 'USA', ST_GeomFromText('POINT(-74.0060 40.7128)', 4326)),
|
|
('Beijing', 21540000, 'China', ST_GeomFromText('POINT(116.4074 39.9042)', 4326)),
|
|
('Mumbai', 20411000, 'India', ST_GeomFromText('POINT(72.8777 19.0760)', 4326)),
|
|
('São Paulo', 12325000, 'Brazil', ST_GeomFromText('POINT(-46.6333 -23.5505)', 4326)),
|
|
('Cairo', 9500000, 'Egypt', ST_GeomFromText('POINT(31.2357 30.0444)', 4326));
|