Suchinthana commited on
Commit
0376c05
·
1 Parent(s): 0261894

geocode update

Browse files
Files changed (1) hide show
  1. app.py +20 -9
app.py CHANGED
@@ -131,13 +131,24 @@ def generate_geojson(response):
131
  properties = response['output']['feature_representation']['properties']
132
 
133
  coordinates = []
134
- for city in city_names:
135
- coord = get_geo_coordinates(city)
136
- if coord:
137
- coordinates.append(coord)
138
 
139
- if feature_type == "Polygon" and len(coordinates) > 2:
140
- coordinates.append(coordinates[0]) # Close the polygon
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
141
 
142
  # Create the GeoJSON object
143
  geojson_data = {
@@ -148,10 +159,10 @@ def generate_geojson(response):
148
  "properties": properties,
149
  "geometry": {
150
  "type": feature_type,
151
- "coordinates": coordinates if feature_type != "Polygon" else [coordinates],
152
- }
153
  }
154
- ]
155
  }
156
 
157
  # Validate the GeoJSON
 
131
  properties = response['output']['feature_representation']['properties']
132
 
133
  coordinates = []
 
 
 
 
134
 
135
+ # Fetch coordinates for cities
136
+ for city in city_names:
137
+ try:
138
+ coord = get_geo_coordinates(city) # Function to fetch city coordinates
139
+ if coord:
140
+ coordinates.append(coord)
141
+ else:
142
+ logger.warning(f"Coordinates not found for city: {city}")
143
+ except Exception as e:
144
+ logger.error(f"Error fetching coordinates for {city}: {e}")
145
+
146
+ if feature_type == "Polygon":
147
+ if len(coordinates) < 3:
148
+ raise ValueError("Polygon requires at least 3 coordinates.")
149
+ # Close the polygon by appending the first point at the end
150
+ coordinates.append(coordinates[0])
151
+ coordinates = [coordinates] # Nest coordinates for Polygon
152
 
153
  # Create the GeoJSON object
154
  geojson_data = {
 
159
  "properties": properties,
160
  "geometry": {
161
  "type": feature_type,
162
+ "coordinates": coordinates,
163
+ },
164
  }
165
+ ],
166
  }
167
 
168
  # Validate the GeoJSON