Total requests: 0

Data Science Project:
Meteorite Geospatial Data Visualization

(NASA data)


September 2025



Behind the map visualization underlies a specific two-part data science process. The first part of the process is handled by a PythonHyperlink opens in a new tab script executed as a scheduled once-a-month AWS LambdaHyperlink opens in a new tab function:

  1. First a NASA meteorite dataset

    (.csv)

    is downloaded.

  2. Then a Pandas DataFrameHyperlink opens in a new tab is formed from the downloaded dataset.

  3. Next up comes data wrangling, where unnecessary columns and rows are removed from the DataFrame

    (because some rows have null values for latitude and/or longitude).


  4. Then a GeoPandas GeoDataFrameHyperlink opens in a new tab is constructed from the DataFrame.

  5. A ShapefileHyperlink opens in a new tab is then created from the GeoDataFrame. Note that Shapefiles aren't really files but rather groups of files. This particular Shapefile consists of 4 different files

    (.cpg, .dbf, .shp, .shx),

    that are compressed into an Archive

    (.zip)

    that's stored in an AWS S3Hyperlink opens in a new tab bucket.

The latter part is done by a user's web browser every time it requests the webpage you're reading right now:

  1. A JS script constructs a LeafletHyperlink opens in a new tab map and adds a Google Satellite tile layer to it.

  2. The Shapefile stored in S3 is then fetched using Shapefile.js,Hyperlink opens in a new tab which, in one fell swoop, converts it into GeoJSON.Hyperlink opens in a new tab The GeoJSON consists of Points

    (here: meteorite information about to be inserted to the map).


  3. Finally, the GeoJSON is added to the map as a layer.

The following is an interactive Power BIHyperlink opens in a new tab bar chart visualization of witnessed meteorites by year (1900–2013).