1
|
|
|
"""Create the OpenStreetMap database structure |
2
|
|
|
|
3
|
|
|
Revision ID: 3aea51f86ebf |
4
|
|
|
Revises: 79833aa6bc04 |
5
|
|
|
Create Date: 2021-01-10 20:52:22.884864+00:00 |
6
|
|
|
|
7
|
|
|
""" |
8
|
|
|
from alembic import op |
9
|
|
|
from sqlalchemy.dialects import postgresql |
10
|
|
|
import sqlalchemy as sa |
11
|
|
|
|
12
|
|
|
# Revision identifiers, used by Alembic. |
13
|
|
|
revision = "3aea51f86ebf" |
14
|
|
|
down_revision = "79833aa6bc04" |
15
|
|
|
branch_labels = None |
16
|
|
|
depends_on = None |
17
|
|
|
|
18
|
|
|
|
19
|
|
|
def upgrade(): |
20
|
|
|
# ### commands auto generated by Alembic - please adjust! ### |
21
|
|
|
op.create_table( |
22
|
|
|
"osm_line", |
23
|
|
|
sa.Column("osm_id", sa.BigInteger(), nullable=True), |
24
|
|
|
sa.Column("access", sa.Text(), nullable=True), |
25
|
|
|
sa.Column("addr:housename", sa.Text(), nullable=True), |
26
|
|
|
sa.Column("addr:housenumber", sa.Text(), nullable=True), |
27
|
|
|
sa.Column("addr:interpolation", sa.Text(), nullable=True), |
28
|
|
|
sa.Column("admin_level", sa.Text(), nullable=True), |
29
|
|
|
sa.Column("aerialway", sa.Text(), nullable=True), |
30
|
|
|
sa.Column("aeroway", sa.Text(), nullable=True), |
31
|
|
|
sa.Column("amenity", sa.Text(), nullable=True), |
32
|
|
|
sa.Column("area", sa.Text(), nullable=True), |
33
|
|
|
sa.Column("barrier", sa.Text(), nullable=True), |
34
|
|
|
sa.Column("bicycle", sa.Text(), nullable=True), |
35
|
|
|
sa.Column("brand", sa.Text(), nullable=True), |
36
|
|
|
sa.Column("bridge", sa.Text(), nullable=True), |
37
|
|
|
sa.Column("boundary", sa.Text(), nullable=True), |
38
|
|
|
sa.Column("building", sa.Text(), nullable=True), |
39
|
|
|
sa.Column("construction", sa.Text(), nullable=True), |
40
|
|
|
sa.Column("covered", sa.Text(), nullable=True), |
41
|
|
|
sa.Column("culvert", sa.Text(), nullable=True), |
42
|
|
|
sa.Column("cutting", sa.Text(), nullable=True), |
43
|
|
|
sa.Column("denomination", sa.Text(), nullable=True), |
44
|
|
|
sa.Column("disused", sa.Text(), nullable=True), |
45
|
|
|
sa.Column("embankment", sa.Text(), nullable=True), |
46
|
|
|
sa.Column("foot", sa.Text(), nullable=True), |
47
|
|
|
sa.Column("generator:source", sa.Text(), nullable=True), |
48
|
|
|
sa.Column("harbour", sa.Text(), nullable=True), |
49
|
|
|
sa.Column("highway", sa.Text(), nullable=True), |
50
|
|
|
sa.Column("historic", sa.Text(), nullable=True), |
51
|
|
|
sa.Column("horse", sa.Text(), nullable=True), |
52
|
|
|
sa.Column("intermittent", sa.Text(), nullable=True), |
53
|
|
|
sa.Column("junction", sa.Text(), nullable=True), |
54
|
|
|
sa.Column("landuse", sa.Text(), nullable=True), |
55
|
|
|
sa.Column("layer", sa.Text(), nullable=True), |
56
|
|
|
sa.Column("leisure", sa.Text(), nullable=True), |
57
|
|
|
sa.Column("line", sa.Text(), nullable=True), |
58
|
|
|
sa.Column("lock", sa.Text(), nullable=True), |
59
|
|
|
sa.Column("man_made", sa.Text(), nullable=True), |
60
|
|
|
sa.Column("military", sa.Text(), nullable=True), |
61
|
|
|
sa.Column("motorcar", sa.Text(), nullable=True), |
62
|
|
|
sa.Column("name", sa.Text(), nullable=True), |
63
|
|
|
sa.Column("natural", sa.Text(), nullable=True), |
64
|
|
|
sa.Column("office", sa.Text(), nullable=True), |
65
|
|
|
sa.Column("oneway", sa.Text(), nullable=True), |
66
|
|
|
sa.Column("operator", sa.Text(), nullable=True), |
67
|
|
|
sa.Column("place", sa.Text(), nullable=True), |
68
|
|
|
sa.Column("population", sa.Text(), nullable=True), |
69
|
|
|
sa.Column("power", sa.Text(), nullable=True), |
70
|
|
|
sa.Column("power_source", sa.Text(), nullable=True), |
71
|
|
|
sa.Column("public_transport", sa.Text(), nullable=True), |
72
|
|
|
sa.Column("railway", sa.Text(), nullable=True), |
73
|
|
|
sa.Column("ref", sa.Text(), nullable=True), |
74
|
|
|
sa.Column("religion", sa.Text(), nullable=True), |
75
|
|
|
sa.Column("route", sa.Text(), nullable=True), |
76
|
|
|
sa.Column("service", sa.Text(), nullable=True), |
77
|
|
|
sa.Column("sidewalk", sa.Text(), nullable=True), |
78
|
|
|
sa.Column("shop", sa.Text(), nullable=True), |
79
|
|
|
sa.Column("sport", sa.Text(), nullable=True), |
80
|
|
|
sa.Column("surface", sa.Text(), nullable=True), |
81
|
|
|
sa.Column("toll", sa.Text(), nullable=True), |
82
|
|
|
sa.Column("tourism", sa.Text(), nullable=True), |
83
|
|
|
sa.Column("tower:type", sa.Text(), nullable=True), |
84
|
|
|
sa.Column("tracktype", sa.Text(), nullable=True), |
85
|
|
|
sa.Column("tunnel", sa.Text(), nullable=True), |
86
|
|
|
sa.Column("water", sa.Text(), nullable=True), |
87
|
|
|
sa.Column("waterway", sa.Text(), nullable=True), |
88
|
|
|
sa.Column("wetland", sa.Text(), nullable=True), |
89
|
|
|
sa.Column("width", sa.Text(), nullable=True), |
90
|
|
|
sa.Column("wood", sa.Text(), nullable=True), |
91
|
|
|
sa.Column("z_order", sa.Integer(), nullable=True), |
92
|
|
|
sa.Column("way_area", sa.Float(), nullable=True), |
93
|
|
|
sa.Column("abandoned:aeroway", sa.Text(), nullable=True), |
94
|
|
|
sa.Column("abandoned:amenity", sa.Text(), nullable=True), |
95
|
|
|
sa.Column("abandoned:building", sa.Text(), nullable=True), |
96
|
|
|
sa.Column("abandoned:landuse", sa.Text(), nullable=True), |
97
|
|
|
sa.Column("abandoned:power", sa.Text(), nullable=True), |
98
|
|
|
sa.Column("area:highway", sa.Text(), nullable=True), |
99
|
|
|
sa.Column( |
100
|
|
|
"tags", postgresql.HSTORE(text_type=sa.Text()), nullable=True |
101
|
|
|
), |
102
|
|
|
sa.Column( |
103
|
|
|
"geom", |
104
|
|
|
geoalchemy2.types.Geometry(geometry_type="LINESTRING", srid=3857), |
|
|
|
|
105
|
|
|
nullable=True, |
106
|
|
|
), |
107
|
|
|
sa.Column( |
108
|
|
|
"gid", |
109
|
|
|
sa.Integer(), |
110
|
|
|
server_default=sa.text( |
111
|
|
|
"nextval('openstreetmap.osm_line_gid_seq'::regclass)" |
112
|
|
|
), |
113
|
|
|
nullable=False, |
114
|
|
|
), |
115
|
|
|
sa.PrimaryKeyConstraint("gid"), |
116
|
|
|
schema="openstreetmap", |
117
|
|
|
) |
118
|
|
|
op.create_index( |
119
|
|
|
op.f("ix_openstreetmap_osm_line_geom"), |
120
|
|
|
"osm_line", |
121
|
|
|
["geom"], |
122
|
|
|
unique=False, |
123
|
|
|
schema="openstreetmap", |
124
|
|
|
) |
125
|
|
|
op.create_index( |
126
|
|
|
op.f("ix_openstreetmap_osm_line_tags"), |
127
|
|
|
"osm_line", |
128
|
|
|
["tags"], |
129
|
|
|
unique=False, |
130
|
|
|
schema="openstreetmap", |
131
|
|
|
) |
132
|
|
|
op.create_table( |
133
|
|
|
"osm_nodes", |
134
|
|
|
sa.Column("id", sa.BigInteger(), nullable=False), |
135
|
|
|
sa.Column("lat", sa.Integer(), nullable=False), |
136
|
|
|
sa.Column("lon", sa.Integer(), nullable=False), |
137
|
|
|
sa.PrimaryKeyConstraint("id"), |
138
|
|
|
schema="openstreetmap", |
139
|
|
|
) |
140
|
|
|
op.create_table( |
141
|
|
|
"osm_point", |
142
|
|
|
sa.Column("osm_id", sa.BigInteger(), nullable=True), |
143
|
|
|
sa.Column("access", sa.Text(), nullable=True), |
144
|
|
|
sa.Column("addr:housename", sa.Text(), nullable=True), |
145
|
|
|
sa.Column("addr:housenumber", sa.Text(), nullable=True), |
146
|
|
|
sa.Column("addr:interpolation", sa.Text(), nullable=True), |
147
|
|
|
sa.Column("admin_level", sa.Text(), nullable=True), |
148
|
|
|
sa.Column("aerialway", sa.Text(), nullable=True), |
149
|
|
|
sa.Column("aeroway", sa.Text(), nullable=True), |
150
|
|
|
sa.Column("amenity", sa.Text(), nullable=True), |
151
|
|
|
sa.Column("area", sa.Text(), nullable=True), |
152
|
|
|
sa.Column("barrier", sa.Text(), nullable=True), |
153
|
|
|
sa.Column("bicycle", sa.Text(), nullable=True), |
154
|
|
|
sa.Column("brand", sa.Text(), nullable=True), |
155
|
|
|
sa.Column("bridge", sa.Text(), nullable=True), |
156
|
|
|
sa.Column("boundary", sa.Text(), nullable=True), |
157
|
|
|
sa.Column("building", sa.Text(), nullable=True), |
158
|
|
|
sa.Column("capital", sa.Text(), nullable=True), |
159
|
|
|
sa.Column("construction", sa.Text(), nullable=True), |
160
|
|
|
sa.Column("covered", sa.Text(), nullable=True), |
161
|
|
|
sa.Column("culvert", sa.Text(), nullable=True), |
162
|
|
|
sa.Column("cutting", sa.Text(), nullable=True), |
163
|
|
|
sa.Column("denomination", sa.Text(), nullable=True), |
164
|
|
|
sa.Column("disused", sa.Text(), nullable=True), |
165
|
|
|
sa.Column("ele", sa.Text(), nullable=True), |
166
|
|
|
sa.Column("embankment", sa.Text(), nullable=True), |
167
|
|
|
sa.Column("foot", sa.Text(), nullable=True), |
168
|
|
|
sa.Column("generator:source", sa.Text(), nullable=True), |
169
|
|
|
sa.Column("harbour", sa.Text(), nullable=True), |
170
|
|
|
sa.Column("highway", sa.Text(), nullable=True), |
171
|
|
|
sa.Column("historic", sa.Text(), nullable=True), |
172
|
|
|
sa.Column("horse", sa.Text(), nullable=True), |
173
|
|
|
sa.Column("intermittent", sa.Text(), nullable=True), |
174
|
|
|
sa.Column("junction", sa.Text(), nullable=True), |
175
|
|
|
sa.Column("landuse", sa.Text(), nullable=True), |
176
|
|
|
sa.Column("layer", sa.Text(), nullable=True), |
177
|
|
|
sa.Column("leisure", sa.Text(), nullable=True), |
178
|
|
|
sa.Column("line", sa.Text(), nullable=True), |
179
|
|
|
sa.Column("lock", sa.Text(), nullable=True), |
180
|
|
|
sa.Column("man_made", sa.Text(), nullable=True), |
181
|
|
|
sa.Column("military", sa.Text(), nullable=True), |
182
|
|
|
sa.Column("motorcar", sa.Text(), nullable=True), |
183
|
|
|
sa.Column("name", sa.Text(), nullable=True), |
184
|
|
|
sa.Column("natural", sa.Text(), nullable=True), |
185
|
|
|
sa.Column("office", sa.Text(), nullable=True), |
186
|
|
|
sa.Column("oneway", sa.Text(), nullable=True), |
187
|
|
|
sa.Column("operator", sa.Text(), nullable=True), |
188
|
|
|
sa.Column("place", sa.Text(), nullable=True), |
189
|
|
|
sa.Column("population", sa.Text(), nullable=True), |
190
|
|
|
sa.Column("power", sa.Text(), nullable=True), |
191
|
|
|
sa.Column("power_source", sa.Text(), nullable=True), |
192
|
|
|
sa.Column("public_transport", sa.Text(), nullable=True), |
193
|
|
|
sa.Column("railway", sa.Text(), nullable=True), |
194
|
|
|
sa.Column("ref", sa.Text(), nullable=True), |
195
|
|
|
sa.Column("religion", sa.Text(), nullable=True), |
196
|
|
|
sa.Column("route", sa.Text(), nullable=True), |
197
|
|
|
sa.Column("service", sa.Text(), nullable=True), |
198
|
|
|
sa.Column("sidewalk", sa.Text(), nullable=True), |
199
|
|
|
sa.Column("shop", sa.Text(), nullable=True), |
200
|
|
|
sa.Column("sport", sa.Text(), nullable=True), |
201
|
|
|
sa.Column("surface", sa.Text(), nullable=True), |
202
|
|
|
sa.Column("toll", sa.Text(), nullable=True), |
203
|
|
|
sa.Column("tourism", sa.Text(), nullable=True), |
204
|
|
|
sa.Column("tower:type", sa.Text(), nullable=True), |
205
|
|
|
sa.Column("tunnel", sa.Text(), nullable=True), |
206
|
|
|
sa.Column("water", sa.Text(), nullable=True), |
207
|
|
|
sa.Column("waterway", sa.Text(), nullable=True), |
208
|
|
|
sa.Column("wetland", sa.Text(), nullable=True), |
209
|
|
|
sa.Column("width", sa.Text(), nullable=True), |
210
|
|
|
sa.Column("wood", sa.Text(), nullable=True), |
211
|
|
|
sa.Column("z_order", sa.Integer(), nullable=True), |
212
|
|
|
sa.Column( |
213
|
|
|
"tags", postgresql.HSTORE(text_type=sa.Text()), nullable=True |
214
|
|
|
), |
215
|
|
|
sa.Column( |
216
|
|
|
"geom", |
217
|
|
|
geoalchemy2.types.Geometry(geometry_type="POINT", srid=3857), |
218
|
|
|
nullable=True, |
219
|
|
|
), |
220
|
|
|
sa.Column( |
221
|
|
|
"gid", |
222
|
|
|
sa.Integer(), |
223
|
|
|
server_default=sa.text( |
224
|
|
|
"nextval('openstreetmap.osm_point_gid_seq'::regclass)" |
225
|
|
|
), |
226
|
|
|
nullable=False, |
227
|
|
|
), |
228
|
|
|
sa.PrimaryKeyConstraint("gid"), |
229
|
|
|
schema="openstreetmap", |
230
|
|
|
) |
231
|
|
|
op.create_index( |
232
|
|
|
op.f("ix_openstreetmap_osm_point_geom"), |
233
|
|
|
"osm_point", |
234
|
|
|
["geom"], |
235
|
|
|
unique=False, |
236
|
|
|
schema="openstreetmap", |
237
|
|
|
) |
238
|
|
|
op.create_index( |
239
|
|
|
op.f("ix_openstreetmap_osm_point_tags"), |
240
|
|
|
"osm_point", |
241
|
|
|
["tags"], |
242
|
|
|
unique=False, |
243
|
|
|
schema="openstreetmap", |
244
|
|
|
) |
245
|
|
|
op.create_table( |
246
|
|
|
"osm_polygon", |
247
|
|
|
sa.Column("osm_id", sa.BigInteger(), nullable=True), |
248
|
|
|
sa.Column("access", sa.Text(), nullable=True), |
249
|
|
|
sa.Column("addr:housename", sa.Text(), nullable=True), |
250
|
|
|
sa.Column("addr:housenumber", sa.Text(), nullable=True), |
251
|
|
|
sa.Column("addr:interpolation", sa.Text(), nullable=True), |
252
|
|
|
sa.Column("admin_level", sa.Text(), nullable=True), |
253
|
|
|
sa.Column("aerialway", sa.Text(), nullable=True), |
254
|
|
|
sa.Column("aeroway", sa.Text(), nullable=True), |
255
|
|
|
sa.Column("amenity", sa.Text(), nullable=True), |
256
|
|
|
sa.Column("area", sa.Text(), nullable=True), |
257
|
|
|
sa.Column("barrier", sa.Text(), nullable=True), |
258
|
|
|
sa.Column("bicycle", sa.Text(), nullable=True), |
259
|
|
|
sa.Column("brand", sa.Text(), nullable=True), |
260
|
|
|
sa.Column("bridge", sa.Text(), nullable=True), |
261
|
|
|
sa.Column("boundary", sa.Text(), nullable=True), |
262
|
|
|
sa.Column("building", sa.Text(), nullable=True), |
263
|
|
|
sa.Column("construction", sa.Text(), nullable=True), |
264
|
|
|
sa.Column("covered", sa.Text(), nullable=True), |
265
|
|
|
sa.Column("culvert", sa.Text(), nullable=True), |
266
|
|
|
sa.Column("cutting", sa.Text(), nullable=True), |
267
|
|
|
sa.Column("denomination", sa.Text(), nullable=True), |
268
|
|
|
sa.Column("disused", sa.Text(), nullable=True), |
269
|
|
|
sa.Column("embankment", sa.Text(), nullable=True), |
270
|
|
|
sa.Column("foot", sa.Text(), nullable=True), |
271
|
|
|
sa.Column("generator:source", sa.Text(), nullable=True), |
272
|
|
|
sa.Column("harbour", sa.Text(), nullable=True), |
273
|
|
|
sa.Column("highway", sa.Text(), nullable=True), |
274
|
|
|
sa.Column("historic", sa.Text(), nullable=True), |
275
|
|
|
sa.Column("horse", sa.Text(), nullable=True), |
276
|
|
|
sa.Column("intermittent", sa.Text(), nullable=True), |
277
|
|
|
sa.Column("junction", sa.Text(), nullable=True), |
278
|
|
|
sa.Column("landuse", sa.Text(), nullable=True), |
279
|
|
|
sa.Column("layer", sa.Text(), nullable=True), |
280
|
|
|
sa.Column("leisure", sa.Text(), nullable=True), |
281
|
|
|
sa.Column("line", sa.Text(), nullable=True), |
282
|
|
|
sa.Column("lock", sa.Text(), nullable=True), |
283
|
|
|
sa.Column("man_made", sa.Text(), nullable=True), |
284
|
|
|
sa.Column("military", sa.Text(), nullable=True), |
285
|
|
|
sa.Column("motorcar", sa.Text(), nullable=True), |
286
|
|
|
sa.Column("name", sa.Text(), nullable=True), |
287
|
|
|
sa.Column("natural", sa.Text(), nullable=True), |
288
|
|
|
sa.Column("office", sa.Text(), nullable=True), |
289
|
|
|
sa.Column("oneway", sa.Text(), nullable=True), |
290
|
|
|
sa.Column("operator", sa.Text(), nullable=True), |
291
|
|
|
sa.Column("place", sa.Text(), nullable=True), |
292
|
|
|
sa.Column("population", sa.Text(), nullable=True), |
293
|
|
|
sa.Column("power", sa.Text(), nullable=True), |
294
|
|
|
sa.Column("power_source", sa.Text(), nullable=True), |
295
|
|
|
sa.Column("public_transport", sa.Text(), nullable=True), |
296
|
|
|
sa.Column("railway", sa.Text(), nullable=True), |
297
|
|
|
sa.Column("ref", sa.Text(), nullable=True), |
298
|
|
|
sa.Column("religion", sa.Text(), nullable=True), |
299
|
|
|
sa.Column("route", sa.Text(), nullable=True), |
300
|
|
|
sa.Column("service", sa.Text(), nullable=True), |
301
|
|
|
sa.Column("sidewalk", sa.Text(), nullable=True), |
302
|
|
|
sa.Column("shop", sa.Text(), nullable=True), |
303
|
|
|
sa.Column("sport", sa.Text(), nullable=True), |
304
|
|
|
sa.Column("surface", sa.Text(), nullable=True), |
305
|
|
|
sa.Column("toll", sa.Text(), nullable=True), |
306
|
|
|
sa.Column("tourism", sa.Text(), nullable=True), |
307
|
|
|
sa.Column("tower:type", sa.Text(), nullable=True), |
308
|
|
|
sa.Column("tracktype", sa.Text(), nullable=True), |
309
|
|
|
sa.Column("tunnel", sa.Text(), nullable=True), |
310
|
|
|
sa.Column("water", sa.Text(), nullable=True), |
311
|
|
|
sa.Column("waterway", sa.Text(), nullable=True), |
312
|
|
|
sa.Column("wetland", sa.Text(), nullable=True), |
313
|
|
|
sa.Column("width", sa.Text(), nullable=True), |
314
|
|
|
sa.Column("wood", sa.Text(), nullable=True), |
315
|
|
|
sa.Column("z_order", sa.Integer(), nullable=True), |
316
|
|
|
sa.Column("way_area", sa.Float(), nullable=True), |
317
|
|
|
sa.Column("abandoned:aeroway", sa.Text(), nullable=True), |
318
|
|
|
sa.Column("abandoned:amenity", sa.Text(), nullable=True), |
319
|
|
|
sa.Column("abandoned:building", sa.Text(), nullable=True), |
320
|
|
|
sa.Column("abandoned:landuse", sa.Text(), nullable=True), |
321
|
|
|
sa.Column("abandoned:power", sa.Text(), nullable=True), |
322
|
|
|
sa.Column("area:highway", sa.Text(), nullable=True), |
323
|
|
|
sa.Column( |
324
|
|
|
"tags", postgresql.HSTORE(text_type=sa.Text()), nullable=True |
325
|
|
|
), |
326
|
|
|
sa.Column( |
327
|
|
|
"geom", geoalchemy2.types.Geometry(srid=3857), nullable=True |
328
|
|
|
), |
329
|
|
|
sa.Column( |
330
|
|
|
"gid", |
331
|
|
|
sa.Integer(), |
332
|
|
|
server_default=sa.text( |
333
|
|
|
"nextval('openstreetmap.osm_polygon_gid_seq'::regclass)" |
334
|
|
|
), |
335
|
|
|
nullable=False, |
336
|
|
|
), |
337
|
|
|
sa.PrimaryKeyConstraint("gid"), |
338
|
|
|
schema="openstreetmap", |
339
|
|
|
) |
340
|
|
|
op.create_index( |
341
|
|
|
op.f("ix_openstreetmap_osm_polygon_geom"), |
342
|
|
|
"osm_polygon", |
343
|
|
|
["geom"], |
344
|
|
|
unique=False, |
345
|
|
|
schema="openstreetmap", |
346
|
|
|
) |
347
|
|
|
op.create_index( |
348
|
|
|
op.f("ix_openstreetmap_osm_polygon_tags"), |
349
|
|
|
"osm_polygon", |
350
|
|
|
["tags"], |
351
|
|
|
unique=False, |
352
|
|
|
schema="openstreetmap", |
353
|
|
|
) |
354
|
|
|
op.create_table( |
355
|
|
|
"osm_rels", |
356
|
|
|
sa.Column("id", sa.BigInteger(), nullable=False), |
357
|
|
|
sa.Column("way_off", sa.SmallInteger(), nullable=True), |
358
|
|
|
sa.Column("rel_off", sa.SmallInteger(), nullable=True), |
359
|
|
|
sa.Column("parts", sa.ARRAY(sa.BigInteger()), nullable=True), |
360
|
|
|
sa.Column("members", sa.ARRAY(sa.Text()), nullable=True), |
361
|
|
|
sa.Column("tags", sa.ARRAY(sa.Text()), nullable=True), |
362
|
|
|
sa.PrimaryKeyConstraint("id"), |
363
|
|
|
schema="openstreetmap", |
364
|
|
|
) |
365
|
|
|
op.create_index( |
366
|
|
|
op.f("ix_openstreetmap_osm_rels_parts"), |
367
|
|
|
"osm_rels", |
368
|
|
|
["parts"], |
369
|
|
|
unique=False, |
370
|
|
|
schema="openstreetmap", |
371
|
|
|
) |
372
|
|
|
op.create_table( |
373
|
|
|
"osm_roads", |
374
|
|
|
sa.Column("osm_id", sa.BigInteger(), nullable=True), |
375
|
|
|
sa.Column("access", sa.Text(), nullable=True), |
376
|
|
|
sa.Column("addr:housename", sa.Text(), nullable=True), |
377
|
|
|
sa.Column("addr:housenumber", sa.Text(), nullable=True), |
378
|
|
|
sa.Column("addr:interpolation", sa.Text(), nullable=True), |
379
|
|
|
sa.Column("admin_level", sa.Text(), nullable=True), |
380
|
|
|
sa.Column("aerialway", sa.Text(), nullable=True), |
381
|
|
|
sa.Column("aeroway", sa.Text(), nullable=True), |
382
|
|
|
sa.Column("amenity", sa.Text(), nullable=True), |
383
|
|
|
sa.Column("area", sa.Text(), nullable=True), |
384
|
|
|
sa.Column("barrier", sa.Text(), nullable=True), |
385
|
|
|
sa.Column("bicycle", sa.Text(), nullable=True), |
386
|
|
|
sa.Column("brand", sa.Text(), nullable=True), |
387
|
|
|
sa.Column("bridge", sa.Text(), nullable=True), |
388
|
|
|
sa.Column("boundary", sa.Text(), nullable=True), |
389
|
|
|
sa.Column("building", sa.Text(), nullable=True), |
390
|
|
|
sa.Column("construction", sa.Text(), nullable=True), |
391
|
|
|
sa.Column("covered", sa.Text(), nullable=True), |
392
|
|
|
sa.Column("culvert", sa.Text(), nullable=True), |
393
|
|
|
sa.Column("cutting", sa.Text(), nullable=True), |
394
|
|
|
sa.Column("denomination", sa.Text(), nullable=True), |
395
|
|
|
sa.Column("disused", sa.Text(), nullable=True), |
396
|
|
|
sa.Column("embankment", sa.Text(), nullable=True), |
397
|
|
|
sa.Column("foot", sa.Text(), nullable=True), |
398
|
|
|
sa.Column("generator:source", sa.Text(), nullable=True), |
399
|
|
|
sa.Column("harbour", sa.Text(), nullable=True), |
400
|
|
|
sa.Column("highway", sa.Text(), nullable=True), |
401
|
|
|
sa.Column("historic", sa.Text(), nullable=True), |
402
|
|
|
sa.Column("horse", sa.Text(), nullable=True), |
403
|
|
|
sa.Column("intermittent", sa.Text(), nullable=True), |
404
|
|
|
sa.Column("junction", sa.Text(), nullable=True), |
405
|
|
|
sa.Column("landuse", sa.Text(), nullable=True), |
406
|
|
|
sa.Column("layer", sa.Text(), nullable=True), |
407
|
|
|
sa.Column("leisure", sa.Text(), nullable=True), |
408
|
|
|
sa.Column("line", sa.Text(), nullable=True), |
409
|
|
|
sa.Column("lock", sa.Text(), nullable=True), |
410
|
|
|
sa.Column("man_made", sa.Text(), nullable=True), |
411
|
|
|
sa.Column("military", sa.Text(), nullable=True), |
412
|
|
|
sa.Column("motorcar", sa.Text(), nullable=True), |
413
|
|
|
sa.Column("name", sa.Text(), nullable=True), |
414
|
|
|
sa.Column("natural", sa.Text(), nullable=True), |
415
|
|
|
sa.Column("office", sa.Text(), nullable=True), |
416
|
|
|
sa.Column("oneway", sa.Text(), nullable=True), |
417
|
|
|
sa.Column("operator", sa.Text(), nullable=True), |
418
|
|
|
sa.Column("place", sa.Text(), nullable=True), |
419
|
|
|
sa.Column("population", sa.Text(), nullable=True), |
420
|
|
|
sa.Column("power", sa.Text(), nullable=True), |
421
|
|
|
sa.Column("power_source", sa.Text(), nullable=True), |
422
|
|
|
sa.Column("public_transport", sa.Text(), nullable=True), |
423
|
|
|
sa.Column("railway", sa.Text(), nullable=True), |
424
|
|
|
sa.Column("ref", sa.Text(), nullable=True), |
425
|
|
|
sa.Column("religion", sa.Text(), nullable=True), |
426
|
|
|
sa.Column("route", sa.Text(), nullable=True), |
427
|
|
|
sa.Column("service", sa.Text(), nullable=True), |
428
|
|
|
sa.Column("sidewalk", sa.Text(), nullable=True), |
429
|
|
|
sa.Column("shop", sa.Text(), nullable=True), |
430
|
|
|
sa.Column("sport", sa.Text(), nullable=True), |
431
|
|
|
sa.Column("surface", sa.Text(), nullable=True), |
432
|
|
|
sa.Column("toll", sa.Text(), nullable=True), |
433
|
|
|
sa.Column("tourism", sa.Text(), nullable=True), |
434
|
|
|
sa.Column("tower:type", sa.Text(), nullable=True), |
435
|
|
|
sa.Column("tracktype", sa.Text(), nullable=True), |
436
|
|
|
sa.Column("tunnel", sa.Text(), nullable=True), |
437
|
|
|
sa.Column("water", sa.Text(), nullable=True), |
438
|
|
|
sa.Column("waterway", sa.Text(), nullable=True), |
439
|
|
|
sa.Column("wetland", sa.Text(), nullable=True), |
440
|
|
|
sa.Column("width", sa.Text(), nullable=True), |
441
|
|
|
sa.Column("wood", sa.Text(), nullable=True), |
442
|
|
|
sa.Column("z_order", sa.Integer(), nullable=True), |
443
|
|
|
sa.Column("way_area", sa.Float(), nullable=True), |
444
|
|
|
sa.Column("abandoned:aeroway", sa.Text(), nullable=True), |
445
|
|
|
sa.Column("abandoned:amenity", sa.Text(), nullable=True), |
446
|
|
|
sa.Column("abandoned:building", sa.Text(), nullable=True), |
447
|
|
|
sa.Column("abandoned:landuse", sa.Text(), nullable=True), |
448
|
|
|
sa.Column("abandoned:power", sa.Text(), nullable=True), |
449
|
|
|
sa.Column("area:highway", sa.Text(), nullable=True), |
450
|
|
|
sa.Column( |
451
|
|
|
"tags", postgresql.HSTORE(text_type=sa.Text()), nullable=True |
452
|
|
|
), |
453
|
|
|
sa.Column( |
454
|
|
|
"geom", |
455
|
|
|
geoalchemy2.types.Geometry(geometry_type="LINESTRING", srid=3857), |
456
|
|
|
nullable=True, |
457
|
|
|
), |
458
|
|
|
sa.Column( |
459
|
|
|
"gid", |
460
|
|
|
sa.Integer(), |
461
|
|
|
server_default=sa.text( |
462
|
|
|
"nextval('openstreetmap.osm_roads_gid_seq'::regclass)" |
463
|
|
|
), |
464
|
|
|
nullable=False, |
465
|
|
|
), |
466
|
|
|
sa.PrimaryKeyConstraint("gid"), |
467
|
|
|
schema="openstreetmap", |
468
|
|
|
) |
469
|
|
|
op.create_index( |
470
|
|
|
op.f("ix_openstreetmap_osm_roads_geom"), |
471
|
|
|
"osm_roads", |
472
|
|
|
["geom"], |
473
|
|
|
unique=False, |
474
|
|
|
schema="openstreetmap", |
475
|
|
|
) |
476
|
|
|
op.create_index( |
477
|
|
|
op.f("ix_openstreetmap_osm_roads_tags"), |
478
|
|
|
"osm_roads", |
479
|
|
|
["tags"], |
480
|
|
|
unique=False, |
481
|
|
|
schema="openstreetmap", |
482
|
|
|
) |
483
|
|
|
op.create_table( |
484
|
|
|
"osm_ways", |
485
|
|
|
sa.Column("id", sa.BigInteger(), nullable=False), |
486
|
|
|
sa.Column("nodes", sa.ARRAY(sa.BigInteger()), nullable=False), |
487
|
|
|
sa.Column("tags", sa.ARRAY(sa.Text()), nullable=True), |
488
|
|
|
sa.PrimaryKeyConstraint("id"), |
489
|
|
|
schema="openstreetmap", |
490
|
|
|
) |
491
|
|
|
op.create_index( |
492
|
|
|
op.f("ix_openstreetmap_osm_ways_nodes"), |
493
|
|
|
"osm_ways", |
494
|
|
|
["nodes"], |
495
|
|
|
unique=False, |
496
|
|
|
schema="openstreetmap", |
497
|
|
|
) |
498
|
|
|
op.drop_table("spatial_ref_sys") |
499
|
|
|
# ### end Alembic commands ### |
500
|
|
|
|
501
|
|
|
|
502
|
|
|
def downgrade(): |
503
|
|
|
# ### commands auto generated by Alembic - please adjust! ### |
504
|
|
|
op.create_table( |
505
|
|
|
"spatial_ref_sys", |
506
|
|
|
sa.Column("srid", sa.INTEGER(), autoincrement=False, nullable=False), |
507
|
|
|
sa.Column( |
508
|
|
|
"auth_name", |
509
|
|
|
sa.VARCHAR(length=256), |
510
|
|
|
autoincrement=False, |
511
|
|
|
nullable=True, |
512
|
|
|
), |
513
|
|
|
sa.Column( |
514
|
|
|
"auth_srid", sa.INTEGER(), autoincrement=False, nullable=True |
515
|
|
|
), |
516
|
|
|
sa.Column( |
517
|
|
|
"srtext", |
518
|
|
|
sa.VARCHAR(length=2048), |
519
|
|
|
autoincrement=False, |
520
|
|
|
nullable=True, |
521
|
|
|
), |
522
|
|
|
sa.Column( |
523
|
|
|
"proj4text", |
524
|
|
|
sa.VARCHAR(length=2048), |
525
|
|
|
autoincrement=False, |
526
|
|
|
nullable=True, |
527
|
|
|
), |
528
|
|
|
sa.CheckConstraint( |
529
|
|
|
"(srid > 0) AND (srid <= 998999)", |
530
|
|
|
name="spatial_ref_sys_srid_check", |
531
|
|
|
), |
532
|
|
|
sa.PrimaryKeyConstraint("srid", name="spatial_ref_sys_pkey"), |
533
|
|
|
) |
534
|
|
|
op.drop_index( |
535
|
|
|
op.f("ix_openstreetmap_osm_ways_nodes"), |
536
|
|
|
table_name="osm_ways", |
537
|
|
|
schema="openstreetmap", |
538
|
|
|
) |
539
|
|
|
op.drop_table("osm_ways", schema="openstreetmap") |
540
|
|
|
op.drop_index( |
541
|
|
|
op.f("ix_openstreetmap_osm_roads_tags"), |
542
|
|
|
table_name="osm_roads", |
543
|
|
|
schema="openstreetmap", |
544
|
|
|
) |
545
|
|
|
op.drop_index( |
546
|
|
|
op.f("ix_openstreetmap_osm_roads_geom"), |
547
|
|
|
table_name="osm_roads", |
548
|
|
|
schema="openstreetmap", |
549
|
|
|
) |
550
|
|
|
op.drop_table("osm_roads", schema="openstreetmap") |
551
|
|
|
op.drop_index( |
552
|
|
|
op.f("ix_openstreetmap_osm_rels_parts"), |
553
|
|
|
table_name="osm_rels", |
554
|
|
|
schema="openstreetmap", |
555
|
|
|
) |
556
|
|
|
op.drop_table("osm_rels", schema="openstreetmap") |
557
|
|
|
op.drop_index( |
558
|
|
|
op.f("ix_openstreetmap_osm_polygon_tags"), |
559
|
|
|
table_name="osm_polygon", |
560
|
|
|
schema="openstreetmap", |
561
|
|
|
) |
562
|
|
|
op.drop_index( |
563
|
|
|
op.f("ix_openstreetmap_osm_polygon_geom"), |
564
|
|
|
table_name="osm_polygon", |
565
|
|
|
schema="openstreetmap", |
566
|
|
|
) |
567
|
|
|
op.drop_table("osm_polygon", schema="openstreetmap") |
568
|
|
|
op.drop_index( |
569
|
|
|
op.f("ix_openstreetmap_osm_point_tags"), |
570
|
|
|
table_name="osm_point", |
571
|
|
|
schema="openstreetmap", |
572
|
|
|
) |
573
|
|
|
op.drop_index( |
574
|
|
|
op.f("ix_openstreetmap_osm_point_geom"), |
575
|
|
|
table_name="osm_point", |
576
|
|
|
schema="openstreetmap", |
577
|
|
|
) |
578
|
|
|
op.drop_table("osm_point", schema="openstreetmap") |
579
|
|
|
op.drop_table("osm_nodes", schema="openstreetmap") |
580
|
|
|
op.drop_index( |
581
|
|
|
op.f("ix_openstreetmap_osm_line_tags"), |
582
|
|
|
table_name="osm_line", |
583
|
|
|
schema="openstreetmap", |
584
|
|
|
) |
585
|
|
|
op.drop_index( |
586
|
|
|
op.f("ix_openstreetmap_osm_line_geom"), |
587
|
|
|
table_name="osm_line", |
588
|
|
|
schema="openstreetmap", |
589
|
|
|
) |
590
|
|
|
op.drop_table("osm_line", schema="openstreetmap") |
591
|
|
|
# ### end Alembic commands ### |
592
|
|
|
|