From bf143693ccae7dc43a4e9769da9f3327eb214d17 Mon Sep 17 00:00:00 2001 From: Frank Schubert Date: Thu, 23 Mar 2023 18:39:14 +0100 Subject: [PATCH] Added Lieboch Rimo import script --- .../ADBHausnummer/ADBHausnummerModel.php | 4 +- .../lieboch/import-rimo-attributes.php | 116 +++++++----------- .../premstaetten/import-rimo-attributes.php | 1 - 3 files changed, 46 insertions(+), 75 deletions(-) diff --git a/application/ADBHausnummer/ADBHausnummerModel.php b/application/ADBHausnummer/ADBHausnummerModel.php index 23240526d..7f1d19c4a 100644 --- a/application/ADBHausnummer/ADBHausnummerModel.php +++ b/application/ADBHausnummer/ADBHausnummerModel.php @@ -71,8 +71,8 @@ class ADBHausnummerModel { ORDER BY netzgebiet_id,Gemeinde.id,ortschaft_id,strasse_id,LENGTH(hausnummer), hausnummer LIMIT 1"; - //mfLoghandler::singleton()->debug($where); - $res = $db->select("Hausnummer", "*", "$where ORDER BY strasse_id,hausnummer LIMIT 1"); + mfLoghandler::singleton()->debug($sql); + $res = $db->query($sql); if($db->num_rows($res)) { $data = $db->fetch_object($res); $item = new ADBHausnummer($data); diff --git a/scripts/addressdb/lieboch/import-rimo-attributes.php b/scripts/addressdb/lieboch/import-rimo-attributes.php index 6b21225ec..c51466e8c 100644 --- a/scripts/addressdb/lieboch/import-rimo-attributes.php +++ b/scripts/addressdb/lieboch/import-rimo-attributes.php @@ -12,14 +12,13 @@ require_once(LIBDIR."/mvcfronk/mfBase/mfBaseModel.php"); require_once(LIBDIR."/mvcfronk/mfBase/mfBaseController.php"); -$netzgebiet_name_main = "Liezen"; $freigabe_default = json_encode(["interest", "provision", "order", "reorder"]); - +$adb_gemeinde_id = 1462; $me = new User(1); $folder = __DIR__."/import/"; -$csvname = "SDIBuilding__Locations__FTTx_premstaetten_2023-03-07.csv"; +$csvname = "RIMO_230307_Adressen_Cluster_Lieboch.csv"; $filename = $folder.$csvname; $db = FronkDB::singleton(ADDRESSDB_DBHOST, ADDRESSDB_DBUSER, ADDRESSDB_DBPASS, ADDRESSDB_DBNAME); @@ -41,20 +40,21 @@ while($csv = fgetcsv($input, 0, ";")) { continue; } - $hausnummer_extref = trim($csv[64]); - $adrcd_subcd = trim($csv[46]); - $netzgebiet_extref = trim($csv[54]); - $grund_nr = trim($csv[73]); + $hausnummer_extref = trim($csv[48]); + $adrcd = trim($csv[65]); + $netzgebiet_extref = trim($csv[55]); + $grund_nr = trim($csv[74]); //gps_long, gps_lat + //$rollout_time = trim($csv[17]); //$rollout_info = trim($csv[18]); //$freigabe = trim($csv[19]) - $unit_count = trim($csv[78]); - $gdaeigenschaft = trim($csv[66]); - $fcp_name = trim($csv[49]); + //$unit_count = trim($csv[78]); + $gdaeigenschaft = trim($csv[67]); + $fcp_name = trim($csv[50]); - $execution_state = trim($csv[8]); - $btype = trim($csv[30]); + $execution_state = trim($csv[9]); + $btype = trim($csv[31]); if(!$netzgebiet_extref) { continue; @@ -75,16 +75,10 @@ while($csv = fgetcsv($input, 0, ";")) { continue; } - $adrcd = false; - if($adrcd_subcd) { - $adrparts = explode("-", $adrcd_subcd); - $adrcd = $adrparts[0]; - } - - $gem_name = trim($csv[59]); + $gem_name = trim($csv[60]); $plz_string = trim($csv[88]); - $ort_name = trim($csv[31]); - $strasse_hausnummer = trim($csv[22]); + $ort_name = trim($csv[32]); + $strasse_hausnummer = trim($csv[23]); $strasse_name = ""; $hausnummer_name = ""; @@ -98,25 +92,8 @@ while($csv = fgetcsv($input, 0, ";")) { } } - - /* - $adrcd = trim($csv[0]); - $gem_kz = trim($csv[2]); - $gem_name = trim($csv[3]); - $ort_kz = trim($csv[5]); - $plz_string = trim($csv[4]); - $ort_name = trim($csv[6]); - $skz = trim($csv[7]); - $strasse_name = trim($csv[8]); - $hausnummer_string = trim($csv[9]); - $hausnummer_extref = trim($csv[0]); - if(in_array($hausnummer_extref, $h_extrefs)) { - die("Hausnummer extref doppelt! $hausnummer_extref\n"); - } - $h_extrefs[] = $hausnummer_extref; - */ - //$lat = str_replace(",",".",trim($csv[7])); - //$long = str_replace(",",".",trim($csv[8])); + $lat = str_replace(",",".",trim($csv[10])); + $long = str_replace(",",".",trim($csv[11])); if(!$adrcd) { @@ -128,45 +105,29 @@ while($csv = fgetcsv($input, 0, ";")) { continue; } - if(!$hausnummer_extref) { - die("!!! Keine Hausnummer Extref\n"); - } - - - if($hausnummer_extref == "25012262") { - $unit_count = 45; - } - if($hausnummer_extref == "25012676") { + if(!$hausnummer_extref || !is_numeric($hausnummer_extref)) { + //echo("Keine Hausnummer Extref\n"); continue; } - if($hausnummer_extref == "25012153" || $hausnummer_extref == "25012155" || $hausnummer_extref == "25012157") { - continue; - } - if($hausnummer_extref == "25012159") { - $unit_count = 61; - } + if($adrcd == "25023176") continue; - if($hausnummer_extref == "25010649") { - continue; - } - if($hausnummer_extref == "25010723" || $hausnummer_extref == "25010816") { - continue; - } - - $existing_hausnummer = ADBHausnummerModel::getFirst(["extref" => $hausnummer_extref]); + $existing_hausnummer = ADBHausnummerModel::getFirst(["extref" => $hausnummer_extref, "gemeinde_id" => $adb_gemeinde_id]); if(!$existing_hausnummer) { $existing_hausnummer = ADBHausnummerModel::getFirst(["adrcd" => $adrcd]); } - if(!$existing_hausnummer) { + + if(!$existing_hausnummer) { //echo "$hausnummer_extref not found $strasse_name $hausnummer_name\n"; - //continue; // find hausnummer //echo "$strasse_name $hausnummer_name\n"; - if($strasse_name == "Toepferring") $strasse_name = "Töpferring"; - if($strasse_name == "Foehrenweg") $strasse_name = "Föhrenweg"; + //if($strasse_name == "Toepferring") $strasse_name = "Töpferring"; + //if($strasse_name == "Foehrenweg") $strasse_name = "Föhrenweg"; + + if($strasse_name == "Hans-Thalhammer-Straße") $strasse_name = "H. Thalhammer-Straße"; + if($strasse_name == "Packerstraße") $strasse_name = "Packer Straße"; $strasse_name = $db->escape($strasse_name); $hausnummer_name = $db->escape($hausnummer_name); @@ -195,7 +156,7 @@ while($csv = fgetcsv($input, 0, ";")) { } - $sql = "SELECT * FROM view_hausnummer WHERE gemeinde_id = 1 AND strasse IN ('". implode("', '", $strasse_search)."') AND hausnummer='$hausnummer_name'"; + $sql = "SELECT * FROM view_hausnummer WHERE gemeinde_id = $adb_gemeinde_id AND strasse IN ('". implode("', '", $strasse_search)."') AND hausnummer='$hausnummer_name'"; $res = $db->query($sql); if($db->num_rows($res)) { @@ -209,6 +170,12 @@ while($csv = fgetcsv($input, 0, ";")) { $existing_hausnummer->extref = $hausnummer_extref; $existing_hausnummer->grund_nr = $grund_nr; + + if($lat && $long) { + $existing_hausnummer->gps_lat = $lat; + $existing_hausnummer->gps_long = $long; + } + $existing_hausnummer->gdaeigenschaft = $gdaeigenschaft; $existing_hausnummer->rimo_fcp_name = $fcp_name; if(!$existing_hausnummer->oaid) { @@ -217,9 +184,10 @@ while($csv = fgetcsv($input, 0, ";")) { $existing_hausnummer->save(); } else { - echo "Address not found (straße: $strasse_name, hausnummer: $hausnummer_name, adrcd: $adrcd, extref: $hausnummer_extref, unit_count: $unit_count)\n"; + echo "Address not found (straße: $strasse_name, hausnummer: $hausnummer_name, adrcd: $adrcd, extref: $hausnummer_extref)\n"; } } else { + // found hausnummer $existing_hausnummer->netzgebiet_id = $netzgebiet->id; if(!$existing_hausnummer->adrcd) { @@ -228,6 +196,10 @@ while($csv = fgetcsv($input, 0, ";")) { $existing_hausnummer->extref = $hausnummer_extref; $existing_hausnummer->grund_nr = $grund_nr; + if($lat && $long) { + $existing_hausnummer->gps_lat = $lat; + $existing_hausnummer->gps_long = $long; + } $existing_hausnummer->gdaeigenschaft = $gdaeigenschaft; $existing_hausnummer->rimo_fcp_name = $fcp_name; if(!$existing_hausnummer->oaid) { @@ -236,7 +208,7 @@ while($csv = fgetcsv($input, 0, ";")) { $existing_hausnummer->save(); } continue; - + /* // add new units $existing_units_count = ADBWohneinheitModel::count(['hausnummer_id' => $existing_hausnummer->id]); if($existing_units_count != $unit_count) { @@ -244,7 +216,7 @@ while($csv = fgetcsv($input, 0, ";")) { echo "========================================================================\n"; echo "=============== [".$existing_hausnummer->id."] Need to delete ".($existing_units_count - $unit_count)." units\n"; echo "========================================================================\n"; - }*/ + }*//* if($existing_units_count < $unit_count) { echo "=============== Adding ".($unit_count - $existing_units_count)." units\n"; @@ -282,7 +254,7 @@ while($csv = fgetcsv($input, 0, ";")) { } } - + */ //echo "$hausnummer_extref: $adrcd, $netzgebiet_extref, $grund_nr, $unit_count, $gdaeigenschaft\n"; } \ No newline at end of file diff --git a/scripts/addressdb/premstaetten/import-rimo-attributes.php b/scripts/addressdb/premstaetten/import-rimo-attributes.php index 6b21225ec..109d60dcc 100644 --- a/scripts/addressdb/premstaetten/import-rimo-attributes.php +++ b/scripts/addressdb/premstaetten/import-rimo-attributes.php @@ -12,7 +12,6 @@ require_once(LIBDIR."/mvcfronk/mfBase/mfBaseModel.php"); require_once(LIBDIR."/mvcfronk/mfBase/mfBaseController.php"); -$netzgebiet_name_main = "Liezen"; $freigabe_default = json_encode(["interest", "provision", "order", "reorder"]);