I tried to get data from that site. Actually it gives data based on pixel
position of habitats and roads for a specific block of a district. That
pixel position changes when window size is changed. For this reason if we
resize the window that page reloads. One way I tried is looping thorugh all
pixels in the present window. But as my resource is limited I can't run it
for whole page.
The format of URL is
-
http://www.pmgsy-grris.nic.in/MapController.ashx?&Command=FeatureSelection&Points=1,1000_500&MapAlias=Map1
Here it is checking for (1000,500) pixel when the window size is 1366x608.
I have written a code to check for data in (1,1) , (2,2) , .... (600,600)
for a specific block. I got some data also saved in two csv files roads and
habitat.
Anybody interested can extend and modify this code.
On Tuesday, May 5, 2020 at 10:00:07 AM UTC+5:30, Deepak Sharda wrote:
>
> dear group members
>
> We are privileged to have gems among us who know how to extract data from
> this website
>
> Kindly help me with data
>
> http://www.pmgsy-grris.nic.in/gis.aspx
>
> whole of India with habitation code.
>
> I am willing to pay for shape files format.
>
> thank you
>
> Regards
>
>
>
>
--
Datameet is a community of Data Science enthusiasts in India. Know more about
us by visiting http://datameet.org
---
You received this message because you are subscribed to the Google Groups
"datameet" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/datameet/119e48f8-e115-4f64-b747-2340c4fe2359o%40googlegroups.com.
,HabitationName,District,Block,TotalPopulation,SCSTPopulation,CensusYear,Connected,ConnectedBeforePMGSY,ConnectedAfterPMGSY,PMGSYScheme,PrimarySchool,MiddleSchool,HighSchool,IntermediateSchool,ITI,DegreeCollege,HealthService,Dispaensary,MCWCenters,PHCS,VetraryHospital,TelegraphOffice,TeleConnection,BusService,RailwayStation,Electricity,BlockHQ,SubTahsil,TouristPlace,PetrolPump,Mandi,Warehouse,RetailShop,Desert,Tribal,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
0,Pashapara,South 24-Parganas,Sonarpur,611,491,2001,Y,Y,Y,PMGSY I,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
0,Chalkjagaddal,South 24-Parganas,Sonarpur,1140,953,2001,Y,Y,Y,PMGSY I,Y,N,N,N,N,N,Y,N,Y,N,N,N,Y,N,N,Y,N,N,N,N,N,N,N,N,N,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
0,Nayapattan,South 24-Parganas,Sonarpur,665,431,2001,Y,Y,Y,PMGSY I,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
0,Srirampur,South 24-Parganas,Baruipur,951,0,2001,N,N,Y,PMGSY I,N,N,N,N,N,N,N,N,Y,N,N,N,N,N,N,Y,N,N,N,N,N,N,N,N,N,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
0,Bhurkul,South 24-Parganas,Baruipur,482,480,2001,N,N,Y,PMGSY I,Y,N,N,N,N,N,N,N,Y,N,N,N,Y,N,N,Y,N,N,N,N,N,N,N,N,N,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
0,Madhabpur,South 24-Parganas,Baruipur,1207,1083,2001,N,N,Y,PMGSY I,Y,N,N,N,N,N,N,N,Y,N,N,N,Y,N,N,Y,N,N,N,N,N,N,N,N,N,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
0,Fuldubi,South 24-Parganas,Baruipur,607,364,2001,Y,Y,Y,PMGSY I,Y,N,N,N,N,N,Y,N,Y,N,N,N,N,N,N,Y,N,N,N,N,N,N,N,N,N
0,Sasari,South 24-Parganas,Baruipur,1209,760,2001,N,N,Y,PMGSY I,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
0,PMGSY I,T01,South 24-Parganas,Sonarpur,Sonarpur to Uttar ray pur road,0.500,10.000,9.500,Through Route,Dakshin Kalikapur(C)(Pop:1784); Hasanpur(C)(Pop:1249); Jardaha(C)(Pop:1235); Mathurapur(C)(Pop:1392); Mathurapur West(C)(Pop:1665); Murapukur(C)(Pop:1520); Ramchandrapur(C)(Pop:702)
0,PMGSY I,T01,South 24-Parganas,Sonarpur,Sonarpur to Uttar ray pur road,0.500,10.000,9.500,Through Route,Dakshin Kalikapur(C)(Pop:1784); Hasanpur(C)(Pop:1249); Jardaha(C)(Pop:1235); Mathurapur(C)(Pop:1392); Mathurapur West(C)(Pop:1665); Murapukur(C)(Pop:1520); Ramchandrapur(C)(Pop:702)
0,PMGSY I,T02,South 24-Parganas,Sonarpur,Rampur to Manikpur via Chakharinavi,0.000,6.000,6.000,Through Route,Bhabanipur(C)(Pop:3182); Bidyadharpur(C)(Pop:708); Malipukur(C)(Pop:1167); Mollapara(C)(Pop:2182); Nayapattan(C)(Pop:665); Rampur and Mukundapur(C)(Pop:869)
0,PMGSY I,T02,South 24-Parganas,Sonarpur,Rampur to Manikpur via Chakharinavi,0.000,6.000,6.000,Through Route,Bhabanipur(C)(Pop:3182); Bidyadharpur(C)(Pop:708); Malipukur(C)(Pop:1167); Mollapara(C)(Pop:2182); Nayapattan(C)(Pop:665); Rampur and Mukundapur(C)(Pop:869)
0,PMGSY I,L065,South 24-Parganas,Baruipur,South Garia Champahati Road,0.000,5.750,5.750,Link Route,
0,PMGSY I,L061,South 24-Parganas,Baruipur,Part of L061 start from Mallickpur to Ganashpur via Panchghara via Serampore via Akna Mirzapur,0.000,3.000,3.000,Link Route,Faridpur(C)(Pop:2906); Mollickpur(C)(Pop:3000); Panchghara(C)(Pop:2990); Panchghara Sarder Para(C)(Pop:2162); Pirtala(C)(Pop:3000); Purba Mallickpur(C)(Pop:2916); Srirampur(U)(Pop:951)
0,PMGSY I,L062,South 24-Parganas,Baruipur,Mallickpur PWD Road,0.750,3.750,3.000,Link Route,
0,PMGSY I,L062,South 24-Parganas,Baruipur,Part of L062 to Bhurkul via Maduanbanpur,0.000,1.250,1.250,Link Route,
0,PMGSY I,L070,South 24-Parganas,Baruipur,Atghora on L068 to Tagarberia,0.000,3.000,3.000,Link Route,Atghara(C)(Pop:978); Tagarbaria(U)(Pop:1064)
0,PMGSY I,T03,South 24-Parganas,Baruipur,Baruipur Chakberia road,1.000,10.000,9.000,Through Route,Akna Mirzapur(U)(Pop:1503); Bhanta(U)(Pop:1457); Bhurkul(U)(Pop:482); Dandapur(U)(Pop:651); Dhalipara(C)(Pop:2342); Ganeshpur(U)(Pop:2225); Garia Bagdipara(U)(Pop:1500); Gordaha(U)(Pop:1193); Himchi(U)(Pop:3000); Kamra(U)(Pop:949); Kazirabad(U)(Pop:2420); Kbutiberia(U)(Pop:1884); Keyatala(U)(Pop:2246); Kholapota(U)(Pop:895); Madhuanbanpur(U)(Pop:1007); Mamudpur(C)(Pop:1080); Nabagram(U)(Pop:3000); Ramchandrapur(U)(Pop:1070); Salepara(U)(Pop:1700); Tegachi Mamudpur(U)(Pop:2170); Teurhat(U)(Pop:1889)
0,PMGSY I,L074,South 24-Parganas,Baruipur,Dedangi to Paschim Madhabpur,0.000,7.000,7.000,Link Route,
0,PMGSY I,L025,South 24-Parganas,Baruipur,Jamtala on T03 to Kazir Abad,0.000,5.000,5.000,Link Route,Baidyapara(C)(Pop:3000); Uttarbag(U)(Pop:3000)
0,PMGSY I,L026,South 24-Parganas,Baruipur,Chitra Shali on L025 to Phuldubi,0.000,1.250,1.250,Link Route,Bajeorancha(C)(Pop:661); Fuldubi(C)(Pop:607)
0,PMGSY I,L028,South 24-Parganas,Baruipur,Chhantuipara on T01 to Tangerberia,0.000,2.000,2.000,Link Route,Arjuna(C)(Pop:1532); Joykrishna Nagar(C)(Pop:1200); Tangerberia(C)(Pop:1267)
0,PMGSY I,T01,South 24-Parganas,Baruipur,Part of T01 Baruipur Ramnagore Uttarbag Road Start from T02,0.000,8.500,8.500,Through Route,
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.support.select import Select
from time import sleep, strftime
from random import randint
import pandas as pd
import csv
chromedriver_path = 'C:/Users/Souvik/Desktop/road/chromedriver_win321/chromedriver.exe' # Change this to your own chromedriver path!
webdriver = webdriver.Chrome(executable_path=chromedriver_path)
webdriver.maximize_window()
sleep(2)
webdriver.get('http://www.pmgsy-grris.nic.in/home.aspx')
sleep(3)
#Select State Name
s1=Select(webdriver.find_element_by_css_selector('#ddlState'))
for opt in s1.options:
s1.select_by_visible_text('West Bengal')
#Click on Proceed Button
proceed = webdriver.find_element_by_css_selector('#btnProceed')
proceed.click()
sleep(3)
ana = webdriver.find_element_by_css_selector('#Query')
ana.click()
sleep(1)
#Select District Name
dis = Select(webdriver.find_element_by_css_selector('#ddlDistrict'))
for opt in dis.options:
dis.select_by_visible_text('South 24-Parganas')
sleep(3)
#Select Block Name
block = Select(webdriver.find_element_by_css_selector('#ddlBlock'))
for opt in block.options:
block.select_by_visible_text('Sonarpur')
sleep(1)
pro1 = webdriver.find_element_by_css_selector('#btnBoundary')
pro1.click()
sleep(3)
#df = pd.DataFrame(['PMGSY','CN RD NUMBER','District','Block','CN ROAD NAME' ,'StartChainage','EndChainage' ,'RoadLength', 'RouteType','Benefited Habs'])
#a = [617,644,323,620]
#b = [205,207,324,109]
#Loop runs 600 times for same pixel value e.g. a=b=1,a=b=2 .... a=b=600.
a=range(1,600)
b=range(1,600)
useHeader = True
element1=[]
for i in range(0,len(a)):
print (i)
#num = format(a[i], ',d')
num = "1,"+str(a[i])
num = num+'_'+str(b[i])
webdriver.execute_script('''window.open("http://www.pmgsy-grris.nic.in/MapController.ashx?&Command=FeatureSelection&Points='''+num+'''&MapAlias=Map1","_blank");''')
tabs = webdriver.window_handles;
#print (tabs)
webdriver.switch_to.window(tabs[1]);
#head = webdriver.find_element_by_tag_name("table")
#file_data=[]
#head_line = head.find_element_by_tag_name("tr")
#td1 = head_line.find_element_by_tag_name("td")
file_header = [header.text for header in webdriver.find_elements_by_tag_name('td')]
#file_data.append(file_header)
#print (file_header)
title = file_header[::2]
#print (title)
element = file_header[1::2]
if (element1 == element):
webdriver.execute_script('''window.close()''')
webdriver.switch_to.window(tabs[0]);
continue
else:
#print (element)
#df = pd.DataFrame(title)
df1 = pd.DataFrame(element,title)
#print (df1)
#df.append(df1)
name = webdriver.find_element_by_tag_name("body").text
arr = name.split("\n")
if (arr[0] == "Road_CN~"):
df1.T.to_csv("road.csv" ,mode="a",header = useHeader)
useHeader = False
elif (arr[0] == "Habitation~"):
df1.T.to_csv("habitat.csv" ,mode="a",header = useHeader)
useHeader = False
else:
print ("Nothing")
element1 = element
webdriver.execute_script('''window.close()''')
webdriver.switch_to.window(tabs[0]);
#df.T.to_csv('path.csv')
#webdriver.find_element_by_tag_name('body').send_keys(Keys.COMMAND + 't');
#webdriver.get('http://www.pmgsy-grris.nic.in/MapController.ashx?&Command=FeatureSelection&Points=1,0_1&MapAlias=Map1')
#Right - 11362
#Bottom - 561