Compare commits

..

No commits in common. "bff3cb22fa337f8ca0a446e7c3603232454e1e7c" and "04bbfb09a5ad1742f3e742463480280922cedb92" have entirely different histories.

7 changed files with 17 additions and 2698 deletions

2
.gitignore vendored
View file

@ -3,5 +3,3 @@
/*_files/
*.ipynb
/map.png

View file

@ -5,14 +5,11 @@ project:
- index.qmd
post-render:
- tools/fix-astro-img.py
- tools/move-map-to-blog.py
format:
hugo-md:
preserve-yaml: true
code-fold: true
keep-ipynb: true
wrap: none
typst:
toc: true
echo: false

View file

@ -5,6 +5,9 @@ project:
- index.qmd
- meta.md
execute:
cache: true
format:
html:
code-fold: true

View file

@ -352,7 +352,6 @@ shift from above-ground to underground tests, starting with the year 1962.
## Locations
Finally, let's view a map of the world with the explosions marked, separated by country.
::: {.content-visible when-format="html"}
Hovering over individual explosions will show their year
while a click will open more information in a panel.
@ -425,30 +424,39 @@ folium.LayerControl().add_to(m)
```{python}
# | label: fig-worldmap-html
# | fig-cap: World map of nuclear explosions, 1945-98
html_string= m.get_root().render()
with open("map.html", "w") as f:
f.write(html_string)
m
```
:::
::: {.content-hidden when-format="html" width=80%}
::: {.content-visible unless-format="html" width=80%}
```{python}
# | label: fig-worldmap-static
# | fig-cap: World map of nuclear explosions, 1945-98
# ENSURE SELENIUM IS INSTALLED
from PIL import Image
from IPython.display import Image as IImage
import io
img = m._to_png()
bimg = io.BytesIO(img)
Image.open(bimg).save("map.png")
IImage(url="map.png")
```
![World map of nuclear explosions, 1945-98](./map.png){#fig-worldmap-static}
:::
::: {.callout-warning .content-visible when-format="markdown"}
Interactive maps not working
Unfortunately, as of right now folium maps rendered within a quarto document do
not seem to translate terribly well into an astro blog such as this.
This is why, for now, there is only a static image here.
This is very sad, but for the time being feel free to download and peruse
the ipynb notebook [here](./index.ipynb), or the [pdf](./index.pdf)
or [docx](./index.docx) versions.
:::
While there are undoubtedly more aspects of the data that provide interesting
@ -462,17 +470,6 @@ by quarto, fully reproducible.
Additionally, we can see how additional projects can be included to produce
interactive graphs and maps with tools such as folium and geopandas.
::: {.callout-note .content-visible when-format="markdown"}
Accessing other views
Feel free to download and peruse the full repo with source documents
[here](https://git.martyoeh.me/datasci/nuclear_explosions),
as well as the [pdf](2024-07-02-nuclear-explosions-analysis/index.pdf)
or [docx](2024-07-02-nuclear-explosions-analysis/index.docx) versions.
:::
## References
::: {#refs}

1320
map.html

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View file

@ -1,36 +0,0 @@
#!/usr/bin/env python3
# Simply move the map.png file to the blog output dir
# since it won't do so automatically for pillow creations.
# A HACK TO PUT THE LEAFLET JS INTO THE CORRECT PUBLIC BLOG DIR
# will have to be changed when the hardcoded public dir path changes
import os
import shutil
import sys
from pathlib import Path
if not os.getenv("QUARTO_PROJECT_RENDER_ALL"):
sys.exit(0)
relative_pub_dir = Path(
"../../../../public/blog/2024-07-02-nuclear-explosions-analysis/"
)
q_output_dir = os.getenv("QUARTO_PROJECT_OUTPUT_DIR")
if not q_output_dir:
print(f"ERROR: output dir: {q_output_dir} DOES NOT EXIST.")
sys.exit(1)
dest = Path(q_output_dir).joinpath(relative_pub_dir)
# Correct relative WORKING DIR DOES NOT EXIST
if not dest.is_dir():
print(f"ERROR: map.html destination path: {dest} DOES NOT EXIST.")
sys.exit(1)
src = "map.html"
shutil.copy(src, dest)
print("sucessfully moved map.html to ")