Ujaval Gandhi

2.6K posts

Ujaval Gandhi banner
Ujaval Gandhi

Ujaval Gandhi

@spatialthoughts

Educator | Founder @ Spatial Thoughts | Helping people learn and master geospatial tech - #QGIS, #Python, #GDAL, #EarthEngine | Ex-Google

Beigetreten Mayıs 2010
436 Folgt16.5K Follower
Angehefteter Tweet
Ujaval Gandhi
Ujaval Gandhi@spatialthoughts·
Thank you to Atlas for selecting me as one of the recipients of the Spatial Impact Award 2025 for "..commitment to making quality geospatial education accessible regardless of economic circumstances has helped democratize GIS skills globally.." atlas.co/spatial-impact…
Ujaval Gandhi tweet media
English
5
7
87
3.9K
Ujaval Gandhi
Ujaval Gandhi@spatialthoughts·
@chaitherapyamit Paid version (Pro plan). Totally worth it. Workflow is documented in detailed in the post linked above.
English
0
0
1
48
Amit
Amit@chaitherapyamit·
@spatialthoughts Great sir. Did you use the free version or the paid one. Also, if possible do share a walkthrough of your prompts
English
1
0
0
75
Ujaval Gandhi
Ujaval Gandhi@spatialthoughts·
I built a tool for my small business that would have been unthinkable just a few months ago. Claude Code handled data wrangling like a Pro and built a useful internal tool that helps me run my training academy better. Read more spatialthoughts.com/2026/03/20/tra…
English
2
3
38
1.9K
Ujaval Gandhi
Ujaval Gandhi@spatialthoughts·
@youwillmakemaps Absolutely amazing. Tried it with the map we use for our Introduction to QGIS class. The UI is surprisingly usable and intuitive. Love the design aesthetic as well!
Ujaval Gandhi tweet media
English
1
0
1
65
Evan Applegate
Evan Applegate@youwillmakemaps·
Here's a copy/paste prompt recipe and vid showing exactly how to ask an LLM for an interactive map with satellite/map layers + a georeferencer that lets you see how old maps correspond with modern geography. Today the computer can’t make good print maps (that's your hill to climb youshouldmakemaps.com ) but it can, with five bucks and twenty minutes, make good interactive maps. No software/GIS knowledge necessary, you just need a few nouns and an LLM. Scroll to the bottom for the repo/live map if you want those. I'm using Claude Code as an extension in VS Code but you can use the Claude CLI, Cursor, whatever. 1) Let's grab an old cadastral map and see who owned big tracts of a city; I found this an 1854 map of Niagara Falls, NY I found in the Library of Congress: loc.gov/resource/g3804… , grabbed the .jp2, saved as a jpg from photoshop. 2) Let's ask Claude Code for a map. You can see exactly what I did in the video but my prompt, sans simple "hey it's busted" debugging, is written out in the following paragraphs. I explain the map-specific nouns in brackets. You can likely dump this whole thing in your LLM window and it'll work; I'd try plan mode + skip permissions. THE PROMPT Make an interactive map with MapLibre GL JS [maplibre is a javascript mapping library, a FOSS version of Mapbox GL JS. This lets us display tiled map data and arbitrary images on the map] Add basemap toggles with Esri satellite, Carto Positron, and OSM [these map layers require no API keys for light usage; Carto Positron is a nice road map layer and OSM is ugly but comprehensive] Add a globe/mercator projection toggle [I think the globe looks better at low zooms] Add a layer panel on the left with visibility checkboxes and delete buttons. Add a search box on the map that flies to results, with deletable pin markers [Makes this easy to get to your area of interest] Include an interactive local georeferencer: drop a JPG, pick ground control points on a zoomable/pannable image viewer, place them on the map, watch it warp with a progress bar centered on the map. [The georeferencer uses math ("affine transform"??) to match points on the old map to points on the new map; generally you click road intersections on the old map, match them on the new map, repeat a dozen times and everything aligns] The georeferenced map overlay defaults to 25% opacity with a slider above the control point list. [I want it easy to see the underlying modern geography] Add Export/import control point buttons [this saves the control points as a JSON so you can save and reimport your work] Add a button to export the warped image as a GeoTIFF with a .prj [In case you want to add the georeferenced image to a real GIS program like QGIS] Look up all relevant docs before starting [Claude sometimes uses outdated stuff] Split everything into separate HTML/CSS/JS files [Claude tends to pile everything in index.html, which is hard to read] Use Optima font, base color #FEFAF6 [I just like this style] Let me test with a local server [it serves it on a simple server so you can nav your host to localhost:8000 and try it out] Log all errors [so you don't have to play telephone with the LLM describing what's busted] 3) Once your LLM finishes, test it out in your browser; if it doesn't work, ask the LLM to check logs. Repeat 'til functional. 4) After this works on your computer, you can show it to everyone by hosting it on GitHub: prompt with "write a README explaining what everything does, add it to a new GitHub repo, deploy using GitHub pages, gimme the live URL" Here's what Claude made for me, try it yourself: evanapplegate.github.io/simple-georefe… • Upload the JPG in the repo, which is linked below • "Add GCP" • Click somewhere recognizable on the old map, like the tip of an island or a road intersection • Click the matching point on the new map • Repeat til you have least 3x points • Hit "georeference" • You'll see the old map atop the new map; if you want a better fit, delete bad points or add a dozen new ones, hit georeference again, repeat Repo: github.com/evanapplegate/… Is this map robust? Human-maintainable? Elegant? Performant? Secure? No, but *your* personal web map need not be. It just needs to work for *your* narrow use case, because it’s *your* map. x.com/_austin_cassid…
English
2
3
40
5.1K
Ujaval Gandhi
Ujaval Gandhi@spatialthoughts·
Registration for the upcoming cohort of the Python Foundation for Spatial Analysis Course by Spatial Thoughts is now open. This will be a paid instructor-led live online class suitable for beginners. View schedule and register at spatialthoughts.com/events/python-…
English
0
0
14
796
Ujaval Gandhi
Ujaval Gandhi@spatialthoughts·
If you have a bunch of local rasters and you need to process them efficiently, XArray is a great solution. New tutorial on extracting yearly NDVI/EVI time-series from downloaded MODIS files ➡️ youtube.com/watch?v=UZlF8i…
YouTube video
YouTube
English
0
7
40
3K
Ujaval Gandhi
Ujaval Gandhi@spatialthoughts·
@RamSeraph Awesome. Thanks for your amazing contribution in making Indian geospatial data accessible.
English
0
0
1
264
Sreeram Kandimalla
Sreeram Kandimalla@RamSeraph·
Made it to @spatialthoughts bookmarks :). Anyway, this one is based on your blog.. google buildings 2023 dataset augmented with heights - #source=/google-buildings/&map=4/22.5/76.5&terrain=false&base=Carto+OSM+Dark" target="_blank" rel="nofollow noopener">indianopenmaps.com/viewer#source=…
Ujaval Gandhi@spatialthoughts

