QGIS/resources/data/README_world_map.md
2022-04-29 17:01:35 +02:00

2.5 KiB
Raw Blame History

README World Map GeoPackage

The world_map.gpkg contains the following layers:

  • countries
  • states_provinces
  • disputed_borders

These layers were processed from source data. The purpose of this readme is to explain briefly the data sources and the processing steps.

Data source

Natural Earth 1:10m detail level Cultural vectors: https://www.naturalearthdata.com/downloads/10m-cultural-vectors/

The specific layers used for input are:

[0]: Admin 1 States, Provinces v4.1.0

[1]: Admin 0 Countries v4.1.0

[2]: Admin 0 Breakaway, Disputed Areas v4.1.0 (boundary lines)

Processing

The layer-specific processing steps are described below.

countries and states_provinces

These two layers are derived from data source [0]. In order to keep the size small, the geometry was simplified with GRASS v.generalize, then dissolved on state/province level and on country level respectively. These above steps were done with a QGIS model world_map_generalize.model3 that is included in this folder. For the countries layer, the attribute table of data source [1] was joined in manually and the country attribute fields were copied.

Side notes to the QGIS model:

  • Input data are in WGS84 (EPSG:4326); re-projection to a meter-based CRS was necessary in order to set meaningful thresholds in v.generalize. I chose Robinson (EPSG:54030) for that purpose. I think it is an OK compromise for a global projected CRS in this case.

  • The model also creates a safe extent polygon for WGS84 coordinate space and clips the simplified layers to that extent before re-projecting them back to WGS84. This was necessary in order to avoid polygons crossing the 180˚ meridian. Those would be rendered as large invalid polygons crossing the entire world.

disputed_borders

This layer was created by importing data source [2] as-is.

Manual clean-up of attribute tables (all layers)

In the GeoPackage the less meaningful fields in the attribute tables were dropped.

And finally Crimea and Sevastopol were restored to belong to the Ukraine using

update states_provinces set iso_a2='UA',sov_a3='UA',adm0_a3='UA',admin='Ukraine',gu_a3='UKR' where name IN ('Crimea','Sevastopol');
update countries set geom=st_union(geom, (select st_union(geom) from states_provinces where name IN ('Crimea','Sevastopol'))) where name='Ukraine';
update countries set geom=st_difference(geom, (select st_union(geom) from states_provinces where name IN ('Crimea','Sevastopol'))) where name='Russia';