==============================================================================
 SIGRID 1 km SAMPLING GRID - DEMOCRATIC PEOPLE'S REPUBLIC OF KOREA (KP/PRK)
 Every plot tagged with its province (ADM1NM) and district (ADM2NM)
==============================================================================
 Generated 2026-07-10 10:10 UTC by build_all_countries.py v2.0
==============================================================================

==============================================================================
 1. WHAT THIS IS
==============================================================================

SIGRID is a global systematic sampling grid of points spaced 1 km apart.
This archive contains every SIGRID plot that falls inside Democratic People's Republic of Korea, and
for each plot the province and district it belongs to, taken from the
United Nations 2023 administrative boundaries.

The same plots are also provided at coarser sampling intensities (every
2 km, 3 km, ... up to 100 km), so you can pick the plot spacing that suits
your survey budget and precision target. Each coarser grid is a strict
subset of the 1x1 km grid: a plot in the 10x10 km file is also in the
1x1 km file, with the same CE_ID. This means you can start a survey at a
coarse intensity and densify later without moving or renumbering plots.

==============================================================================
 2. AT A GLANCE
==============================================================================

  Country                    : Democratic People's Republic of Korea (KP/PRK)
  Total plots (1x1 km)       : 122,473
  Land area (equal-area)     : 122,652 km2
  Plots per km2 (QA ratio)   : 0.9985   [ok]
  Provinces (ADM1NM)         : 11
  Districts (ADM2NM)         : 183
  Sampling intensities       : 17 (1x1 km to 100x100 km)
  Bounding box (lon)         : 124.3235 to 130.6841
  Bounding box (lat)         : 37.6758 to 43.0071
  Coordinate system          : WGS 84 geographic (EPSG:4326)
  Boundary source            : UN 2023 ADM2 (EarthMap public store)
  Plot grid source           : SIGRID 1000 m, Open Foris

==============================================================================
 3. FILES IN THIS ARCHIVE
==============================================================================

  Plots is the number of sample points at that intensity. Each file is a
  plain UTF-8 CSV with a header row.

  File                                                                 Spacing        Plots       Size
  ------------------------------------------------------------------ --------- ------------ ----------
  Democratic_People_s_Republic_of_Korea_1x1km.csv *                       1 km      122,473    18.2 MB
  Democratic_People_s_Republic_of_Korea_2x2km.csv *                       2 km       30,614     1.6 MB
  Democratic_People_s_Republic_of_Korea_3x3km.csv *                       3 km       13,604   730.3 KB
  Democratic_People_s_Republic_of_Korea_4x4km.csv *                       4 km        7,658   411.2 KB
  Democratic_People_s_Republic_of_Korea_5x5km.csv *                       5 km        4,911   263.6 KB
  Democratic_People_s_Republic_of_Korea_6x6km.csv *                       6 km        3,397   182.1 KB
  Democratic_People_s_Republic_of_Korea_8x8km.csv                         8 km        1,918   103.1 KB
  Democratic_People_s_Republic_of_Korea_9x9km.csv                         9 km        1,510    81.0 KB
  Democratic_People_s_Republic_of_Korea_10x10km.csv                      10 km        1,235    66.2 KB
  Democratic_People_s_Republic_of_Korea_12x12km.csv                      12 km          861    46.3 KB
  Democratic_People_s_Republic_of_Korea_15x15km.csv                      15 km          546    29.4 KB
  Democratic_People_s_Republic_of_Korea_16x16km.csv                      16 km          484    26.0 KB
  Democratic_People_s_Republic_of_Korea_20x20km.csv                      20 km          307    16.5 KB
  Democratic_People_s_Republic_of_Korea_25x25km.csv                      25 km          205    11.0 KB
  Democratic_People_s_Republic_of_Korea_30x30km.csv                      30 km          137     7.4 KB
  Democratic_People_s_Republic_of_Korea_50x50km.csv                      50 km           50     2.7 KB
  Democratic_People_s_Republic_of_Korea_100x100km.csv                   100 km           14      807 B
  Democratic_People_s_Republic_of_Korea_plot_counts_by_district.csv  per district            -    11.9 KB
  Democratic_People_s_Republic_of_Korea_README.txt                           -            -          -

  Plot counts fall off roughly as 1/N^2: the 2x2 km grid holds about a
  quarter of the 1x1 km plots, the 10x10 km grid about one hundredth.

  (*) Holds more than 2,000 plots. Google Earth struggles beyond
      roughly that many placemarks, so divide these files before loading
      them into Collect Earth - see section 6.

