-
Notifications
You must be signed in to change notification settings - Fork 0
/
domain_adder.py
318 lines (289 loc) · 8.41 KB
/
domain_adder.py
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
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
from data_models.models import Domain
own_types_ = {
"name": "Ejerforhold",
"type": "categorical",
"description": "Ejerforhold er udledt af Geomatic baseret på oplysninger i BBR og ESR.",
"source": "BBR",
"values": (
("own", "Ejerbolig"),
("pri_rent", "Privat Leje"),
("pub_rent", "Offentligt Leje"),
("part", "Andelsbolig"),
("unk", "Ukendt"),
),
}
heat_types_ = {
"name": "Opvarmningsform",
"type": "categorical",
"description": "Afledt opvarmningsmiddel beregnet af Geomatic baseret på BBR data.",
"source": "BBR",
"values": (
("remote", "Fjernvarme"),
("gas", "Naturgas"),
("liquid", "Flydene brændsel"),
("elec", "Elektricitet"),
("oth", "Andet"),
),
}
roof_types_ = {
"name": "Tag type",
"type": "catagorical",
"description": "Simplificeret tagmateriale variabel, som kun indeholder kategorier for de mest almindelige typer af tagmateriale.",
"source": "BBR",
"values": (
("fiber", "Fibercement"),
("rock", "Cementsten"),
("clay", "Tegl"),
("asphalt", "Tagpap"),
("oth", "Andet"),
),
}
energy_types_ = {
"name": "Energiforsying",
"type": "categorical",
"description": "Energiforsyning stammer fra den primære bolig-/erhvervsenhed på enhedsadressen. I tilfælde af flere bolig-/erhvervsenheder på samme enhedsadresse, angiver den primære enhed den enhed som mest sandsynligt anvendes til privat beboelse.",
"source": "BBR",
"values": (
("0", "Ukendt"),
("1", "Gas fra værk"),
("2", "230 V el fra værk"),
("3", "400 V el fra værk"),
("4", "Både 230 V el og gas fra værk"),
("5", "Både 400 V el og gas fra værk"),
),
}
energy_labels_ = {
"name": "Energimærke",
"type": "categorical",
"description": " ",
"source": "boliga",
"values": (
("0", "Ukendt"),
("1", "A"),
("2", "B"),
("3", "C"),
("4", "D"),
("5", "E"),
("6", "F"),
("7", "G"),
),
}
sup_heat_types_ = {
"name": "Supplerende varmeinstallation",
"type": "categorical",
"description": " ",
"source": "BBR",
"values": (
("0", "Ikke oplyst"),
("1", "Varmepumpeanlæg"),
("2", "Brændeovn o. lign."),
("3", "Ovne til flydende brændsel"),
("4", "Solpaneler"),
("5", "Pejs"),
("6", "Gasradiator"),
("7", "Elovne, elpaneler"),
("10", "Biogasanlæg"),
("80", "Andet"),
("90", "Ingen"),
),
}
heat_install_ = {
"name": "Varmeinstallation",
"type": "categorical",
"description": " ",
"source": "BBR",
"values": (
("0", "Ikke oplyst"),
("1", "Radiatorsystemer el. varmluftanlæg"),
("2", "Centralvarme fra eget anlæg, et-kammer fyr"),
("3", "Kakkelovne, kamin, brændeovne og lign."),
("5", "Varmepumpe"),
("6", "Centralvarme med to fyringsenheder"),
("7", "Elovne, elpaneler"),
("8", "Gasradiator"),
("9", "Ingen varmeinstallation"),
),
}
water_types_ = {
"name": "Vandforsyning",
"type": "categorical",
"description": " ",
"source": "BBR",
"values": (
("0", "Ikke oplyst"),
("1", "Alment vandforsyningsanlæg (tidligere offentligt)"),
("2", "Privat, alment vandforsyningsanlæg"),
("3", "Enkeltindvindingsanlæg (egen boring til 1 eller 2 ejendomme)"),
("4", "Brønd"),
("6", "Ikke alment vandforsyningsanlæg (forsyner < 10 ejendomme)"),
("9", "Ingen vandforsyning"),
),
}
wall_types_ = {
"name": "Ydervægsmateriale",
"type": "categorical",
"description": " ",
"source": "BBR",
"values": (
("1", "Mursten"),
("2", "Letbeton"),
("3", "Plader af fibercement"),
("4", "Bindingsværk"),
("5", "Træbeklædning"),
("6", "Betonelementer"),
("8", "Metalplader"),
("10", "Fibercement"),
),
}
house_types_ = {
"name": "Boligtype",
"type": "categorical",
"description": "Geomatic's definition af boligtype baseret på BBR data.",
"source": "BBR",
"values": (
("farm", "Stuehuse til landbrug"),
("multi", "Dobbelt-/flerfamiliehuse"),
("story", "Etageboliger"),
("one_fam", "Enfamiliehuse"),
("oth", "Anden, herunder kollegier"),
),
}
size_ = {
"name": "Boligstørrelse",
"type": "scalar",
"description": "Areal af samtlige beboelsesrum incl. køkken, bad, wc-rum, herunder boligareal i udnyttet tagetage. I kælderetage medtages arealet af de rum, der må anvendes til beboelse i henhold til byggelovgivningen samt arealet af køkken, baderum og wc-rum. Arealet måles til ydersiden af ydervægge (bruttoetageareal). Arealet inkluderer andel af adgangsarealer. ",
"source": "BBR",
"value": "size",
}
bis_area_ = {
"name": "Erhvervs areal",
"type": "scalar",
"description": "Omfatter arealet af samtlige rum, der udelukkende anvendes til erhverv (ikke-boligformål), herunder også udnyttet areal af tagetage og kælderetage. Arealet måles til ydersiden af ydervægge (bruttoetageareal). Arealet er incl. andel af adgangsarealer og erhvervsmæssigt anvendt garageareal. Areal til erhverv stammer fra den primære bolig-/erhvervsenhed på enhedsadressen. ",
"source": "BBR",
"value": "bis_area",
}
oth_area_ = {
"name": "Andet areal",
"type": "scalar",
"description": "Areal der hverken er erhverv eller beboelse f.eks. kælderareal eller loftrum, der er tinglyst på ejerlejlighed.",
"source": "BBR",
"value": "oth_area",
}
nr_rooms_ = {
"name": "Antal værelser",
"type": "scalar",
"description": " ",
"source": "BBR",
"value": "nr_rooms",
}
nr_baths_ = {
"name": "Antal badeværelse",
"type": "scalar",
"description": " ",
"source": "BBR",
"value": "nr_baths",
}
nr_toilets_ = {
"name": "Antal toiletter",
"type": "scalar",
"description": " ",
"source": "BBR",
"value": "nr_toilets",
}
total_area_ = {
"name": "Total areal",
"type": "scalar",
"description": " ",
"source": "BBR",
"value": "total_area",
}
basement_area_ = {
"name": "Kælder areal",
"type": "scalar",
"description": " Det opsummerede areal for alle kælderetager i bygningen. Kælderetager er etager som har en etagebetegnelse som begynder med K.",
"source": "BBR",
"value": "basement_area",
}
basement_area_used_ = {
"name": "Benyttet kælder areal",
"type": "scalar",
"description": "Areal af lovlig beboelse i kælder",
"source": "BBR",
"value": "basement_area_used",
}
roof_area_ = {
"name": "Tagareal",
"type": "scalar",
"description": "Det opsummerede areal for alle tagetager i bygningen. Etagetypen fortæller om en etage er en tagetage.",
"source": "BBR",
"value": "roof_area",
}
nr_of_floors_ = {
"name": "Antal etager",
"type": "scalar",
"description": " ",
"source": "BBR",
"value": "nr_of_floors",
}
out_room_size_ = {
"name": "Udestue størrelse",
"type": "scalar",
"description": "",
"source": "BBR",
"value": "out_room_size",
}
garage_size_ = {
"name": "Garage størrelse",
"type": "scalar",
"description": "",
"source": "BBR",
"value": "garage_size",
}
prop_value_ = {
"name": "Ejendomsværdi",
"type": "scalar",
"description": "Den seneste offentlige ejendomsvurdering.",
"source": "SVUR",
"value": "prop_value",
}
ground_value_ = {
"name": "Grundværdi",
"type": "scalar",
"description": "Den seneste offentlige vurdering af grundværdien for ejendommen.",
"source": "SVUR",
"value": "ground_value",
}
domains = [
size_,
bis_area_,
oth_area_,
nr_rooms_,
nr_baths_,
nr_toilets_,
total_area_,
basement_area_,
basement_area_used_,
roof_area_,
nr_of_floors_,
out_room_size_,
garage_size_,
prop_value_,
ground_value_,
]
def addDomains():
for dom in domains:
d = Domain(
name=dom.get("name"),
type=dom.get("type"),
description=dom.get("description"),
source=dom.get("source"),
value=dom.get("value"),
)
d.save()
# for v in dom.get('values'):
# c = Category(
# domain=d,
# name=v[0],
# value=v[1]
# )
# c.save()