# Import Libraries
import pandas as pd
import geopandas as gpd
import lxml
import os
import time
import datetime
import json
import gc
# Set Output Folder
data_folder = os.path.abspath("Data")
downloads_folder = os.path.join(data_folder, "Downloaded")
output_folder = os.path.abspath("output")
if not os.path.exists(output_folder):
os.makedirs(output_folder)
# Read Constituency Data
ac_data_folder = os.path.join(downloads_folder, "AC")
ac_data = os.path.join(ac_data_folder, "India_AC.shp")
ac_gdf = gpd.read_file(ac_data)
ac_gdf
OBJECTID | ST_CODE | ST_NAME | DT_CODE | DIST_NAME | AC_NO | AC_NAME | PC_NO | PC_NAME | PC_ID | STATUS | Shape_Leng | Shape_Area | geometry | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | 1 | 13 | NAGALAND | 1.0 | MON | 41 | Tizit | 1 | NAGALAND | 1301 | Pre delimitation | 1.381854 | 0.055845 | POLYGON ((94.9457548574008 26.93518316946773, ... |
1 | 1 | 13 | NAGALAND | 1.0 | MON | 43 | Tapi | 1 | NAGALAND | 1301 | Pre delimitation | 1.056157 | 0.030387 | POLYGON ((95.22324386371338 26.75963707718944,... |
2 | 1 | 13 | NAGALAND | 1.0 | MON | 42 | Wakching | 1 | NAGALAND | 1301 | Pre delimitation | 0.980303 | 0.018828 | POLYGON ((94.86775129009004 26.82831138606167,... |
3 | 1 | 13 | NAGALAND | 2.0 | TUENSANG | 49 | Tamlu | 1 | NAGALAND | 1301 | Pre delimitation | 1.133296 | 0.021899 | POLYGON ((94.73862639329349 26.76868496204139,... |
4 | 1 | 13 | NAGALAND | 3.0 | MOKOKCHUNG | 21 | Tuli | 1 | NAGALAND | 1301 | Pre delimitation | 0.965989 | 0.022397 | POLYGON ((94.73862639329349 26.76868496204139,... |
5 | 1 | 13 | NAGALAND | 1.0 | MON | 44 | Phomching | 1 | NAGALAND | 1301 | Pre delimitation | 0.356973 | 0.007281 | POLYGON ((95.20991815389976 26.72866549251853,... |
6 | 1 | 13 | NAGALAND | 1.0 | MON | 46 | Mon Town | 1 | NAGALAND | 1301 | Pre delimitation | 0.492124 | 0.011957 | POLYGON ((94.96949610236328 26.72373432897615,... |
7 | 1 | 13 | NAGALAND | 1.0 | MON | 47 | Aboi | 1 | NAGALAND | 1301 | Pre delimitation | 0.664703 | 0.016869 | POLYGON ((94.99003335425596 26.62768812660579,... |
8 | 1 | 13 | NAGALAND | 3.0 | MOKOKCHUNG | 30 | Alungtaki | 1 | NAGALAND | 1301 | Pre delimitation | 1.111287 | 0.031180 | POLYGON ((94.52707905005815 26.69958256688199,... |
9 | 1 | 13 | NAGALAND | 1.0 | MON | 45 | Tehok | 1 | NAGALAND | 1301 | Pre delimitation | 0.580774 | 0.011101 | POLYGON ((95.12053707632509 26.62556110945769,... |
10 | 1 | 13 | NAGALAND | 2.0 | TUENSANG | 50 | Longleng | 1 | NAGALAND | 1301 | Pre delimitation | 0.725516 | 0.022976 | POLYGON ((94.73277705341832 26.59490452672259,... |
11 | 1 | 13 | NAGALAND | 3.0 | MOKOKCHUNG | 22 | Arkakong | 1 | NAGALAND | 1301 | Pre delimitation | 0.576670 | 0.016012 | POLYGON ((94.73272983001772 26.59489452536212,... |
12 | 1 | 13 | NAGALAND | 3.0 | MOKOKCHUNG | 29 | Jangpetkong | 1 | NAGALAND | 1301 | Pre delimitation | 0.790225 | 0.019501 | POLYGON ((94.59166983429549 26.54138626746231,... |
13 | 1 | 13 | NAGALAND | 1.0 | MON | 48 | Moka | 1 | NAGALAND | 1301 | Pre delimitation | 0.613600 | 0.013579 | POLYGON ((95.11353174969054 26.53153183372717,... |
14 | 1 | 13 | NAGALAND | 5.0 | WOKHA | 40 | Bhandari | 1 | NAGALAND | 1301 | Pre delimitation | 2.105271 | 0.078391 | POLYGON ((94.22785725650726 26.50144543915576,... |
15 | 1 | 13 | NAGALAND | 2.0 | TUENSANG | 51 | Noksen | 1 | NAGALAND | 1301 | Pre delimitation | 0.883926 | 0.020589 | POLYGON ((94.68651101617053 26.5247634442776, ... |
16 | 1 | 13 | NAGALAND | 2.0 | TUENSANG | 55 | Tobu | 1 | NAGALAND | 1301 | Pre delimitation | 0.675198 | 0.024041 | POLYGON ((95.02478163826203 26.4871035152151, ... |
17 | 1 | 13 | NAGALAND | 3.0 | MOKOKCHUNG | 24 | Angetyongpang | 1 | NAGALAND | 1301 | Pre delimitation | 0.680903 | 0.013847 | POLYGON ((94.69043964607289 26.4755964063491, ... |
18 | 1 | 13 | NAGALAND | 3.0 | MOKOKCHUNG | 23 | Impur | 1 | NAGALAND | 1301 | Pre delimitation | 0.449900 | 0.013073 | POLYGON ((94.60467622003159 26.4561825093154, ... |
19 | 1 | 13 | NAGALAND | 2.0 | TUENSANG | 56 | Noklak | 1 | NAGALAND | 1301 | Pre delimitation | 0.876690 | 0.032109 | POLYGON ((95.10811841912982 26.39522082138387,... |
20 | 1 | 13 | NAGALAND | 3.0 | MOKOKCHUNG | 28 | Koridang | 1 | NAGALAND | 1301 | Pre delimitation | 0.752880 | 0.016517 | POLYGON ((94.4926679209878 26.34862624470549, ... |
21 | 1 | 13 | NAGALAND | 2.0 | TUENSANG | 52 | Longkhim Chare | 1 | NAGALAND | 1301 | Pre delimitation | 0.784452 | 0.027747 | POLYGON ((94.65750690711815 26.34742268291052,... |
22 | 1 | 13 | NAGALAND | 2.0 | TUENSANG | 54 | Tuensang Sadar-II | 1 | NAGALAND | 1301 | Pre delimitation | 1.078362 | 0.043857 | POLYGON ((94.91999992425718 26.34637312911667,... |
23 | 1 | 13 | NAGALAND | 3.0 | MOKOKCHUNG | 25 | Monguya | 1 | NAGALAND | 1301 | Pre delimitation | 0.608629 | 0.008306 | POLYGON ((94.62470017936982 26.32930194712719,... |
24 | 1 | 13 | NAGALAND | 3.0 | MOKOKCHUNG | 27 | Mokokchung Town | 1 | NAGALAND | 1301 | Pre delimitation | 0.131384 | 0.001076 | POLYGON ((94.54252940101111 26.33431455507269,... |
25 | 1 | 13 | NAGALAND | 3.0 | MOKOKCHUNG | 26 | Aonglenden | 1 | NAGALAND | 1301 | Pre delimitation | 0.314304 | 0.003474 | POLYGON ((94.52133995267673 26.30919024633283,... |
26 | 1 | 13 | NAGALAND | 2.0 | TUENSANG | 53 | Tuensang Sadar-I | 1 | NAGALAND | 1301 | Pre delimitation | 0.288725 | 0.004838 | POLYGON ((94.79527878988432 26.30946500720438,... |
27 | 1 | 13 | NAGALAND | 5.0 | WOKHA | 39 | Sanis | 1 | NAGALAND | 1301 | Pre delimitation | 1.148655 | 0.030105 | POLYGON ((94.34819933373234 26.25056504923771,... |
28 | 1 | 13 | NAGALAND | 4.0 | ZUNHEBOTO | 31 | Akuluto | 1 | NAGALAND | 1301 | Pre delimitation | 0.620547 | 0.014271 | POLYGON ((94.48322360598468 26.29239831283195,... |
29 | 1 | 13 | NAGALAND | 4.0 | ZUNHEBOTO | 33 | Suruhuto | 1 | NAGALAND | 1301 | Pre delimitation | 0.568226 | 0.013466 | POLYGON ((94.5081128643173 26.21370854751149, ... |
... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... |
4152 | 78 | 9 | UTTAR PRADESH | 45.0 | ALLAHABAD | 258 | Handia | 78 | BHADOHI | 978 | None | 1.221541 | 0.026459 | POLYGON ((82.33191633527071 25.44923534473543,... |
4153 | 52 | 9 | UTTAR PRADESH | 45.0 | ALLAHABAD | 263 | Allahabad South | 52 | ALLAHABAD | 952 | None | 0.308595 | 0.002585 | POLYGON ((81.87433344513244 25.45406652075337,... |
4154 | 76 | 9 | UTTAR PRADESH | 67.0 | VARANASI | 386 | Shivpur | 76 | CHANDAULI | 976 | None | 1.126150 | 0.024123 | POLYGON ((83.12710597246274 25.44357179220452,... |
4155 | 78 | 9 | UTTAR PRADESH | 68.0 | SANT RAVIDAS NAGAR * | 393 | Gyanpur | 78 | BHADOHI | 978 | None | 1.422333 | 0.030785 | POLYGON ((82.38944645219209 25.44594297618744,... |
4156 | 52 | 9 | UTTAR PRADESH | 45.0 | ALLAHABAD | 260 | Karachhana | 52 | ALLAHABAD | 952 | None | 1.157874 | 0.032931 | POLYGON ((81.82137715063504 25.41293949925853,... |
4157 | 48 | 9 | UTTAR PRADESH | 40.0 | BANDA | 234 | Naraini (SC) | 48 | BANDA | 948 | None | 3.475376 | 0.107559 | POLYGON ((80.74833097129732 25.40767615672928,... |
4158 | 77 | 9 | UTTAR PRADESH | 67.0 | VARANASI | 391 | Sevapuri | 77 | VARANASI | 977 | None | 1.211015 | 0.024156 | POLYGON ((82.82223038402503 25.38401144946886,... |
4159 | 48 | 9 | UTTAR PRADESH | 41.0 | CHITRAKOOT * | 237 | Manikpur | 48 | BANDA | 948 | None | 3.417139 | 0.175099 | POLYGON ((81.49776040481891 25.26790492816997,... |
4160 | 77 | 9 | UTTAR PRADESH | 67.0 | VARANASI | 387 | Rohaniya | 77 | VARANASI | 977 | None | 0.985821 | 0.020446 | POLYGON ((82.86353564485421 25.37710985873304,... |
4161 | 77 | 9 | UTTAR PRADESH | 67.0 | VARANASI | 388 | Varanasi North | 77 | VARANASI | 977 | None | 0.340793 | 0.004158 | POLYGON ((83.03745467379423 25.33332910065752,... |
4162 | 78 | 9 | UTTAR PRADESH | 68.0 | SANT RAVIDAS NAGAR * | 394 | Aurai (SC) | 78 | BHADOHI | 978 | None | 1.053042 | 0.019486 | POLYGON ((82.47639097046698 25.35226362756441,... |
4163 | 52 | 9 | UTTAR PRADESH | 45.0 | ALLAHABAD | 264 | Bara (SC) | 52 | ALLAHABAD | 952 | None | 1.644742 | 0.084295 | POLYGON ((81.74993347485002 25.34606069764311,... |
4164 | 77 | 9 | UTTAR PRADESH | 67.0 | VARANASI | 389 | Varanasi South | 77 | VARANASI | 977 | None | 0.122368 | 0.000584 | POLYGON ((83.03745467379423 25.33332910065752,... |
4165 | 76 | 9 | UTTAR PRADESH | 66.0 | CHANDAULI * | 380 | Mughalsarai | 76 | CHANDAULI | 976 | None | 1.052822 | 0.022884 | POLYGON ((83.13732327095227 25.32277610952985,... |
4166 | 52 | 9 | UTTAR PRADESH | 45.0 | ALLAHABAD | 259 | Meja | 52 | ALLAHABAD | 952 | None | 1.208045 | 0.044396 | POLYGON ((82.22175459799638 25.27342988168374,... |
4167 | 77 | 9 | UTTAR PRADESH | 67.0 | VARANASI | 390 | Varanasi Cantt. | 77 | VARANASI | 977 | None | 0.336326 | 0.003619 | POLYGON ((83.00090658107393 25.31745955051787,... |
4168 | 79 | 9 | UTTAR PRADESH | 69.0 | MIRZAPUR | 397 | Majhawan | 79 | MIRZAPUR | 979 | None | 1.703413 | 0.061997 | POLYGON ((82.64149998793414 25.2505412587721, ... |
4169 | 79 | 9 | UTTAR PRADESH | 69.0 | MIRZAPUR | 395 | Chhanbey (SC) | 79 | MIRZAPUR | 979 | None | 3.353915 | 0.134513 | POLYGON ((82.34662684725123 25.20696243626747,... |
4170 | 46 | 9 | UTTAR PRADESH | 37.0 | LALITPUR | 226 | Lalitpur | 46 | JHANSI | 946 | None | 2.682238 | 0.192485 | POLYGON ((78.58016882513124 25.19122700562184,... |
4171 | 80 | 9 | UTTAR PRADESH | 66.0 | CHANDAULI * | 383 | Chakia (SC) | 80 | ROBERTSGANJ (SC) | 980 | None | 2.112128 | 0.119383 | POLYGON ((83.31480632035544 25.2531978102308, ... |
4172 | 79 | 9 | UTTAR PRADESH | 69.0 | MIRZAPUR | 396 | Mirzapur | 79 | MIRZAPUR | 979 | None | 1.020419 | 0.024429 | POLYGON ((82.57645444171919 25.24636920127767,... |
4173 | 79 | 9 | UTTAR PRADESH | 69.0 | MIRZAPUR | 398 | Chunar | 79 | MIRZAPUR | 979 | None | 1.443258 | 0.037048 | POLYGON ((83.03014026905822 25.24342130365028,... |
4174 | 52 | 9 | UTTAR PRADESH | 45.0 | ALLAHABAD | 265 | Koraon (SC) | 52 | ALLAHABAD | 952 | None | 1.939929 | 0.108972 | POLYGON ((81.96441033357007 25.1558874632359, ... |
4175 | 79 | 9 | UTTAR PRADESH | 69.0 | MIRZAPUR | 399 | Marihan | 79 | MIRZAPUR | 979 | None | 2.946889 | 0.145359 | POLYGON ((83.13272370903201 25.12748348347606,... |
4176 | 46 | 9 | UTTAR PRADESH | 37.0 | LALITPUR | 227 | Mehroni (SC) | 46 | JHANSI | 946 | None | 3.339006 | 0.256947 | POLYGON ((78.77402903711044 24.85108140048629,... |
4177 | 80 | 9 | UTTAR PRADESH | 70.0 | SONBHADRA | 400 | Ghorawal | 80 | ROBERTSGANJ (SC) | 980 | None | 2.354558 | 0.104874 | POLYGON ((83.09301859303372 24.79781630937521,... |
4178 | 80 | 9 | UTTAR PRADESH | 70.0 | SONBHADRA | 401 | Robertsganj | 80 | ROBERTSGANJ (SC) | 980 | None | 2.316555 | 0.161227 | POLYGON ((83.39349552090164 24.78226446543277,... |
4179 | 80 | 9 | UTTAR PRADESH | 70.0 | SONBHADRA | 402 | Obra | 80 | ROBERTSGANJ (SC) | 980 | None | 2.437449 | 0.135870 | POLYGON ((83.09499108776856 24.65526460727585,... |
4180 | 80 | 9 | UTTAR PRADESH | 70.0 | SONBHADRA | 403 | Duddhi (SC) | 80 | ROBERTSGANJ (SC) | 980 | None | 2.631747 | 0.202402 | POLYGON ((83.27368541514983 24.36496680167659,... |
4181 | 29 | 33 | TAMIL NADU | 20.0 | THIRUVARUR | 169 | Nannilam | 29 | NAGAPATTINAM (SC) | 3329 | None | 1.453697 | 0.033369 | POLYGON ((79.74810744410331 10.99637622558237,... |
4182 rows × 14 columns
# Join files and ouput
files = ['Colleges_geocoded.shp', 'standalone_geocoded.shp', 'university_geocoded.shp']
for file in files:
filepath = os.path.join(output_folder, file)
df = gpd.read_file(filepath)
# Spatial Join
joined_df = gpd.sjoin(df, ac_gdf, how='inner', op='within')
## To csv
joined_df.to_csv(os.path.join(output_folder, file+".csv"), encoding='utf-8', index=False)
## To Shapefile
joined_df.to_file(driver = 'ESRI Shapefile', filename= filepath )