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

Katılım Mayıs 2010
437 Takip Edilen16.5K Takipçiler
Sabitlenmiş 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
4.1K
Malay Krishna
Malay Krishna@Malay4Product·
Let me explain what just happened today because it deserves so much recognition. GalaxEye is a Bengaluru startup founded in 2021 by IIT Madras engineers. Today they launched Mission Drishti on a SpaceX Falcon 9. It is India's largest privately built satellite at 190 kg. And it carries a technology that no commercial satellite has ever carried before. Normal satellites take photos of the Earth using optical cameras. Like your phone camera, but from 500 km up. The problem is obvious. Clouds. Night. Fog. Smoke. If any of these are in the way, the photo is useless. India has monsoon cover for 4 months a year. That is 4 months where optical satellites are partially or fully blind over large parts of the country. The alternative is SAR. Synthetic Aperture Radar. Instead of taking photos with light, it sends radar waves down and reads what bounces back. Radar goes through clouds, through darkness, through smoke. A SAR satellite can image a flooded village at 2 AM during a cyclone when no optical satellite can see anything. The problem with SAR is that the images look nothing like photos. They look like grainy black-and-white radar maps. A military analyst or a trained geospatial engineer can read them. A farmer, a disaster response team, or a city planner cannot. Until today, if you wanted both optical and SAR data for the same location, you needed two different satellites, passing over at different times, at different angles. Then someone had to manually align and fuse the two datasets. Expensive, slow, and the data never perfectly matched because the satellites saw the same spot minutes or hours apart. GalaxEye put both sensors on one satellite. Optical and SAR, fused into what they call OptoSAR. Three times more information than a single sensor. Processed onboard by an NVIDIA AI chip at 1.8 metre resolution. Now in practice, during the next cyclone hitting Odisha, one satellite pass gives you a clear image of which villages are flooded, which roads are cut, and which buildings are standing. Day or night. Cloud or clear. In near real-time. For defence, it means you can monitor a border area 24/7 regardless of weather. For agriculture, it means tracking crop health across an entire monsoon season without a single cloud gap. For infrastructure, it means monitoring construction progress on highways and bridges without waiting for a clear day. GalaxEye tested their SAR tech on ISRO's POEM orbital platform. The satellite was tested at ISRO facilities. IN-SPACe provided regulatory clearance. NSIL, ISRO's commercial arm, will distribute the imagery globally. And it launched on SpaceX because ISRO's PSLV doesn't have the right orbit slot for this mission. Yes, four IIT Madras graduates built a world-first satellite in 4 years in Bengaluru. Take a bow!
Tejasvi Surya@Tejasvi_Surya

A Bengaluru startup just did something no one in the world has ever done, put a satellite in orbit that sees through clouds, through the night, with optical sensor and SAR fused into one. Many many congratulations to the @Galaxeye team on the launch of Mission Drishti! This is exactly why PM Sri @narendramodi opened up the space sector, so young Indians could build an audacious future for the nation.

English
112
2.4K
9.9K
482.8K
Ujaval Gandhi
Ujaval Gandhi@spatialthoughts·
I installed Clicky and tried it with QGIS. I think this is one of the best 'AI' integrations I have seen that will genuinely improve the learning experience. See my video demo of a real geospatial use case. youtube.com/watch?v=9w3wzv…
YouTube video
YouTube
Farza 🇵🇰🇺🇸@FarzaTV

I built this thing called Clicky. It's an AI teacher that lives as a buddy next to your cursor. It can see your screen, talk to you, and even point at stuff, kinda like having a real teacher next to you. I've been using it the past few days to learn Davinci Resolve, 10/10.

English
2
13
89
10.5K
Ujaval Gandhi
Ujaval Gandhi@spatialthoughts·
We offer one of the most affordable QGIS certification programs globally. If you are looking to upskill yourself and earn official QGIS certification, join our upcoming cohort of the Advanced QGIS course starting on 23 April. Details at spatialthoughts.com/events/advance…
Ujaval Gandhi tweet mediaUjaval Gandhi tweet media
English
0
4
23
1.9K
Ujaval Gandhi
Ujaval Gandhi@spatialthoughts·
Wanted a teaching aid to explain the RTree spatial index to my class, so vibe-coded an interactive app to visualize and explain the concepts using shapely's STRtree implementation. spatialthoughts.github.io/mini-apps/spat…
Ujaval Gandhi tweet media
English
2
17
105
5.1K
Ujaval Gandhi
Ujaval Gandhi@spatialthoughts·
New Tutorial: Working with the newly released Google Groundsource flood archive data derived from news articles spanning 25 years and containing over 2.6 million records. Learn how to efficiently work with this data using #Python youtube.com/watch?v=lJHKkL…
YouTube video
YouTube
English
1
23
122
7.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
68
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
98
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
4
43
2.2K
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
1
3
268
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
5
58
15.2K
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
886
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
3.1K
Ujaval Gandhi
Ujaval Gandhi@spatialthoughts·
@RamSeraph Awesome. Thanks for your amazing contribution in making Indian geospatial data accessible.
English
0
0
1
278
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
2
836
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
2.1K
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
330
20.3K
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
29
2.6K
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
14
123
5K
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.4K
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
35