{
  "generated": "2026-10-04",
  "sources": {
    "historical": {
      "name": "Historical Conflict Event Dataset",
      "dataverse_version": "5.0",
      "file_name": "HCED Data v2.csv",
      "original_bytes": 2171338,
      "original_sha256": "9e5a1b6361000678b060a1a381b6c4e475c11547bc04cc7e2c33ca14d0736423",
      "source_url": "https://dataverse.harvard.edu/dataset.xhtml?persistentId=doi%3A10.7910%2FDVN%2F6ZFC0V",
      "doi_url": "https://doi.org/10.7910/DVN/6ZFC0V",
      "file_url": "https://dataverse.harvard.edu/file.xhtml?fileId=6899936&version=5.0",
      "license": {
        "name": "CC0 1.0 Universal Public Domain Dedication",
        "url": "https://creativecommons.org/publicdomain/zero/1.0/",
        "verified": "2026-10-04 by visible primary Harvard Dataverse license field"
      },
      "citation": "Miller, Charles, 2022, \"Historical Conflict Event Dataset\", https://doi.org/10.7910/DVN/6ZFC0V, Harvard Dataverse, V5",
      "paper": {
        "title": "Conflict Events Worldwide Since 1468BC: Introducing the Historical Conflict Event Dataset",
        "authors": "Charles Miller and K. Shuvo Bakar",
        "year": 2023,
        "journal": "Journal of Conflict Resolution 67(2\u20133):522\u2013554",
        "url": "https://doi.org/10.1177/00220027221119085"
      },
      "schema": [
        "",
        "ID",
        "Country",
        "Latitude",
        "Longitude",
        "Page",
        "Battle",
        "Year",
        "Participants",
        "War",
        "Winner",
        "Loser",
        "Participant 1",
        "Participant 2",
        "Lehmann Zhukov Scale",
        "Theatre",
        "Polygon",
        "Massacre",
        "Alternative Sources Consulted",
        "Infered Scale",
        "Minor"
      ],
      "raw_rows": 17762,
      "blank_spacer_rows": 8881,
      "event_records": 8881,
      "geocoded_records": 8880,
      "invalid_or_missing_coordinate_ids": [
        "Germaghah1193"
      ],
      "unique_nonblank_source_ids": 8878,
      "duplicate_source_ids": {
        "Beijing1644": 2,
        "Hoyerswerda1813": 2,
        "Hull1643": 2
      },
      "missing_year_ids": [
        "Ionkovo1807",
        "Ponte Nuovo1768"
      ],
      "year_interval_records": 184,
      "year_min": -1468,
      "year_max": 2003,
      "modifications": "Removed 8,881 blank spacer rows, encoded selected fields as UTF-8, converted coordinates to numbers, parsed year intervals while preserving year_raw, assigned stable file-row record_id. One record without coordinates omitted from map-ready output. Repeated source IDs retained as distinct source records; no unverified deduplication.",
      "geocoding_method_source": "HCED-Original-README.txt (public file 6909628 in Harvard Dataverse V5): Google Maps first-pass geolocation followed by repeated manual rechecks and amendments.",
      "caveat": "Selected battle/war/siege catalogue records, not exhaustive conflict incidence; no per-record geographic uncertainty flag; preserve separate mode from UCDP lethal-event data."
    },
    "modern": {
      "source": "https://ucdp.uu.se/downloads/ged/ged261-csv.zip",
      "version": "26.1",
      "row_count": 417968,
      "column_count": 49,
      "schema": [
        "id",
        "relid",
        "year",
        "active_year",
        "code_status",
        "type_of_violence",
        "conflict_dset_id",
        "conflict_new_id",
        "conflict_name",
        "dyad_dset_id",
        "dyad_new_id",
        "dyad_name",
        "side_a_dset_id",
        "side_a_new_id",
        "side_a",
        "side_b_dset_id",
        "side_b_new_id",
        "side_b",
        "number_of_sources",
        "source_article",
        "source_office",
        "source_date",
        "source_headline",
        "source_original",
        "where_prec",
        "where_coordinates",
        "where_description",
        "adm_1",
        "adm_2",
        "latitude",
        "longitude",
        "geom_wkt",
        "priogrid_gid",
        "country",
        "country_id",
        "region",
        "event_clarity",
        "date_prec",
        "date_start",
        "date_end",
        "deaths_a",
        "deaths_b",
        "deaths_civilians",
        "deaths_unknown",
        "best",
        "high",
        "low",
        "gwnoa",
        "gwnob"
      ],
      "date_min": "1989-01-01 00:00:00.000",
      "date_max": "2025-12-31 00:00:00.000",
      "year_counts": {
        "1989": 2659,
        "1990": 3203,
        "1991": 2877,
        "1992": 7339,
        "1993": 6834,
        "1994": 7581,
        "1995": 4708,
        "1996": 3314,
        "1997": 3020,
        "1998": 3791,
        "1999": 5101,
        "2000": 5744,
        "2001": 4419,
        "2002": 7537,
        "2003": 6478,
        "2004": 7599,
        "2005": 6206,
        "2006": 5684,
        "2007": 7081,
        "2008": 6790,
        "2009": 7438,
        "2010": 9139,
        "2011": 7900,
        "2012": 18601,
        "2013": 24580,
        "2014": 25962,
        "2015": 19927,
        "2016": 17416,
        "2017": 16412,
        "2018": 13646,
        "2019": 13911,
        "2020": 13484,
        "2021": 17316,
        "2022": 21013,
        "2023": 27422,
        "2024": 30066,
        "2025": 25770
      },
      "violence_type_counts": {
        "1": 292121,
        "2": 61451,
        "3": 64396
      },
      "geoprecision_counts": {
        "1": 194544,
        "4": 38531,
        "2": 101236,
        "3": 59437,
        "6": 5309,
        "5": 18645,
        "7": 266
      },
      "missing_coordinates": 0,
      "invalid_coordinates": 0,
      "csv_sha256": "61c3bf0a86374778343ba30c28a18b1fe739e2c33a76055504427eded4f8be27",
      "duplicates_by_id": 0,
      "fatality_sums": {
        "best": 4257891,
        "low": 3509097,
        "high": 6222204
      },
      "license": {
        "name": "Creative Commons Attribution 4.0 International (CC BY 4.0)",
        "url": "https://creativecommons.org/licenses/by/4.0/",
        "verified_at": "2026-10-04",
        "authority_url": "https://ucdp.uu.se/downloads/",
        "redistribution": "Official download page explicitly permits use and redistribution with citation; retain attribution, link license, and indicate derived transformations"
      },
      "citations": [
        {
          "title": "Organized violence 1989\u20132025, and violent political protests",
          "authors": "Shawn Davies, Ther\u00e9se Pettersson, Magnus \u00d6berg",
          "publication": "Journal of Peace Research",
          "year": 2026,
          "url": "https://doi.org/10.1093/jopres/xjag046"
        },
        {
          "title": "Introducing the UCDP Georeferenced Event Dataset",
          "authors": "Ralph Sundberg, Erik Melander",
          "publication": "Journal of Peace Research 50(4), 523\u2013532",
          "year": 2013,
          "url": "https://doi.org/10.1177/0022343313484347"
        },
        {
          "title": "UCDP GED Codebook version 26.1",
          "authors": "Stina H\u00f6gbladh",
          "publication": "Department of Peace and Conflict Research, Uppsala University",
          "year": 2026,
          "url": "https://ucdp.uu.se/downloads/ged/ged261.pdf"
        }
      ],
      "coordinate_reference_system": "WGS84 / EPSG:4326; decimal degree latitude/longitude",
      "recommended_default": {
        "where_prec": [
          1,
          2
        ],
        "event_count": 295780,
        "excluded_lower_precision_count": 122188,
        "rationale": "Administrative-area/feature/country representative points do not locate an event reliably within a craton. Point-in-polygon assignment is still uncertain at geological boundaries even for precision 1\u20132."
      }
    },
    "geology": {
      "dataset": "Hasterok et al. global_tectonics cratons.shp",
      "citation": "Hasterok, D., Halpin, J. A., Collins, A. S., Hand, M., Kreemer, C., Gard, M. G., and Glorie, S. (2022). New maps of global geological provinces and tectonic plates. Earth-Science Reviews 231, 104069.",
      "paper_url": "https://doi.org/10.1016/j.earscirev.2022.104069",
      "repository_url": "https://github.com/dhasterok/global_tectonics",
      "commit": "6cdcbf021178e9adf65e7f9c3d77c5497a976bf4",
      "license": "GPL-3.0",
      "license_url": "https://github.com/dhasterok/global_tectonics/blob/6cdcbf021178e9adf65e7f9c3d77c5497a976bf4/LICENSE",
      "download_date": "2026-10-04",
      "source_url": "https://raw.githubusercontent.com/dhasterok/global_tectonics/6cdcbf021178e9adf65e7f9c3d77c5497a976bf4/plates%26provinces/shp/cratons.shp",
      "source_feature_count": 114,
      "site_filter": {
        "prov_type": "craton"
      },
      "site_feature_count": 55,
      "site_reworked_yes": 8,
      "site_reworked_no": 47,
      "crs": "EPSG:4326",
      "coordinates": "[longitude,latitude] degrees",
      "ui_simplification": "0.08 degrees; Shapely preserve_topology=True",
      "ui_winding": "outer clockwise; holes counterclockwise (D3 spherical convention)",
      "modifications": "Converted from shapefile to GeoJSON with GDAL antimeridian splitting, filtered by source prov_type, simplified with topology preservation, oriented for D3, stable id added; all source properties retained",
      "files": {
        "cratons.shp": {
          "bytes": 211240,
          "sha256": "071ebcb51ca1ceef444f03059ff7c43531acd83338cd197b09f31612485b4845"
        },
        "cratons.shx": {
          "bytes": 1012,
          "sha256": "983f700efaee160d14ec09b851d27c48d5b4344af9450f3f6be97d70600401fd"
        },
        "cratons.dbf": {
          "bytes": 128418,
          "sha256": "b51842e381de12792d450b2e5c44d013ca883d32e7d7f1033f5bf407899fed81"
        },
        "cratons.prj": {
          "bytes": 145,
          "sha256": "a02a27b1d1982c8516d83398e85a3c8b1aef1713c13ef4d84d7bde17430c07c4"
        },
        "LICENSE": {
          "bytes": 35129,
          "sha256": "605e9047a563c5c8396ffb18232aa4304ec56586aee537c45064c6fb425e44ad"
        },
        "README.md": {
          "bytes": 2767,
          "sha256": "62e0458320f31f58400e548a4dbb1810b58652316858091411eb76b3fc52fd70"
        },
        "SOURCE.md": {
          "bytes": 6992,
          "sha256": "fd54cbda7764acf9a66c3d653b3c9b69ae915c05acc1cef22651754ce7085749"
        },
        "prepare_geojson.py": {
          "bytes": 2268,
          "sha256": "e1a677448b4a4ca5d44b5cb4988839bc5c910df01ee9f4145f9db9620ef47610"
        },
        "cratons.only.geojson": {
          "bytes": 256166,
          "sha256": "f387e832f6774a86267982384f4e615f665b1de837efce12fee50431267ae7a6"
        },
        "cratons.only.simplified.d3.geojson": {
          "bytes": 115436,
          "sha256": "ebe3ea51ec423cf731df1ddb01f18c532a39aba7608ada651ff724e8addf87b6"
        }
      }
    },
    "land": {
      "source": "https://github.com/nvkelso/natural-earth-vector/blob/master/geojson/ne_110m_land.geojson",
      "license": "Public domain",
      "terms": "https://www.naturalearthdata.com/about/terms-of-use/"
    }
  },
  "method": {
    "craton_filter": "Source prov_type == 'craton': 55 provinces, of which eight reworked. Shields and other Archean regions excluded.",
    "membership": "Point covered by original, full-resolution craton geometry. Spherical display geometry simplified by 0.08 degrees and not used for event assignment. No events moved or assigned to nearest craton. No polygon overlaps among matched points.",
    "modern_filter": "where_prec in [1,2]. Other source location precision codes excluded. Events selected by UCDP year.",
    "historical_filter": "Nonblank source rows with finite valid latitude/longitude and interpretable year/date interval. Three duplicate source IDs retained; no unverified deduplication. A source interval overlapping the selected year window counts once.",
    "area": "d3.geoArea on original outlines oriented clockwise for D3, multiplied by 6371.0088 squared, km\u00b2. Geometry is treated as spherical great-circle segments.",
    "density": "Count divided by craton surface area and multiplied by 10000. Not normalized by population or time, not an incidence rate or personal risk.",
    "colors": "D3 interpolateViridis; counts/density normalized using log(1 + value) / log(1 + maximum) over all 55 provinces in the chosen period. Area uses a linear scale. Purple represents zero source records; gray represents land outside this selected craton subset.",
    "caveats": [
      "Selective historical battle catalogue, not exhaustive conflict history",
      "Modern recording thresholds and unequal reporting",
      "Uncertain dates and locations, particularly for ancient events",
      "Uncertain geological interpretations and boundary assignment",
      "Different datasets measure different units and cannot be compared as equivalent counts",
      "No inference of geology causing or predicting violence"
    ]
  },
  "aggregate_summary": {
    "ucdp": {
      "name": "UCDP GED v26.1",
      "minYear": 1989,
      "maxYear": 2025,
      "recordCount": 417968,
      "eligibleCount": 295780,
      "excludedCount": 122188,
      "missingCoordinateOrYearCount": 0,
      "mappedCount": 6652,
      "outsideCount": 289128,
      "multiplePolygonCount": 0,
      "assignmentCount": 6652
    },
    "hced": {
      "name": "HCED V5",
      "minYear": -1468,
      "maxYear": 2003,
      "recordCount": 8881,
      "eligibleCount": 8878,
      "excludedCount": 0,
      "missingCoordinateOrYearCount": 3,
      "mappedCount": 454,
      "outsideCount": 8424,
      "multiplePolygonCount": 0,
      "assignmentCount": 454
    }
  }
}