first commit

This commit is contained in:
Saeed Ranjbar 2023-12-19 13:51:06 -05:00
parent b66b0aa578
commit b4154c11d5
2 changed files with 82 additions and 0 deletions

42
latlong2.py Normal file
View File

@ -0,0 +1,42 @@
import requests
def get_lat_lng(api_key, address):
base_url = "https://api.opencagedata.com/geocode/v1/json"
params = {
'q': address,
'key': api_key,
}
response = requests.get(base_url, params=params)
data = response.json()
if response.status_code == 200 and data['status']['code'] == 200:
location = data['results'][0]['geometry']
return location['lat'], location['lng']
else:
print(f"Error: {data['status']['message']}")
return None, None
def get_lat_lng_for_addresses(api_key, addresses):
coordinates = []
for address in addresses:
lat, lng = get_lat_lng(api_key, address)
if lat is not None and lng is not None:
coordinates.append((lat, lng))
return coordinates
# Replace 'YOUR_API_KEY' with your OpenCage Geocoding API key
api_key = '744ad0d2d58e49d1ac57d6fb04fe5d82'
# Example list of addresses
addresses = ["1600 Amphitheatre Parkway, Mountain View, CA",
"Eiffel Tower, Paris, France",
"Big Ben, London, UK"]
coordinates = get_lat_lng_for_addresses(api_key, addresses)
# Print the coordinates
for address, coord in zip(addresses, coordinates):
print(f"{address} -> Latitude: {coord[0]}, Longitude: {coord[1]}")

40
main.py Normal file
View File

@ -0,0 +1,40 @@
import json
from shapely import Polygon
from shapely import Point
from pathlib import Path
# Make sure to enter your points in the clockwise direction
# and in the longitude, latitude format
#selection_box = Polygon([[-73.543833, 45.575932] ,
# [-73.541834, 45.575245],
# [-73.542275, 45.574652],
# [-73.544235, 45.575329],
# [-73.543833, 45.575932]])
x=-73.61574532884296
y=45.603911965131
diff=0.001
selection_box = Polygon([[x+diff, y-diff],
[x-diff, y-diff],
[x-diff, y+diff],
[x+diff, y+diff]])
geojson_file = Path('./data/collinear_clean 1.geojson').resolve()
output_file = Path('./output_buildings.geojson').resolve()
buildings_in_region = []
with open(geojson_file, 'r') as file:
city = json.load(file)
buildings = city['features']
for building in buildings:
coordinates = building['geometry']['coordinates'][0]
building_polygon = Polygon(coordinates)
centroid = Point(building_polygon.centroid)
if centroid.within(selection_box):
buildings_in_region.append(building)
output_region = {"type": "FeatureCollection",
"features": buildings_in_region}
with open(output_file, 'w') as file:
file.write(json.dumps(output_region, indent=2))