In [1]:
# Import Libraries
import pandas as pd
import geopandas as gpd
import lxml
import os
import time
import datetime
import json
import gc
In [2]:
# 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)
    
In [3]:
# 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
Out[3]:
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

In [4]:
# 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 )
C:\Users\sandyjones\AppData\Local\conda\conda\envs\geo\lib\site-packages\numpy\lib\function_base.py:2831: RuntimeWarning: invalid value encountered in ? (vectorized)
  outputs = ufunc(*inputs)
In [ ]:
 
In [ ]: