From 8e6f3d9a9e1562d257b28fb3e4432d1b037e1181 Mon Sep 17 00:00:00 2001 From: ferhany2002 Date: Mon, 9 Dec 2024 13:05:00 +0100 Subject: [PATCH] Remove redundant files/code --- src/bag/bag_controller.py | 13 ---- src/bag/raw_sql/__init__.py | 0 src/bag/raw_sql/cluster_building_dwelling.sql | 74 ------------------- src/bag/raw_sql/determine_building_units.sql | 72 ------------------ src/bag/tests/test_bag_controller.py | 5 -- 5 files changed, 164 deletions(-) delete mode 100644 src/bag/raw_sql/__init__.py delete mode 100644 src/bag/raw_sql/cluster_building_dwelling.sql delete mode 100644 src/bag/raw_sql/determine_building_units.sql diff --git a/src/bag/bag_controller.py b/src/bag/bag_controller.py index 058691d..06bdd4f 100644 --- a/src/bag/bag_controller.py +++ b/src/bag/bag_controller.py @@ -4,7 +4,6 @@ from django.conf import settings from django.db import connection -from django.utils.timezone import is_aware, make_aware from isodate import parse_date, parse_datetime from toolz import interleave, partial, pipe @@ -15,17 +14,6 @@ class BagController: - def create_rijtjeshuizen_tables(self): - files = ["determine_building_units.sql", "cluster_building_dwelling.sql"] - folder = os.path.join(settings.BASE_DIR, "bag/raw_sql") - for file in files: - with open(os.path.join(folder, file), "r") as sql_file: - raw_sql = sql_file.read() - - logger.info(f"Creating table from file {file}") - with connection.cursor() as cursor: - cursor.execute(raw_sql) - def create_bag_instances(self, bag_model, row: dict): bag_dict = {} for field, value in row.items(): @@ -42,7 +30,6 @@ def create_bag_instances(self, bag_model, row: dict): if "T" in value else datetime.combine(parse_date(value), datetime.now().time()) ) - value = value if is_aware(value) else make_aware(value) bag_dict[field] = value try: diff --git a/src/bag/raw_sql/__init__.py b/src/bag/raw_sql/__init__.py deleted file mode 100644 index e69de29..0000000 diff --git a/src/bag/raw_sql/cluster_building_dwelling.sql b/src/bag/raw_sql/cluster_building_dwelling.sql deleted file mode 100644 index fbf7749..0000000 --- a/src/bag/raw_sql/cluster_building_dwelling.sql +++ /dev/null @@ -1,74 +0,0 @@ --- This code was written by Nico de Graaff --- and taken from the repository: --- https://git.data.amsterdam.nl/team_stadsbeheer/afleiding_rijtjeswoningen - --- -drop table if exists bag_pand_woningcluster; -create table bag_pand_woningcluster - -as -select - -- de panden liggen maximaal 10 cm uit elkaar en het cluster bevat minimaal twee panden - ST_ClusterDBScan(geometrie, 0.1, 2) over () as woningcluster_id, - * -from ( - select id AS pand_id, - concat(bouwblok_id::varchar, openbare_ruimte_id) as bouwblokzijde, - geometrie, - aantal_vot, - aantal_woningen, - aantal_onzelfst_eenheden, - openbare_ruimte_id, - bouwblok_id, - ligging, - type_woonobject, - status, - begin_geldigheid, - einde_geldigheid - from bag_pand_afleiding_objecten - where aantal_woningen = 1 - and aantal_vot = 1) panden -; --- -drop index if exists bag_pand_woningcluster_gidx; -create index bag_pand_woningcluster_gidx on bag_pand_woningcluster using GIST (geometrie); --- - - --- --- --- aggregatie naar zuivere clusters: -drop table if exists bag_agg_pand_woningcluster CASCADE; -create table bag_agg_pand_woningcluster -as -select * -from ( - select st_collect(geometrie) geometrie, - concat(bouwblokzijde, woningcluster_id) id, - array_agg(pand_id) bevat_panden, - sum(aantal_vot) aantal_vot, - sum(aantal_woningen) aantal_woningen, - sum(aantal_onzelfst_eenheden) aantal_onzelfst_eenheden, - bouwblok_id - from public.bag_pand_woningcluster - where woningcluster_id is not null - group by bouwblokzijde, woningcluster_id, bouwblok_id) clusters -where --- alleen funtionele cluster met meer dan 1 pand -cardinality(bevat_panden) > 1 -; --- -drop index if exists bag_agg_pand_woningcluster_gidx; -create index bag_agg_pand_woningcluster_gidx on bag_agg_pand_woningcluster using GIST (geometrie); - - --- --- --- rijtjeshuizen -drop table if exists bag_rijtjeshuis CASCADE; -create table bag_rijtjeshuis -as -SELECT - unnest(bevat_panden) AS pand_id, - id AS rij_id -FROM public.bag_agg_pand_woningcluster \ No newline at end of file diff --git a/src/bag/raw_sql/determine_building_units.sql b/src/bag/raw_sql/determine_building_units.sql deleted file mode 100644 index 1b743f6..0000000 --- a/src/bag/raw_sql/determine_building_units.sql +++ /dev/null @@ -1,72 +0,0 @@ --- This logic was written by Nico de Graaff and taken from the repository: --- https://git.data.amsterdam.nl/team_stadsbeheer/afleiding_rijtjeswoningen --- Code refactored by Jeroen Beekman - -drop table if exists bag_pand_afleiding_objecten; -create table bag_pand_afleiding_objecten -as -with verblijfsobject_selection as ( - select pnd.identificatie as pand_id - , vot.identificatie as vot_id - , vot.feitelijkgebruikomschrijving - , vot.gebruiksdoelwoonfunctieomschrijving as woonfunctie - , vot.gebruiksdoelgezondheidszorgfunctieomschrijving as gezondheidsfunctie - from bag_pand pnd - join bag_verblijfsobjectpandrelatie vpr - on pnd.identificatie = vpr.ligtinpandenidentificatie - join bag_verblijfsobject vot - on vot.identificatie = vpr.verblijfsobjectenidentificatie - where vot.statusomschrijving like '%in gebruik%' - and pnd.statusomschrijving like '%in gebruik%' -) --- aantal verblijfsobjecten, woningen en ontzelfst. eenheden per pand -, aantallen as ( - select pand_id - , count(*) as aantal_vot - , count(*) filter (where feitelijkgebruikomschrijving = 'woning') as aantal_woningen - , count(*) filter ( - where feitelijkgebruikomschrijving = 'woning' - and (woonfunctie like '%onzelfst%' or gezondheidsfunctie like '%onzelfst%') - ) as aantal_onzelfst_eenheden - from verblijfsobject_selection - group by 1 -) --- afleiden straatzijde van het pand -, pand_straatzijde as ( - select distinct on (pand_id) - pand_id - , openbare_ruimte_id - from ( - select vs.pand_id, - nag.ligtaanopenbareruimteid as openbare_ruimte_id, - count(*) as aantal_opr_item - from verblijfsobject_selection vs - join bag_nummeraanduiding nag - on vs.vot_id = nag.adresseertverblijfsobjectid - where nag.typeadres = 'Hoofdadres' - group by 1,2 - ) straatzijde - order by pand_id, aantal_opr_item desc, openbare_ruimte_id -) -select pnd.identificatie as id, - pnd.identificatie as pand_id, - pnd.geometrie, - atl.aantal_vot, - atl.aantal_woningen, - atl.aantal_onzelfst_eenheden, - pse.openbare_ruimte_id, - pnd.ligtinbouwblokid as bouwblok_id, - pnd.liggingomschrijving as ligging, - pnd.typewoonobject as type_woonobject, - pnd.statusomschrijving as status, - pnd.begingeldigheid as begin_geldigheid, - pnd.eindgeldigheid as einde_geldigheid -from bag_pand pnd -left join aantallen atl - on pnd.identificatie = atl.pand_id -left join pand_straatzijde pse - on pnd.identificatie = pse.pand_id -order by 1 -; -drop index if exists bag_pand_afleiding_objecten_gidx; -create index bag_pand_afleiding_objecten_gidx on bag_pand_afleiding_objecten using GIST (geometrie); \ No newline at end of file diff --git a/src/bag/tests/test_bag_controller.py b/src/bag/tests/test_bag_controller.py index 3ec246d..b297688 100644 --- a/src/bag/tests/test_bag_controller.py +++ b/src/bag/tests/test_bag_controller.py @@ -8,11 +8,6 @@ class TestBagController: - @patch("bag.bag_controller.connection.cursor") - def test_create_rijtjeshuizen_tables(self, mock_cursor): - BagController().create_rijtjeshuizen_tables() - assert mock_cursor.call_count == 2 - @pytest.mark.django_db def test_upsert_table_data(self): obj = baker.prepare(Ligplaats, id="03630000000001", status="Active")