Claude Code helped me with a long-overdue personal project to organize my bookmarks into a searchable site. It fetched info, organized it and made a nice Mkdocs website and push it on Github! Couldn't have imagined it possible just a few months ago! spatialthoughts.github.io/notes/

English
2
0
1
690
Ujaval Gandhi
Ujaval Gandhi@spatialthoughts·
How can we get kids excited about coding? I have been exploring the idea of using AI-coding tools to help kids learn the fundamentals of programming! I recorded a fun video with my daughter of one of our 'Claude' sessions youtube.com/watch?v=eb6PRC…
YouTube video
YouTube
English
2
1
19
2K
Ujaval Gandhi
Ujaval Gandhi@spatialthoughts·
@Thangaul Obsidian. They were Markdown files in a folder.
English
0
0
3
646
Ujaval Gandhi
Ujaval Gandhi@spatialthoughts·
Claude Code helped me with a long-overdue personal project to organize my bookmarks into a searchable site. It fetched info, organized it and made a nice Mkdocs website and push it on Github! Couldn't have imagined it possible just a few months ago! spatialthoughts.github.io/notes/
English
9
20
331
20K
Ujaval Gandhi
Ujaval Gandhi@spatialthoughts·
@ismailsunni Ya. Still a bit wary of OpenClaw! After a few months of tinkering now I felt confident with Claude Code and gave it access to my credentials. Maybe in time, though..
English
0
0
4
1K
Ismail Sunni
Ismail Sunni@ismailsunni·
@spatialthoughts Also try openclaw (or other similar tool). You can access claude code anywhere...
English
1
0
5
1.2K
Ujaval Gandhi
Ujaval Gandhi@spatialthoughts·
New Tutorial: Similarity Search with Embeddings using open-source tooling and open datasets. A step-by-step walkthrough in using modern cloud-native and open-source workflow with XArray, Dask and Scikit-learn youtu.be/8lRjPwFGs6Y
YouTube video
YouTube
English
0
4
28
2.5K
Neeraj Khandelwal
Neeraj Khandelwal@neerajKh_·
Building for India 🇮🇳 Looking for a SAR processing expert for a consultation engagement. Objective is to set up a SAR imagery processing pipeline for a near-real-time application. Looking for someone with hands-on experience in building or operating SAR processing stacks. Photo Credit : Copernicus Data Space Ecosystem
Neeraj Khandelwal tweet media
English
8
15
126
4.9K
Ujaval Gandhi
Ujaval Gandhi@spatialthoughts·
Join the livestream of our QGIS Open Day session to learn about our journey of setting up the QGIS India User Group and interesting case studies on use of QGIS and QField youtube.com/live/-A-omz7EY…
YouTube video
YouTube
English
2
4
17
1.3K
Craig Dsouza
Craig Dsouza@dsouza_craig·
Asking a technology to fix itself still hasn't gotten old! Asked Claude why it wasn't recognising the SKILL i had written and it correctly identified that it was invalid keys in plugin.json #Buildinpublic #valuationagent
Craig Dsouza tweet mediaCraig Dsouza tweet media
English
1
0
0
30
Ujaval Gandhi
Ujaval Gandhi@spatialthoughts·
A personal milestone I’ve been looking forward to for a long time. We are proud to announce the launch of the QGIS India User Group - bringing the QGIS community in India together and creating a shared space for everyone. in.qgis.org/blog/launch-qg…
English
4
9
101
5.1K
Dixit Divyanshu
Dixit Divyanshu@Dixit13K·
@spatialthoughts Thank you Ujaval, for this post on GEE non-commercial access. I recently received a notification to update the usage type in GEE. I am curious to know if any Dask/Xarray-based plugins are available for QGIS, similar to the GEE-based plugins that have been released by @giswqs.
English
1
0
0
441
Ujaval Gandhi
Ujaval Gandhi@spatialthoughts·
Registration is open for the next 2 courses in our #QGIS track. If learning and mastering QGIS has been on your wishlist, check out our live, online instructor-led cohort-based classes. Register at spatialthoughts.com/events/
Ujaval Gandhi tweet media
English
0
4
13
1.2K