-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathinit-db.sql
More file actions
93 lines (81 loc) · 2.76 KB
/
Copy pathinit-db.sql
File metadata and controls
93 lines (81 loc) · 2.76 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
-- Create PostGIS extension
CREATE EXTENSION IF NOT EXISTS postgis;
CREATE EXTENSION IF NOT EXISTS postgis_topology;
-- Create substations table
CREATE TABLE substations (
id SERIAL PRIMARY KEY,
osm_id BIGINT UNIQUE,
name VARCHAR(255),
voltage VARCHAR(50),
ref VARCHAR(100),
operator VARCHAR(255),
geom GEOMETRY(Point, 4326),
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
-- Create spatial index on substations
CREATE INDEX idx_substations_geom ON substations USING GIST (geom);
-- Create power lines table
CREATE TABLE power_lines (
id SERIAL PRIMARY KEY,
osm_id BIGINT UNIQUE,
name VARCHAR(255),
voltage VARCHAR(50),
cables VARCHAR(50),
frequency VARCHAR(50),
geom GEOMETRY(LineString, 4326),
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
-- Create spatial index on power lines
CREATE INDEX idx_power_lines_geom ON power_lines USING GIST (geom);
-- Create transformers table
CREATE TABLE transformers (
id SERIAL PRIMARY KEY,
osm_id BIGINT UNIQUE,
name VARCHAR(255),
power_rating VARCHAR(100),
phases VARCHAR(50),
geom GEOMETRY(Point, 4326),
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
-- Create spatial index on transformers
CREATE INDEX idx_transformers_geom ON transformers USING GIST (geom);
-- Create projects table (for tracking connections and queue data)
CREATE TABLE projects (
id SERIAL PRIMARY KEY,
name VARCHAR(255),
latitude FLOAT,
longitude FLOAT,
peak_generation_mw FLOAT,
technology_type VARCHAR(100),
connection_voltage VARCHAR(50),
project_size VARCHAR(100),
geom GEOMETRY(Point, 4326),
nearest_substation_id INTEGER REFERENCES substations(id),
estimated_connection_distance FLOAT,
estimated_queue_years INTEGER,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
-- Create spatial index on projects
CREATE INDEX idx_projects_geom ON projects USING GIST (geom);
-- Create connection_probability table (time-series data)
CREATE TABLE connection_probability (
id SERIAL PRIMARY KEY,
project_id INTEGER REFERENCES projects(id) ON DELETE CASCADE,
year INTEGER,
probability_percent FLOAT,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
-- Create index on project_id for fast queries
CREATE INDEX idx_connection_probability_project_id ON connection_probability(project_id);
-- Create queue_data table (for ECR and capacity intelligence)
CREATE TABLE queue_data (
id SERIAL PRIMARY KEY,
substation_id INTEGER REFERENCES substations(id),
mw_in_queue FLOAT,
projects_in_queue INTEGER,
average_wait_months INTEGER,
last_updated TIMESTAMP,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
-- Create index for substation queries
CREATE INDEX idx_queue_data_substation_id ON queue_data(substation_id);