1

I working on a history of then Pacific Northwest. My goal is to display dynamic time series maps of the creation/presence/growth of various towns, their population size, railroad line tracks laid, church foundings, industries' arrival, timber logged, etc.

My data set will be simple SQLite tables with fields like:

  • Location - County or Town (obviously some relational tie to geo coordinates and boundaries)
  • Year
  • Category (population, church, RR arrival, etc.)
  • Quantity (for those categories where this applies, eg. population, or lumber produced)

I want to generate clean, simple maps with WA, OR, ID road or terrain backgrounds and whatever data set and symbols I select for any point in time.

My skills are limited. I'm not looking to be GIS specialist. I'm an advanced beginner in Python/Pandas and R. My preference is MAC but I can use Wintel-only too.

I welcome suggestions comparatively easy to adopt and use for the above modest goals FREEWARE.

2 Answers 2

1

QGIS is the default go-to Open Source and free GIS application.

It runs on all major desktop operating systems like Windows, Mac, Linux, BSD, along with third party companion apps for mobile operating systems.

1
  • Thank you. Exactly the guidance I needed.
    – DP-WA
    Jan 18, 2023 at 16:55
1

Since you already have some familiarity with Python you might also want to take a look at Folium which adds Python/Jupyter and add leaflet.js library for visualisations.

An example (from the site):

import folium
import pandas as pd

url = (
    "https://raw.githubusercontent.com/python-visualization/folium/master/examples/data"
)
state_geo = f"{url}/us-states.json"
state_unemployment = f"{url}/US_Unemployment_Oct2012.csv"
state_data = pd.read_csv(state_unemployment)

m = folium.Map(location=[48, -102], zoom_start=3)

folium.Choropleth(
    geo_data=state_geo,
    name="choropleth",
    data=state_data,
    columns=["State", "Unemployment"],
    key_on="feature.id",
    fill_color="YlGn",
    fill_opacity=0.7,
    line_opacity=0.2,
    legend_name="Unemployment Rate (%)",
).add_to(m)

folium.LayerControl().add_to(m)

m

Generated Map

1
  • 1
    Thank you. I'll give it a try.
    – DP-WA
    Jan 20, 2023 at 5:48

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.