==============================================================================
 4. COLUMN DICTIONARY
==============================================================================

  CE_ID         Unique, stable identifier of the plot in the global SIGRID
                grid. The SAME plot carries the SAME CE_ID in every file
                here and in the global SIGRID tiles. Use it as your key.
  yCoordinate   Latitude  of the plot centre, decimal degrees, WGS 84.
  xCoordinate   Longitude of the plot centre, decimal degrees, WGS 84.
  ADM1NM        Province / state / department name (UN 2023, level 1).
  ADM2NM        District / county / municipality name (UN 2023, level 2).
  grid_1 ...    Boolean flags, PRESENT ONLY IN THE 1x1 km FILE. grid_N is
  grid_100      true when the plot belongs to the N x N km sampling grid.
                grid_1 is true for every plot. The coarser CSVs omit these
                columns because the filename already states the intensity.

  Note on names: ADM1NM/ADM2NM are reproduced exactly as published by the
  UN, including diacritics (e.g. Oueme, Hadramawt). Files are UTF-8; open
  them as UTF-8 in Excel (Data > From Text/CSV > 65001) or accents break.

==============================================================================
 5. PLOTS BY PROVINCE
==============================================================================

  Province (ADM1NM)                         Plots (1x1 km)    Share
  ---------------------------------------- --------------- --------
  Hamgyong-namdo                                    18,671    15.2%
  Hamgyong-bukto                                    17,362    14.2%
  Chagang-do                                        16,710    13.6%
  Yanggang-do                                       13,361    10.9%
  P'yongan-bukto                                    12,256    10.0%
  P'yongan-namdo                                    11,615     9.5%
  Kangwon-do                                        11,200     9.1%
  Hwanghae-namdo                                     8,944     7.3%
  Hwanghae-bukto                                     8,114     6.6%
  P'yongyang-si                                      2,724     2.2%
  Kaesong-si                                         1,283     1.0%
  nan                                                  233     0.2%
  ---------------------------------------- --------------- --------
  TOTAL                                            122,473   100.0%

  A full breakdown per district is in Democratic_People_s_Republic_of_Korea_plot_counts_by_district.csv,
  which gives the plot count of every district at every intensity.

==============================================================================
 6. HOW TO USE THESE FILES
==============================================================================

  Choosing an intensity. Pick the coarsest grid that still gives you enough
  plots in your smallest reporting unit. If you report by district, open
  Democratic_People_s_Republic_of_Korea_plot_counts_by_district.csv and check the district with the fewest plots.

  Python
    import pandas as pd
    df = pd.read_csv('Democratic_People_s_Republic_of_Korea_10x10km.csv')
    df[df.ADM1NM == 'YourProvince']          # subset one province
    df.groupby('ADM2NM').size()              # plots per district

  R
    df <- read.csv('Democratic_People_s_Republic_of_Korea_10x10km.csv', fileEncoding='UTF-8')
    table(df$ADM2NM)

  QGIS
    Layer > Add Layer > Add Delimited Text Layer. X field = xCoordinate,
    Y field = yCoordinate, CRS = EPSG:4326.

  Google Earth / Collect Earth
    The CSV can be used directly as a Collect Earth plot file: the first
    three columns are already an id (CE_ID) followed by latitude and
    longitude, which is the order Collect Earth expects. Keep the
    ADM1NM/ADM2NM columns to stratify or to hand districts to field teams.

  Splitting a file into smaller plot files
    Collect Earth draws one Google Earth placemark per plot, and Google
    Earth has trouble with KML files holding more than about 2,000
    plots. Any file marked (*) in section 3 should be divided first.

    Collect Earth ships a tool for exactly this:

        Tools -> Utilities -> Divide large CSV files

    Choose the large CSV, then pick one of:
      - how many smaller files to divide it into;
      - whether to randomize the order of the plots first;
      - or aggregate the plots using one of the columns in the CSV.

    The aggregate option is the one to use here. Select ADM1NM to get
    one CSV per province, or ADM2NM to get one CSV per district; each
    output file is named after the value of that column
    (Hamgyong_namdo.csv, Hamgyong_bukto.csv, ...), which makes them straightforward to
    hand to field teams.

    Because CE_ID is unique and stable, plots keep their identity across
    the split, and interpreted results can be merged back together.

    See: https://openforis.support/questions/3623/

  Excel
    Do NOT double-click the CSV. Use Data > From Text/CSV and set File
    Origin to 65001: UTF-8, otherwise accented district names are corrupted.

