From 8bcace654503583f8e0a510eb7db8b50622034bc Mon Sep 17 00:00:00 2001 From: Yam ZhengLim Date: Wed, 10 May 2023 09:12:31 +0000 Subject: [PATCH] lee - snowpark_geolocator modified --- README.md | 4 +-- models/marts/warehouse/snowpark_geoloc.py | 31 ++++++++++++++++++++--- 2 files changed, 29 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index 37b27fe..3bead35 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@ # DBT governance -Thid markdown document will specify the rules that need to follow by every developer. +This markdown document will specify the rules that need to follow by every developer.
-Short naming converntion lists that need to follow +Short naming convention lists that need to follow | model_type Shortcut | Full name | | ------------------- | ------ | diff --git a/models/marts/warehouse/snowpark_geoloc.py b/models/marts/warehouse/snowpark_geoloc.py index 3edecc4..c4eb78b 100644 --- a/models/marts/warehouse/snowpark_geoloc.py +++ b/models/marts/warehouse/snowpark_geoloc.py @@ -1,6 +1,29 @@ -# snowpark start here -def model(dbt, session): +# Import libraries +# Basic Snowpark API available +# https://docs.snowflake.com/developer-guide/snowpark/reference/python/index.html +from snowflake import * +from geopy.geocoders import Nominatim +import requests - my_sql_model_df = dbt.ref("test_address__mock_data") +# Initialize geopy geolocator using Nominatim (OpenStreetMap) +geolocator = Nominatim(user_agent="cief_geolocator") + +# Function to geocode address and return latitude and longitude +def geocode_address(address): + location = geolocator.geocode(address) + if location: + return (location.latitude, location.longitude) + else: + return (None, None) + +def model(dbt, session): - return my_sql_model_df \ No newline at end of file + # Database reference + my_sql_model_df = dbt.ref("test_address__mock_data") + address = 'selayang mall' + + url = 'https://nominatim.openstreetmap.org/search/' + requests.utils.quote(address) + '?format=json' + response = requests.get(url).json() + + return url +