Home Web Front-end JS Tutorial Land Surface Temperature Trends: Ahmedabad vs. Delhi ()

Land Surface Temperature Trends: Ahmedabad vs. Delhi ()

Dec 31, 2024 pm 12:57 PM

I grew up in India and moved to the USA when I was about 14. After moving, we didn’t visit India for almost 6–7 years. Recently, my family decided to go back during the summer, from May to July 2023. When we arrived, one thing stood out to me immediately: it felt much hotter than I remembered. As I looked around, I realized why—much of the greenery I had grown up seeing was gone, replaced by towering buildings and sprawling apartment complexes. It was a stark reminder of how much the landscape had changed and left me thinking about the impact of rapid urbanization on the environment and the climate.

Let’s get started with the details!

During my recent visit to India, I decided to explore the Urban Heat Island (UHI) effect by analyzing the Land Surface Temperatures (LST) of Ahmedabad and Delhi—two cities close to my heart. Below is a snapshot of these cities to set the stage:

Land Surface Temperature Trends: Ahmedabad vs. Delhi ()

The timeline I chose for this analysis was:

2013: My starting point, marking a 10-year study period.
2016: The year I left India for the USA.
2023: My most recent visit, which inspired this project.

For this study, I relied on two main data sources:
  • Satellite data from Google Earth Engine to retrieve cloud and temperature data.
  • Weather records from airport meteorological databases for cross-validation.

Part 1: Data collection and preparation:

For this project, I used data from different sources to study the Urban Heat Island (UHI) effect in Ahmedabad and Delhi. My main focus was on Land Surface Temperature (LST) and cloud data, which I collected using Google Earth Engine, and weather records from airports.

Using Google Earth Engine

I collected temperature data from WeatherSpark, a platform that provides detailed historical weather records. Using data specific to Ahmedabad and Delhi, I focused on the month of May—from 2013 to 2023—since May is typically the hottest month of the year in both cities. This allowed me to analyze how temperatures have evolved during the peak of summer over the last decade.

  • weatherspark.com
Delhi's May Temperature: 2013, 2016, 2023

Land Surface Temperature Trends: Ahmedabad vs. Delhi ()

Ahmedabad's May Temperature: 2013, 2016, 2023

Land Surface Temperature Trends: Ahmedabad vs. Delhi ()

I also used cloud data to make sure my temperature results were accurate. Clouds can block satellite readings and make it harder to get correct land surface temperatures. To fix this, I used Google Earth Engine to filter out areas with heavy clouds. This helped me clean up the data and focus only on clear readings, making my results more reliable.

Here’s an example of the code I used to extract cloud data. If you plan to use this code in Google Earth Engine, make sure to adjust the longitude and latitude, the date range (out of 365 days), and the buffer zone according to your preferences:

//area of study
var ahmedabad = ee.Geometry.Point([72.5713621, 23.022505]).buffer(30000); // buffer zone
var delhi = ee.Geometry.Point([77.1025, 28.7041]).buffer(30000); //buffer zone         

//Date
var DATE_RANGE = ee.Filter.dayOfYear(121, 151); 
var YEAR_RANGE = ee.Filter.calendarRange(2013, 2023, 'year');

var L8 = ee.ImageCollection('LANDSAT/LC08/C02/T1_L2') //Might want to change statelite according to your needs
  .select(['ST_B10', 'QA_PIXEL']) // Temperature and QA bands
  .filter(DATE_RANGE)
  .filter(YEAR_RANGE);

// Cloud masking function
function cloudMask(image) {
  var qa = image.select('QA_PIXEL');
  var mask = qa.bitwiseAnd(1 << 3).or(qa.bitwiseAnd(1 << 4)); // Cloud and shadow bits
  return image.updateMask(mask.not());
}

// cloud mask and filter by region
var L8_filtered = L8.map(cloudMask);

// Temperature conversion (Kelvin to Fahrenheit)
function kelvinToFahrenheit(image) {
  return image.select('ST_B10')
    .multiply(0.00341802) // Scale factor
    .add(149.0)          // Offset
    .subtract(273.15)    // Convert Kelvin to Celsius
    .multiply(9 / 5)     // Convert Celsius to Fahrenheit
    .add(32)             // Add Fahrenheit offset
    .rename('LST_Fahrenheit');
}

var ahmedabadLST = L8_filtered.filterBounds(ahmedabad).map(kelvinToCelsius).mean().clip(ahmedabad);
var delhiLST = L8_filtered.filterBounds(delhi).map(kelvinToCelsius).mean().clip(delhi);

// Visualization parameters //change the colors as you like
var visualizationParams = {
  min: 20, max: 45,
  palette: ['blue', 'yellow', 'red']
};

