DaanMatch - DaanMatch Morning Meeting#

📅 Wed Jan 18th, 2023
🕔 6:00pm PST
🔗 https://meet.google.com/hnr-fwck-pod

1. Call to Order#

2. Discussion#

  • Interviews Spring 2023 DS Discovery. Link to other projects

  • Finalizing who the letter is being sent to

  • Finishing off Figma

  • Translate data fields for form

3. DS Discovery Program#

  • Need all sites in order of priority to be webscraped. Expand web-scraping efforts, see if this could be automated.

  • Data Transformation to Data Model. Consider building data model for Donor side. Transfering from MySQL to PosgreSQL.

  • Research Project: Identify registration documents, Aadhar Card and create a library for reference. How the registration number are standardized state by state.

  • Create dashboard from NGO activity and information. Full information from a couple NGOs.

  • Geocoding, automating that with GitHub actions.

4. Geocoding#

  1. Convert address to new standard and then check reverse geocoder if it’s valid.

There are a few options for geocoding addresses for free:

  • Google Maps API: Google provides a geocoding API that allows you to convert addresses into geographic coordinates (latitude and longitude). You can use this API for free up to a certain number of requests per day, after which you will need to pay for additional requests. You can find more information about the Google Maps API and how to use it here: https://developers.google.com/maps/documentation/geocoding/start

  • OpenStreetMap: OpenStreetMap is a free and open-source mapping platform that provides geocoding services. You can use the Nominatim API to geocode addresses and place names for free, although there are some usage limits in place to ensure that the service remains available for everyone. You can find more information about the Nominatim API and how to use it here: https://wiki.openstreetmap.org/wiki/Nominatim

  • Geocode.xyz: Geocode.xyz is a free geocoding service that allows you to convert addresses and place names into geographic coordinates. You can use the API for free, although there are some usage limits in place. You can find more information about Geocode.xyz and how to use it here: https://geocode.xyz/api It’s important to note that all of these services have usage limits and terms of service that you should familiarize yourself with before using them.


def geocode_addresses(addresses):
  # Create a list to store the results
  results = []

  # Iterate over the list of addresses
  for address in addresses:
    # Construct the API request URL
    url = f"https://geocode.xyz/{address}?json=1"

    # Make the request to the API
    response = requests.get(url)

    # Get the JSON data from the response
    data = response.json()

    # Check if the request was successful
    if data["status"] == "OK":
      # Get the latitude and longitude from the response
      lat = data["latt"]
      lng = data["longt"]

      # Add the latitude and longitude to the results list
      results.append((lat, lng))
    else:
      # If the request was not successful, add an error message to the results list
      results.append(f"Error: {data['status']}")

  # Return the results
  return results