==============================================================================
 SIGRID 1 km SAMPLING GRID - LATVIA (LV/LVA)
 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 Latvia, 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                    : Latvia (LV/LVA)
  Total plots (1x1 km)       : 64,603
  Land area (equal-area)     : 64,416 km2
  Plots per km2 (QA ratio)   : 1.0029   [ok]
  Provinces (ADM1NM)         : 119
  Districts (ADM2NM)         : 119
  Sampling intensities       : 17 (1x1 km to 100x100 km)
  Bounding box (lon)         : 20.9725 to 28.2408
  Bounding box (lat)         : 55.6762 to 58.0739
  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
  ----------------------------------- --------- ------------ ----------
  Latvia_1x1km.csv *                       1 km       64,603     9.3 MB
  Latvia_2x2km.csv *                       2 km       16,161   791.4 KB
  Latvia_3x3km.csv *                       3 km        7,174   351.9 KB
  Latvia_4x4km.csv *                       4 km        4,033   197.7 KB
  Latvia_5x5km.csv *                       5 km        2,581   126.5 KB
  Latvia_6x6km.csv                         6 km        1,790    87.8 KB
  Latvia_8x8km.csv                         8 km        1,009    49.5 KB
  Latvia_9x9km.csv                         9 km          801    39.3 KB
  Latvia_10x10km.csv                      10 km          649    31.9 KB
  Latvia_12x12km.csv                      12 km          447    22.0 KB
  Latvia_15x15km.csv                      15 km          289    14.2 KB
  Latvia_16x16km.csv                      16 km          249    12.3 KB
  Latvia_20x20km.csv                      20 km          161     7.9 KB
  Latvia_25x25km.csv                      25 km          102     5.1 KB
  Latvia_30x30km.csv                      30 km           72     3.6 KB
  Latvia_50x50km.csv                      50 km           24     1.2 KB
  Latvia_100x100km.csv                   100 km            7      391 B
  Latvia_plot_counts_by_district.csv  per district            -     7.1 KB
  Latvia_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
  ---------------------------------------- --------------- --------
  Rēzeknes novads                                    2,528     3.9%
  Ventspils novads                                   2,461     3.8%
  Madonas novads                                     2,161     3.3%
  Daugavpils novads                                  1,879     2.9%
  Gulbenes novads                                    1,875     2.9%
  Talsu novads                                       1,766     2.7%
  Kuldīgas novads                                    1,761     2.7%
  Alūksnes novads                                    1,693     2.6%
  Saldus novads                                      1,683     2.6%
  Jelgavas novads                                    1,317     2.0%
  Tukuma novads                                      1,203     1.9%
  Limbažu novads                                     1,162     1.8%
  Krāslavas novads                                   1,083     1.7%
  Balvu novads                                       1,032     1.6%
  Ogres novads                                         990     1.5%
  Ludzas novads                                        961     1.5%
  Dagdas novads                                        955     1.5%
  Smiltenes novads                                     949     1.5%
  Valkas novads                                        917     1.4%
  Jēkabpils novads                                     907     1.4%
  Dobeles novads                                       885     1.4%
  Vecumnieku novads                                    843     1.3%
  Krustpils novads                                     800     1.2%
  Bauskas novads                                       778     1.2%
  Amatas novads                                        745     1.2%
  Burtnieku novads                                     702     1.1%
  Jaunjelgavas novads                                  683     1.1%
  Dundagas novads                                      672     1.0%
  Neretas novads                                       650     1.0%
  Viesītes novads                                      647     1.0%
  Kandavas novads                                      646     1.0%
  Viļakas novads                                       642     1.0%
  Ilūkstes novads                                      640     1.0%
  Aizputes novads                                      638     1.0%
  Alojas novads                                        638     1.0%
  Salacgrīvas novads                                   637     1.0%
  Riebiņu novads                                       633     1.0%
  Kārsavas novads                                      632     1.0%
  Līvānu novads                                        628     1.0%
  Skrundas novads                                      556     0.9%
  Apes novads                                          549     0.8%
  Vecpiebalgas novads                                  547     0.8%
  Priekules novads                                     523     0.8%
  Auces novads                                         520     0.8%
  Pāvilostas novads                                    517     0.8%
  Rugāju novads                                        515     0.8%
  Ciblas novads                                        510     0.8%
  Kocēnu novads                                        497     0.8%
  Brocēnu novads                                       495     0.8%
  Ķeguma novads                                        491     0.8%
  Pārgaujas novads                                     486     0.8%
  Grobiņas novads                                      486     0.8%
  Rucavas novads                                       445     0.7%
  Mazsalacas novads                                    413     0.6%
  Engures novads                                       397     0.6%
  Aglonas novads                                       391     0.6%
  Strenču novads                                       381     0.6%
  Ērgļu novads                                         376     0.6%
  Pļaviņu novads                                       374     0.6%
  Kokneses novads                                      365     0.6%
  Preiļu novads                                        357     0.6%
  Siguldas novads                                      354     0.5%
  Nīcas novads                                         354     0.5%
  Rūjienas novads                                      351     0.5%
  Lubānas novads                                       349     0.5%
  Krimuldas novads                                     346     0.5%
  Ropažu novads                                        326     0.5%
  Durbes novads                                        325     0.5%
  Salas novads                                         322     0.5%
  Iecavas novads                                       316     0.5%
  Zilupes novads                                       311     0.5%
  Raunas novads                                        310     0.5%
  Vaiņodes novads                                      309     0.5%
  Rīga                                                 306     0.5%
  Beverīnas novads                                     302     0.5%
  Olaines novads                                       301     0.5%
  Priekuļu novads                                      299     0.5%
  Vārkavas novads                                      288     0.4%
  Aknīstes novads                                      287     0.4%
  Viļānu novads                                        287     0.4%
  Ozolnieku novads                                     281     0.4%
  Naukšēnu novads                                      278     0.4%
  Ķekavas novads                                       276     0.4%
  Varakļānu novads                                     275     0.4%
  Jaunpiebalgas novads                                 252     0.4%
  Babītes novads                                       245     0.4%
  Rundāles novads                                      236     0.4%
  Sējas novads                                         231     0.4%
  Lielvārdes novads                                    227     0.4%
  Tērvetes novads                                      223     0.3%
  Mālpils novads                                       222     0.3%
  Jaunpils novads                                      207     0.3%
  Rojas novads                                         202     0.3%
  Alsungas novads                                      194     0.3%
  Cesvaines novads                                     190     0.3%
  Baltinavas novads                                    187     0.3%
  Baldones novads                                      181     0.3%
  Cēsu novads                                          174     0.3%
  Līgatnes novads                                      171     0.3%
  Ādažu novads                                         160     0.2%
  Garkalnes novads                                     152     0.2%
  Ikšķiles novads                                      138     0.2%
  Salaspils novads                                     123     0.2%
  Inčukalna novads                                     111     0.2%
  Mērsraga novads                                      107     0.2%
  Jūrmala                                              103     0.2%
  Mārupes novads                                       102     0.2%
  Aizkraukles novads                                   102     0.2%
  Skrīveru novads                                      101     0.2%
  Carnikavas novads                                     83     0.1%
  Daugavpils                                            71     0.1%
  Jelgava                                               61     0.1%
  Liepāja                                               59     0.1%
  Ventspils                                             59     0.1%
  Stopiņu novads                                        50     0.1%
  Saulkrastu novads                                     50     0.1%
  Jēkabpils                                             28     0.0%
  Valmiera                                              18     0.0%
  Rēzekne                                               17     0.0%
  ---------------------------------------- --------------- --------
  TOTAL                                             64,603   100.0%

  A full breakdown per district is in Latvia_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
  Latvia_plot_counts_by_district.csv and check the district with the fewest plots.

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

  R
    df <- read.csv('Latvia_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
    (Rezeknes_novads.csv, Ventspils_novads.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:

      64,603 plots / 64,416 km2  =  1.0029

  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 Latvia, 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.