Map.centerObject(ahmedabad, 8);
Map.addLayer(ahmedabadLST, visualizationParams, 'Ahmedabad LST');
Map.addLayer(delhiLST, visualizationParams, 'Delhi LST');

// Export results to Google Drive
Export.image.toDrive({
  image: ahmedabadLST,
  description: 'Ahmedabad_LST_2013_2023',
  region: ahmedabad,
  scale: 30,
  maxPixels: 1e13,
  fileFormat: 'GeoTIFF'
});

Export.image.toDrive({
  image: delhiLST,
  description: 'Delhi_LST_2013_2023',
  region: delhi,
  scale: 30,
  maxPixels: 1e13,
  fileFormat: 'GeoTIFF'
});

// Calculate and print summary statistics
var ahmedabadStats = ahmedabadLST.reduceRegion({
  reducer: ee.Reducer.minMax().combine(ee.Reducer.mean(), null, true),
  geometry: ahmedabad,
  scale: 30
});
print('Ahmedabad Temperature Stats:', ahmedabadStats);

var delhiStats = delhiLST.reduceRegion({
  reducer: ee.Reducer.minMax().combine(ee.Reducer.mean(), null, true),
  geometry: delhi,
  scale: 30
});
print('Delhi Temperature Stats:', delhiStats);
Copy after login

Below is the picture of Cloud coverage Data

Delhi's May Cloud Data: Overview (2013, 2023, and 10-Year Analysis)

Land Surface Temperature Trends: Ahmedabad vs. Delhi ()

Ahmedabad's May Cloud Data: Overview (2013, 2023, and 10-Year Analysis)

Land Surface Temperature Trends: Ahmedabad vs. Delhi ()

Using Weather Records
To make sure the satellite data was correct, I compared it with weather records from airports in Ahmedabad and Delhi. These records gave me real temperature readings, which helped me confirm that the satellite data was accurate.

Part 2: Visualizing Data with ArcGIS Pro

After processing the cloud and temperature data in Google Earth Engine, the next step was to bring this data into ArcGIS Pro for advanced visualization. This was an essential part of the project because raw data can be difficult to interpret, but creating heat maps makes it easier for everyone to understand.

To create the visualizations, I first imported the cloud-filtered Land Surface Temperature (LST) data from Google Earth Engine into ArcGIS Pro. This data, which included detailed temperature readings, had already been refined to remove interference caused by cloud cover. This preprocessing ensured that the data was clean and reliable for creating accurate visualizations.

Once the data was imported, I used ArcGIS Pro to generate heat maps. These maps were created by applying a color gradient to represent different temperature ranges. For example, cooler areas were marked with colors like orange (≤70°F), light blue (≤80°F), and green (≤90°F). As the temperatures increased, warmer colors were used, such as yellow (≤120°F) and red for temperatures exceeding 140°F. The key, or legend, provided with the maps clearly showed these color-coded temperature ranges, making the visualizations easy to interpret.

Below is the picture of the Legend

Land Surface Temperature Trends: Ahmedabad vs. Delhi ()

I created heat maps for Ahmedabad and Delhi to show how temperatures vary across each city. Built-up areas, like industrial zones or city centers, appeared much hotter and were shown in red, while parks and green spaces were cooler and displayed in green or blue. These heat maps clearly highlighted the impact of urbanization and greenery on surface temperatures.

I then refined the heat maps using ArcGIS Pro by adjusting the temperature colors and adding a north arrow for direction. These changes made it easier to understand the distribution of heat across Ahmedabad and Delhi.

Below is the picture of the Ahmedabad's visualization

Land Surface Temperature Trends: Ahmedabad vs. Delhi ()

Below is the picture of the Delhi's visualization

Land Surface Temperature Trends: Ahmedabad vs. Delhi ()

Conclusion: Ahmedabad and Delhi Heat Trends

The results of this project showed that Ahmedabad has become much hotter over the past 10 years, especially in May, the hottest month of the year. Using heat maps in ArcGIS Pro, I found that areas with lots of buildings and little greenery were the hottest, shown in dark red, while parks and green spaces were cooler, shown in green or blue. The temperatures were analyzed in Fahrenheit.

Ahmedabad is particularly hot because it is a growing city with rapid urbanization and shrinking green spaces. One noticeable feature in the heat map is the Sabarmati River, visible as a cooler blue line cutting through the city. In contrast, Delhi, as the capital, is more developed and shows slightly lower temperatures, though it remains densely populated and heavily built-up. Both cities show dense urbanization and large populations, as seen in the images included in the poster.

The data also highlighted how green spaces and vegetation help cool cities. On clear days without clouds, temperatures were higher, especially in areas without trees or parks. This shows how important greenery is for keeping cities cooler.

In conclusion, Ahmedabad is becoming hotter as it grows, while Delhi remains warm due to its dense population and infrastructure. To make cities more livable, we need to focus on creating more parks, planting trees, and protecting green spaces. These steps can help reduce heat and improve quality of life in urban areas.

