From 8455a67750663bbeaed2438ac85a7f6b35447a65 Mon Sep 17 00:00:00 2001 From: Eli Ribble Date: Sat, 28 Feb 2026 22:56:00 +0000 Subject: [PATCH] Add tools for injecting imported parcel and addresses --- tools/create-import-address-visalia.sql | 14 +++++ tools/create-import-addresses-tulare.sql | 61 ++++++++++++++++++++++ tools/create-import-parcel-visalia.sql | 36 +++++++++++++ tools/insert-compliance-report-request.sql | 3 ++ tools/insert-sites.sql | 4 ++ tools/port-address-visalia.sql | 24 +++++++++ tools/port-parcel-visalia.sql | 11 ++++ 7 files changed, 153 insertions(+) create mode 100644 tools/create-import-address-visalia.sql create mode 100644 tools/create-import-addresses-tulare.sql create mode 100644 tools/create-import-parcel-visalia.sql create mode 100644 tools/insert-compliance-report-request.sql create mode 100644 tools/insert-sites.sql create mode 100644 tools/port-address-visalia.sql create mode 100644 tools/port-parcel-visalia.sql diff --git a/tools/create-import-address-visalia.sql b/tools/create-import-address-visalia.sql new file mode 100644 index 00000000..81ea1e02 --- /dev/null +++ b/tools/create-import-address-visalia.sql @@ -0,0 +1,14 @@ +-- pulled from https://services7.arcgis.com/q3SI94vj8qWDxwBr/arcgis/rest/services/Public_Addresses/FeatureServer +CREATE TABLE import.addresses_visalia ( + OBJECTID TEXT, + ADDRNUM TEXT, + UNITTYPE TEXT, + UNITID TEXT, + FULLNAME TEXT, + FULLADDR TEXT, + MUNICIPALITY TEXT, + STATUS TEXT, + Zipcode TEXT, + GlobalID TEXT, + geometry TEXT +); diff --git a/tools/create-import-addresses-tulare.sql b/tools/create-import-addresses-tulare.sql new file mode 100644 index 00000000..af6cf724 --- /dev/null +++ b/tools/create-import-addresses-tulare.sql @@ -0,0 +1,61 @@ +CREATE TABLE import.addresses_tulare ( + OBJECTID TEXT, + DiscrpAgID TEXT, + DateUpdate TEXT, + Effective TEXT, + Expire TEXT, + NGUID TEXT, + Country TEXT, + State TEXT, + County TEXT, + AddCode TEXT, + AddDataURI TEXT, + Inc_Muni TEXT, + Uninc_Comm TEXT, + Nbrhd_Comm TEXT, + AddNum_Pre TEXT, + Add_Number TEXT, + AddNum_Suf TEXT, + St_PreMod TEXT, + St_PreDir TEXT, + St_PreTyp TEXT, + St_PreSep TEXT, + St_Name TEXT, + St_PosTyp TEXT, + St_PosDir TEXT, + St_PosMod TEXT, + LSt_PreDir TEXT, + LSt_Name TEXT, + LSt_Typ TEXT, + LSt_PosDir TEXT, + ESN TEXT, + MSAGComm TEXT, + Post_Comm TEXT, + Post_Code TEXT, + PostCodeEx TEXT, + Building TEXT, + Floor TEXT, + Unit TEXT, + Room TEXT, + Seat TEXT, + Addtl_Loc TEXT, + LandmkName TEXT, + Milepost TEXT, + Place_Type TEXT, + Placement TEXT, + Longitude TEXT, + Latitude TEXT, + Elevation TEXT, + Full_StAddress TEXT, + DataSteward TEXT, + Owner TEXT, + CreateDate TEXT, + Creator TEXT, + DataCollection TEXT, + DataSource TEXT, + Editor TEXT, + MetaNotes TEXT, + Narrative TEXT, + GlobalID TEXT, + geometry TEXT +); diff --git a/tools/create-import-parcel-visalia.sql b/tools/create-import-parcel-visalia.sql new file mode 100644 index 00000000..803ed5d1 --- /dev/null +++ b/tools/create-import-parcel-visalia.sql @@ -0,0 +1,36 @@ +-- data was dumped to CSV from https://services7.arcgis.com/q3SI94vj8qWDxwBr/ArcGIS/rest/services/Public_Parcels/FeatureServer +CREATE TABLE import.csv_parcel ( + OBJECTID TEXT, + APN_ID TEXT, + Type TEXT, + StatedArea TEXT, + SystemStartDate TEXT, + LegalStartDate TEXT, + SimConDivType TEXT, + EncumbranceType TEXT, + APN_NO TEXT, + LOT_NO TEXT, + PropertySitus TEXT, + REDEV TEXT, + HIST TEXT, + PKZN TEXT, + DESG TEXT, + LNDLGT TEXT, + NEDIST TEXT, + GEN_PLAN TEXT, + ZONING TEXT, + FEMA TEXT, + SUBDIV TEXT, + FEMA08 TEXT, + CDBG TEXT, + DTOWN TEXT, + CALHAZ TEXT, + PTYPE TEXT, + PNAME TEXT, + FIREZONE TEXT, + PWINSP TEXT, + SchoolDistrict TEXT, + Shape__Area TEXT, + Shape__Length TEXT, + geometry TEXT +); diff --git a/tools/insert-compliance-report-request.sql b/tools/insert-compliance-report-request.sql new file mode 100644 index 00000000..3cf87317 --- /dev/null +++ b/tools/insert-compliance-report-request.sql @@ -0,0 +1,3 @@ +INSERT INTO compliance_report_request(created, creator, id, public_id, site_id, site_version) +VALUES (NOW(), :user_id, DEFAULT, :public_id, :site_id, 1); + diff --git a/tools/insert-sites.sql b/tools/insert-sites.sql new file mode 100644 index 00000000..e9bb964c --- /dev/null +++ b/tools/insert-sites.sql @@ -0,0 +1,4 @@ +BEGIN; +INSERT INTO site(address_id, created, creator_id, file_id, id, notes, organization_id, owner_name, owner_phone_e164, parcel_id, resident_owned, tags, version) +VALUES (:address_id, NOW(), :user_id, NULL, DEFAULT, '', :organization_id, '', NULL, :parcel_id, NULL, '', 1); +COMMIT; diff --git a/tools/port-address-visalia.sql b/tools/port-address-visalia.sql new file mode 100644 index 00000000..d168586e --- /dev/null +++ b/tools/port-address-visalia.sql @@ -0,0 +1,24 @@ +-- Use this to port over data that was imported from Visalia public parcels +-- in create-import-address-visalia.sql +INSERT INTO address( + country, + created , + geom , + h3cell , + locality, + number_ , + postal_code, + street, + unit +) SELECT + 'usa', + NOW(), + g.geom, + h3_latlng_to_cell(g.geom, 15), + a.municipality, + TO_NUMBER(a.addrnum, '999999'), + a.zipcode, + a.fullname, + COALESCE(a.unitid, '') +FROM import.addresses_visalia a +CROSS JOIN LATERAL public.geojsontogeom(a.geometry::jsonb) g; diff --git a/tools/port-parcel-visalia.sql b/tools/port-parcel-visalia.sql new file mode 100644 index 00000000..c11b24ea --- /dev/null +++ b/tools/port-parcel-visalia.sql @@ -0,0 +1,11 @@ +-- Use this to port over data that was imported from Visalia public parcels +-- in create-import-parcel-visalia.sql +INSERT INTO parcel(apn, description, geometry) +SELECT + p.apn_id, + p.propertysitus, + -- g.geometrytype + -- g.properties, + g.geom +FROM import.csv_parcel p +CROSS JOIN LATERAL public.geojsontogeom(p.geometry::jsonb) g;