# Sudan Regions, Localities, and Cities
Complete geographic data for Sudan's 19 regions, 189 localities, and 35,573 populated places.
Data collected from OpenStreetMap (OSM) and Humanitarian OpenStreetMap Team (HOT).
## 📊 Data Files
### JSON Files
Located in `json/` folder:
- **regions.json** - 19 regions with IDs, names (EN/AR), codes, coordinates, and area
- **localities.json** - 189 localities with IDs, region IDs, names (EN/AR), codes, coordinates, and area
- **cities.json** - 35,573 cities with IDs, locality IDs, region IDs, names (EN/AR), type, and coordinates
### GeoJSON Files
Located in `geojson/` folder (viewable on GitHub with interactive map):
- **regions.geojson** - 19 regions with polygon boundaries
- **localities.geojson** - 189 localities with polygon boundaries
- **cities.geojson** - 35,573 cities with point coordinates
### MySQL Database
Located in `mysql/` folder:
- **regions.sql** - Regions table
- **localities.sql** - Localities table
- **cities.sql** - Cities table
Import into MySQL:
```bash
mysql -u username -p database_name city.region_id === regionId);
```
### Python
```python
import json
with open('json/cities.json', 'r', encoding='utf-8') as f:
cities = json.load(f)
# Get all cities in a specific locality
locality_id = 77
cities_in_locality = [c for c in cities if c['locality_id'] == locality_id]
```
### SQL
```sql
-- Get all cities in Khartoum region
SELECT * FROM cities WHERE region_id = 8;
-- Get cities with their locality and region names
SELECT
c.city_id,
c.name_en as city_name,
l.name_en as locality_name,
r.name_en as region_name
FROM cities c
LEFT JOIN localities l ON c.locality_id = l.locality_id
LEFT JOIN regions r ON c.region_id = r.region_id;
```
## 📝 License
MIT License - See LICENSE file for details
## 🙏 Credits
Data source: OpenStreetMap (OSM) and Humanitarian OpenStreetMap Team (HOT)