==============================================================================
 7. HOW THIS WAS GENERATED
==============================================================================

  1. The UN 2023 ADM2 boundaries for the country were downloaded and any
     invalid polygon geometry repaired.
  2. The SIGRID 10 x 10 degree tiles that actually intersect the country
     were identified from the boundary geometry (not merely its bounding
     box, which is wrong for countries crossing the 180th meridian) and
     downloaded from:
       https://www.openforis.org/fileadmin/SIGRID_1000m_grids
  3. Every plot in those tiles was tested against the district polygons
     with a point-in-polygon join (predicate 'intersects', so a plot lying
     exactly on a boundary line is kept, not discarded). Plots outside all
     districts were dropped. A plot on a shared border is assigned to one
     district only, so no plot is ever duplicated.
  4. The tagged plots were split on the grid_N flags into the density files
     listed in section 3.

  Snap tolerance used: 0.0 degrees (disabled).
  Plots recovered by snapping: 0

==============================================================================
 8. QUALITY CONTROL
==============================================================================

  Because SIGRID plots sit on a 1 km lattice, the number of plots inside a
  country should equal that country's land area in square kilometres. That
  is the single most informative check on this dataset, and it is reported
  above as the QA ratio:

      122,473 plots / 122,652 km2  =  0.9985

  Status: ok

  A value inside 0.97-1.01 is considered correct. Values are
  typically 0.99-1.00; the small shortfall is explained in section 9.
  Additional checks applied to this file: no duplicate CE_ID, no plot
  assigned to more than one district, and no missing coordinates.

==============================================================================
 9. KNOWN LIMITATIONS
==============================================================================

  Coastlines. National boundaries are generalized. A small number of plots
  that are genuinely on land can fall a few hundred metres outside the
  published polygon and are therefore not included. This is the ~0.5%
  visible in the QA ratio. Widening the tolerance to recover them pulls in
  offshore sea points instead, which is worse, so the small undercount is
  deliberate.

  Boundary vintage. Districts follow the UN 2023 definition. If your
  national administration has since split or merged districts, the names
  here will not match your current official list.

  Disputed areas. Boundaries follow UN depiction; see the disclaimer.

==============================================================================
 10. PROVENANCE AND CITATION
==============================================================================

  Generated        : 2026-07-10 10:10 UTC
  Generator        : build_all_countries.py v2.0
  Plot grid        : SIGRID 1000 m (https://www.openforis.org/fileadmin/SIGRID_1000m_grids)
  Boundaries       : United Nations 2023, ADM2 (EarthMap public store)
  Coordinate system: EPSG:4326 (WGS 84)

  Suggested citation:
    Open Foris SIGRID 1 km sampling grid for Democratic People's Republic of Korea, tagged with UN 2023
    ADM1/ADM2 administrative names. Generated 2026-07-10 10:10 UTC.

==============================================================================
 11. DISCLAIMER
==============================================================================

  Administrative boundaries: United Nations 2023 (UN Geospatial, ADM2), obtained via the EarthMap public boundary store.
  The designations employed and the presentation of material on this product do not imply the expression of any opinion whatsoever on the part of the United Nations or FAO concerning the legal status of any country, territory, city or area or of its authorities, or concerning the delimitation of its frontiers or boundaries.

