Hi All, Sharing about a recent collaboration I did with Rajesvari Parasa to turn a development plan PDF into an web based interactive map. Spinoffs from here may be useful to the data community.
Here's the output: https://draftmpd41.github.io/ Sharing what went into it: 1. Extracting from PDF - It's one of those PDFs exported from Autocad or so where you can see multi-layers and turn them on or off. - Rajesvari used a command-line GIS tool called "ogr2ogr <https://duckduckgo.com/?t=lm&q=ogr2ogr&ia=web>" to extract individual layers from the PDF into .geojson shapefiles. - There was a tricky bit where the output lat-longs were all like (716882.20,3166456.28) - a different CRS and we didn't know which. - I used http://projfinder.com/ to find it, then Rajesvari included CRS conversion into the ogr2ogr commands to produce proper shapefiles. - You can see all that in this repo: https://github.com/draftmpd41/layers_draft_delhi_master_plan_2041 - see the .bat file for the ogr2ogr commands 2. Poor person's GIS system - I cobbled together a static website (html + vanilla javascript) that mimics those geoserver-driven multiple-layers-groups sites like we see at Bhuvan and various municipal corporations' GIS portals. - Code: https://github.com/draftmpd41/draftmpd41.github.io - Parameterised the whole thing: By editing a small JS file and CSV table, you can repurpose this to make it yours. - The site is static, as in: no backend. Can run it anywhere. - Loads layers only when user clicks on them first time. So, site loads quickly even if data is heavy. - Disclaimer: if you don't want your site visitors grabbing all the data, then please go the geoserver way. This one's for open sharing (F12 > Network > XHR) 3. Developed but not deployed: Citizens inputs layer - Here, I added in a citizens' inputs form to capture geo-located comments. The comments go to a backend program where they're saved in a basic MySQL DB. - We haven't activated this because there aren't any people on board to admin the thing (moderation, spam prevention etc - nightmare). - But the setup is simple and can be useful for others who want to do this, so sharing it. - Frontend with additional section and inputs layer: https://github.com/draftmpd41/frontend-with-inputs - Backend code: https://github.com/draftmpd41/draftmpd41_backend (in python3) - It's setup such that frontend and backend can be hosted separately. - Disclaimer. It's simple and basic. No user accounts or spam prevention. Moderation would have to be through phpMyAdmin on the backend server. -- Cheers, Nikhil VJ https://nikhilvj.co.in -- 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/CAH7jeuO9FPhfgNCMvBgAhqaw-74CNAkKRjNpDV3Me6TXzSHsYw%40mail.gmail.com.
