DaanMatch - DaanMatch Morning Meeting#

📅 Wed Nov 30th, 2022
🕔 6:30pm PST
🔗 https://meet.google.com/hnr-fwck-pod

1. Call to Order#

2. Discussion#

  • Finished application for Spring 2023 DS Discovery. Link to other projects

  • Jarrett provided documentation for updating ArcGIS Instant App

  • Finalizing letter to send to NGOs from CSR summit

  • Finishing off Figma

  • Translate data fields for form

3. DS Discovery Program Objectives#

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

  • Expand web-scraping efforts, see if this could be automated

  • Create dashboard from NGO activity and information

  • Geocoding

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