Below is the Poster of the results

Land Surface Temperature Trends: Ahmedabad vs. Delhi ()

The above is the detailed content of Land Surface Temperature Trends: Ahmedabad vs. Delhi (). For more information, please follow other related articles on the PHP Chinese website!

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Roblox: Bubble Gum Simulator Infinity - How To Get And Use Royal Keys
3 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
Mandragora: Whispers Of The Witch Tree - How To Unlock The Grappling Hook
3 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
Nordhold: Fusion System, Explained
3 weeks ago By 尊渡假赌尊渡假赌尊渡假赌

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

Hot Topics

Java Tutorial
1669
14
PHP Tutorial
1273
29
C# Tutorial
1256
24
Python vs. JavaScript: The Learning Curve and Ease of Use Python vs. JavaScript: The Learning Curve and Ease of Use Apr 16, 2025 am 12:12 AM

Python is more suitable for beginners, with a smooth learning curve and concise syntax; JavaScript is suitable for front-end development, with a steep learning curve and flexible syntax. 1. Python syntax is intuitive and suitable for data science and back-end development. 2. JavaScript is flexible and widely used in front-end and server-side programming.

From C/C   to JavaScript: How It All Works From C/C to JavaScript: How It All Works Apr 14, 2025 am 12:05 AM

The shift from C/C to JavaScript requires adapting to dynamic typing, garbage collection and asynchronous programming. 1) C/C is a statically typed language that requires manual memory management, while JavaScript is dynamically typed and garbage collection is automatically processed. 2) C/C needs to be compiled into machine code, while JavaScript is an interpreted language. 3) JavaScript introduces concepts such as closures, prototype chains and Promise, which enhances flexibility and asynchronous programming capabilities.

JavaScript and the Web: Core Functionality and Use Cases JavaScript and the Web: Core Functionality and Use Cases Apr 18, 2025 am 12:19 AM

The main uses of JavaScript in web development include client interaction, form verification and asynchronous communication. 1) Dynamic content update and user interaction through DOM operations; 2) Client verification is carried out before the user submits data to improve the user experience; 3) Refreshless communication with the server is achieved through AJAX technology.

JavaScript in Action: Real-World Examples and Projects JavaScript in Action: Real-World Examples and Projects Apr 19, 2025 am 12:13 AM

JavaScript's application in the real world includes front-end and back-end development. 1) Display front-end applications by building a TODO list application, involving DOM operations and event processing. 2) Build RESTfulAPI through Node.js and Express to demonstrate back-end applications.

Understanding the JavaScript Engine: Implementation Details Understanding the JavaScript Engine: Implementation Details Apr 17, 2025 am 12:05 AM

Understanding how JavaScript engine works internally is important to developers because it helps write more efficient code and understand performance bottlenecks and optimization strategies. 1) The engine's workflow includes three stages: parsing, compiling and execution; 2) During the execution process, the engine will perform dynamic optimization, such as inline cache and hidden classes; 3) Best practices include avoiding global variables, optimizing loops, using const and lets, and avoiding excessive use of closures.

Python vs. JavaScript: Community, Libraries, and Resources Python vs. JavaScript: Community, Libraries, and Resources Apr 15, 2025 am 12:16 AM

Python and JavaScript have their own advantages and disadvantages in terms of community, libraries and resources. 1) The Python community is friendly and suitable for beginners, but the front-end development resources are not as rich as JavaScript. 2) Python is powerful in data science and machine learning libraries, while JavaScript is better in front-end development libraries and frameworks. 3) Both have rich learning resources, but Python is suitable for starting with official documents, while JavaScript is better with MDNWebDocs. The choice should be based on project needs and personal interests.

Python vs. JavaScript: Development Environments and Tools Python vs. JavaScript: Development Environments and Tools Apr 26, 2025 am 12:09 AM

Both Python and JavaScript's choices in development environments are important. 1) Python's development environment includes PyCharm, JupyterNotebook and Anaconda, which are suitable for data science and rapid prototyping. 2) The development environment of JavaScript includes Node.js, VSCode and Webpack, which are suitable for front-end and back-end development. Choosing the right tools according to project needs can improve development efficiency and project success rate.

The Role of C/C   in JavaScript Interpreters and Compilers The Role of C/C in JavaScript Interpreters and Compilers Apr 20, 2025 am 12:01 AM

C and C play a vital role in the JavaScript engine, mainly used to implement interpreters and JIT compilers. 1) C is used to parse JavaScript source code and generate an abstract syntax tree. 2) C is responsible for generating and executing bytecode. 3) C implements the JIT compiler, optimizes and compiles hot-spot code at runtime, and significantly improves the execution efficiency of JavaScript.

See all articles