Skip to content

Papyrine/MapBundle

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

35 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MapBundle

Bundled, offline map data for .NET apps — borders, cities, waterways and base layers — shipped as FlatGeobuf inside NuGet packages. Most data is derived from OpenStreetMap under the Open Database License (ODbL); the cities, rivers and lakes layers come from Natural Earth (public domain).

Packages

Package Contents
MapBundle Core runtime. Loads the bundled .fgb layers. No data of its own.
MapBundle.World The whole world (every continent merged).
MapBundle.[Region] A single continent or country (for example MapBundle.Europe or MapBundle.Monaco).

Install the core package plus the area required:

dotnet add package MapBundle.Monaco

By default a data package copies its FlatGeobuf files into a maps/<Region> folder beside the application at build time; the MapBundle core reads them from there. When FlatGeobuf is not the desired format, the data can instead be converted to another format and/or rendered to an image at build time.

Usage

var map = Maps.Open().Load("Monaco");

var borders = map.Borders;        // country polygons
var cities = map.Cities;          // populated places
var states = map.StatesProvinces; // admin-1 polygons
var rivers = map.Rivers;          // rivers
// also: map.Lakes, map.Coastline, map.Land, map.Ocean

snippet source | anchor

Layers are read on demand and returned as GeoConvert FeatureCollections (coordinates are WGS84 longitude/latitude).

Build-time format conversion and images

FlatGeobuf is the default on-disk format, but it is not always the right fit for a consumer. Setting a few MSBuild properties (in a .csproj, Directory.Build.props, or on the command line) converts a data package's layers — and/or renders a preview image — with GeoConvert at build time, instead of copying the raw .fgb. The output still lands in maps/<Region> next to the app.

<PropertyGroup>
  <!-- Convert every layer to GeoJSON instead of copying the FlatGeobuf. -->
  <MapBundleFormat>GeoJson</MapBundleFormat>
  <!-- Also render a styled preview PNG per region (maps/<Region>/<Region>.png). -->
  <MapBundleRenderImages>true</MapBundleRenderImages>
</PropertyGroup>

Note: conversion and image rendering run as an MSBuild task targeting net8.0, so they require building with the .NET SDK's MSBuild (dotnet build / dotnet publish, or Visual Studio using the .NET SDK build). The default raw-copy path needs no task and works under any host.

Data options

Property Default Description
MapBundleFormat FlatGeobuf The vector format to emit. Any GeoConvert format: GeoJson, TopoJson, Kml, Kmz, Gpx, Wkt, Wkb, Csv, GeoParquet, Shapefile, or FlatGeobuf (copies verbatim). Choosing anything other than FlatGeobuf opts out of the .fgb copy.
MapBundleRenderImages false When true, render a stacked preview PNG per region (layers painted ocean → land → lakes → rivers → coastline → states → borders → cities).
MapBundleCopyData true When false, no vector data is emitted at all — useful with MapBundleRenderImages for an images-only output.

Image options

Only used when MapBundleRenderImages is true; each is left at GeoConvert's own default when unset.

Property Description
MapBundleImageWidth Image width in pixels (default 2048).
MapBundleImageHeight Image height in pixels; 0 derives it from the width and aspect ratio.
MapBundleImagePadding Empty margin around the content, in pixels.
MapBundleImageProjection Auto, PlateCarree, WebMercator, Lambert, or Goode.
MapBundleImageBackground Background color (#RGB, #RRGGBB, or #RRGGBBAA).
MapBundleImageOcean Ocean (world-envelope) fill color; unset skips the ocean pass.
MapBundleImageStroke Outline color for lines, polygon edges, and point markers.
MapBundleImageFill Polygon fill color (typically semi-transparent).
MapBundleImageStrokeWidth Stroke width in pixels.
MapBundleImagePointRadius Point marker radius in pixels.
MapBundleImageStrokeAutoScale true scales stroke/point size by an implicit-zoom factor.
MapBundleImageLabels true labels features that carry a name (borders, states, cities, rivers, lakes).
MapBundleImageLabelSize Cap height of label text in pixels.
MapBundleImageLabelColor Label text color.
MapBundleImageCompression PNG deflate level: Optimal, Fastest, SmallestSize, or NoCompression.

Layers

The MapLayer enum (a layer is omitted from a package when the source has nothing for that region):

  • Borders — country polygons (OSM admin level 2)
  • StatesProvinces — state/province polygons (OSM admin level 4 / ISO 3166-2)
  • Cities — populated places (place=city/town)
  • Rivers — major waterways (waterway=river)
  • Lakes — lake and reservoir polygons (natural=water, reservoir)
  • Coastline — coastlines (derived from the land outlines); omitted for landlocked countries
  • Land / Ocean — global base polygons. Ocean is omitted for landlocked countries.

Roads, railways, buildings, land use and terrain are intentionally excluded.

Packages

Layer icons: 🗺️ Borders · 🏛️ StatesProvinces · 🏙️ Cities · 〰️ Rivers · 💧 Lakes · 🏖️ Coastline · 🟩 Land · 🌊 Ocean

World

Bundle NuGet Data Layers Features
MapBundle.World 93.5 MB 167.5 MB 🗺️ 🏙️ 〰️ 💧 🏛️ 🏖️ 🟩 🌊 157,727

Continents

Bundle NuGet Data Layers Features
MapBundle.Africa 5.4 MB 12.0 MB 🗺️ 🏙️ 〰️ 💧 🏛️ 🏖️ 🟩 🌊 6,864
MapBundle.Antarctica 23 KB 5 KB 🏙️ 40
MapBundle.Asia 15.1 MB 29.3 MB 🗺️ 🏙️ 〰️ 💧 🏛️ 🏖️ 🟩 🌊 23,219
MapBundle.AustraliaOceania 16.8 MB 25.0 MB 🗺️ 🏙️ 〰️ 💧 🏛️ 🏖️ 🟩 🌊 32,773
MapBundle.CentralAmerica 2.6 MB 4.5 MB 🗺️ 🏙️ 〰️ 💧 🏛️ 🏖️ 🟩 🌊 4,762
MapBundle.Europe 71.3 MB 101.9 MB 🗺️ 🏙️ 〰️ 💧 🏛️ 🏖️ 🟩 🌊 141,399
MapBundle.NorthAmerica 69.0 MB 101.4 MB 🗺️ 🏙️ 〰️ 💧 🏛️ 🏖️ 🟩 🌊 131,303
MapBundle.Russia 45.7 MB 62.1 MB 🗺️ 🏙️ 〰️ 💧 🏛️ 🏖️ 🟩 🌊 94,266
MapBundle.SouthAmerica 8.2 MB 15.2 MB 🗺️ 🏙️ 〰️ 💧 🏛️ 🏖️ 🟩 🌊 12,256

Countries

Bundle NuGet Data Layers Features
MapBundle.Afghanistan 118 KB 281 KB 🗺️ 🏙️ 〰️ 💧 🏛️ 81
MapBundle.Albania 69 KB 100 KB 🗺️ 🏙️ 〰️ 💧 🏛️ 🏖️ 🟩 🌊 69
MapBundle.Algeria 264 KB 426 KB 🗺️ 🏙️ 〰️ 🏛️ 🏖️ 🟩 🌊 203
MapBundle.AmericanOceania 134 KB 213 KB 🗺️ 🏙️ 🏛️ 🏖️ 🟩 🌊 193
MapBundle.Andorra 25 KB 7 KB 🗺️ 🏙️ 🏛️ 9
MapBundle.Angola 155 KB 336 KB 🗺️ 🏙️ 〰️ 🏛️ 🏖️ 🟩 🌊 101
MapBundle.Argentina 2.2 MB 3.2 MB 🗺️ 🏙️ 〰️ 💧 🏛️ 🏖️ 🟩 🌊 3,851
MapBundle.Armenia 45 KB 64 KB 🗺️ 🏙️ 〰️ 💧 🏛️ 27
MapBundle.Australia 3.3 MB 5.6 MB 🗺️ 🏙️ 〰️ 💧 🏛️ 🏖️ 🟩 🌊 4,831
MapBundle.Austria 63 KB 123 KB 🗺️ 🏙️ 〰️ 💧 🏛️ 29
MapBundle.Azerbaijan 107 KB 200 KB 🗺️ 🏙️ 〰️ 💧 🏛️ 🏖️ 🟩 🌊 137
MapBundle.Bahamas 749 KB 1.2 MB 🗺️ 🏙️ 🏛️ 🏖️ 🟩 🌊 1,825
MapBundle.Bangladesh 351 KB 660 KB 🗺️ 🏙️ 〰️ 💧 🏛️ 🏖️ 🟩 🌊 635
MapBundle.Belarus 73 KB 149 KB 🗺️ 🏙️ 〰️ 💧 🏛️ 33
MapBundle.Belgium 88 KB 127 KB 🗺️ 🏙️ 〰️ 🏛️ 🏖️ 🟩 🌊 43
MapBundle.Belize 106 KB 154 KB 🗺️ 🏙️ 〰️ 🏛️ 🏖️ 🟩 🌊 161
MapBundle.Benin 49 KB 76 KB 🗺️ 🏙️ 〰️ 🏛️ 🏖️ 🟩 🌊 31
MapBundle.Bhutan 39 KB 51 KB 🗺️ 🏙️ 〰️ 🏛️ 26
MapBundle.Bolivia 120 KB 282 KB 🗺️ 🏙️ 〰️ 💧 🏛️ 103
MapBundle.BosniaHerzegovina 139 KB 196 KB 🗺️ 🏙️ 〰️ 🏛️ 🏖️ 🟩 🌊 183
MapBundle.Botswana 70 KB 136 KB 🗺️ 🏙️ 〰️ 💧 🏛️ 53
MapBundle.Brazil 1.4 MB 2.6 MB 🗺️ 🏙️ 〰️ 💧 🏛️ 🏖️ 🟩 🌊 1,602
MapBundle.Bulgaria 82 KB 144 KB 🗺️ 🏙️ 〰️ 🏛️ 🏖️ 🟩 🌊 60
MapBundle.BurkinaFaso 87 KB 215 KB 🗺️ 🏙️ 〰️ 🏛️ 99
MapBundle.Burundi 47 KB 80 KB 🗺️ 🏙️ 〰️ 💧 🏛️ 39
MapBundle.Cambodia 127 KB 228 KB 🗺️ 🏙️ 〰️ 💧 🏛️ 🏖️ 🟩 🌊 179
MapBundle.Cameroon 124 KB 267 KB 🗺️ 🏙️ 〰️ 💧 🏛️ 🏖️ 🟩 🌊 87
MapBundle.Canada 23.9 MB 37.2 MB 🗺️ 🏙️ 〰️ 💧 🏛️ 🏖️ 🟩 🌊 43,817
MapBundle.CapeVerde 68 KB 84 KB 🗺️ 🏙️ 🏛️ 🏖️ 🟩 🌊 61
MapBundle.CentralAfricanRepublic 102 KB 238 KB 🗺️ 🏙️ 〰️ 🏛️ 59
MapBundle.Chad 74 KB 148 KB 🗺️ 🏙️ 〰️ 💧 🏛️ 55
MapBundle.Chile 4.4 MB 7.7 MB 🗺️ 🏙️ 〰️ 💧 🏛️ 🏖️ 🟩 🌊 7,276
MapBundle.China 4.9 MB 7.8 MB 🗺️ 🏙️ 〰️ 💧 🏛️ 🏖️ 🟩 🌊 8,841
MapBundle.Colombia 701 KB 1.1 MB 🗺️ 🏙️ 〰️ 💧 🏛️ 🏖️ 🟩 🌊 760
MapBundle.CongoDemocraticRepublic 288 KB 709 KB 🗺️ 🏙️ 〰️ 💧 🏛️ 🏖️ 🟩 🌊 201
MapBundle.CongoBrazzaville 90 KB 188 KB 🗺️ 🏙️ 〰️ 💧 🏛️ 🏖️ 🟩 🌊 61
MapBundle.CookIslands 38 KB 34 KB 🗺️ 🏙️ 🏖️ 🟩 🌊 92
MapBundle.CostaRica 107 KB 155 KB 🗺️ 🏙️ 〰️ 💧 🏛️ 🏖️ 🟩 🌊 80
MapBundle.Croatia 362 KB 618 KB 🗺️ 🏙️ 〰️ 🏛️ 🏖️ 🟩 🌊 448
MapBundle.Cuba 545 KB 971 KB 🗺️ 🏙️ 🏛️ 🏖️ 🟩 🌊 1,132
MapBundle.Cyprus 53 KB 57 KB 🗺️ 🏙️ 🏛️ 🏖️ 🟩 🌊 15
MapBundle.CzechRepublic 72 KB 176 KB 🗺️ 🏙️ 〰️ 🏛️ 111
MapBundle.Denmark 495 KB 744 KB 🗺️ 🏙️ 💧 🏛️ 🏖️ 🟩 🌊 619
MapBundle.Djibouti 55 KB 81 KB 🗺️ 🏙️ 💧 🏛️ 🏖️ 🟩 🌊 31
MapBundle.EastTimor 61 KB 70 KB 🗺️ 🏙️ 🏛️ 🏖️ 🟩 🌊 48
MapBundle.Ecuador 329 KB 564 KB 🗺️ 🏙️ 〰️ 🏛️ 🏖️ 🟩 🌊 390
MapBundle.Egypt 282 KB 556 KB 🗺️ 🏙️ 〰️ 💧 🏛️ 🏖️ 🟩 🌊 271
MapBundle.ElSalvador 92 KB 120 KB 🗺️ 🏙️ 〰️ 🏛️ 🏖️ 🟩 🌊 96
MapBundle.EquatorialGuinea 72 KB 91 KB 🗺️ 🏙️ 〰️ 💧 🏛️ 🏖️ 🟩 🌊 60
MapBundle.Eritrea 225 KB 371 KB 🗺️ 🏙️ 〰️ 🏛️ 🏖️ 🟩 🌊 534
MapBundle.Estonia 239 KB 343 KB 🗺️ 🏙️ 〰️ 💧 🏛️ 🏖️ 🟩 🌊 247
MapBundle.Ethiopia 171 KB 302 KB 🗺️ 🏙️ 〰️ 💧 🏛️ 🏖️ 🟩 🌊 218
MapBundle.FaroeIslands 82 KB 88 KB 🗺️ 🏙️ 🏖️ 🟩 🌊 47
MapBundle.Fiji 1.9 MB 2.7 MB 🗺️ 🏙️ 〰️ 💧 🏛️ 🏖️ 🟩 🌊 3,963
MapBundle.Finland 2.6 MB 4.3 MB 🗺️ 🏙️ 〰️ 💧 🏛️ 🏖️ 🟩 🌊 9,587
MapBundle.France 27.2 MB 36.1 MB 🗺️ 🏙️ 〰️ 💧 🏛️ 🏖️ 🟩 🌊 48,480
MapBundle.GccStates 605 KB 937 KB 🗺️ 🏙️ 〰️ 🏛️ 🏖️ 🟩 🌊 788
MapBundle.Gabon 87 KB 159 KB 🗺️ 🏙️ 〰️ 💧 🏛️ 🏖️ 🟩 🌊 60
MapBundle.Georgia 61 KB 100 KB 🗺️ 🏙️ 〰️ 💧 🏛️ 🏖️ 🟩 🌊 29
MapBundle.Germany 392 KB 654 KB 🗺️ 🏙️ 〰️ 💧 🏛️ 🏖️ 🟩 🌊 445
MapBundle.Ghana 90 KB 155 KB 🗺️ 🏙️ 〰️ 💧 🏛️ 🏖️ 🟩 🌊 45
MapBundle.Greece 924 KB 1.5 MB 🗺️ 🏙️ 〰️ 🏛️ 🏖️ 🟩 🌊 961
MapBundle.Greenland 9.4 MB 13.7 MB 🗺️ 🏙️ 〰️ 💧 🏛️ 🏖️ 🟩 🌊 17,455
MapBundle.Guatemala 73 KB 104 KB 🗺️ 🏙️ 〰️ 💧 🏛️ 🏖️ 🟩 🌊 85
MapBundle.Guinea 200 KB 385 KB 🗺️ 🏙️ 〰️ 🏛️ 🏖️ 🟩 🌊 242
MapBundle.GuineaBissau 180 KB 273 KB 🗺️ 🏙️ 〰️ 🏛️ 🏖️ 🟩 🌊 199
MapBundle.Guyana 74 KB 139 KB 🗺️ 🏙️ 〰️ 🏛️ 🏖️ 🟩 🌊 35
MapBundle.HaitiAndDomrep 195 KB 401 KB 🗺️ 🏙️ 〰️ 💧 🏛️ 🏖️ 🟩 🌊 145
MapBundle.Honduras 227 KB 338 KB 🗺️ 🏙️ 〰️ 💧 🏛️ 🏖️ 🟩 🌊 267
MapBundle.Hungary 61 KB 113 KB 🗺️ 🏙️ 〰️ 💧 🏛️ 58
MapBundle.Iceland 466 KB 693 KB 🗺️ 🏙️ 〰️ 🏛️ 🏖️ 🟩 🌊 516
MapBundle.India 1.2 MB 2.4 MB 🗺️ 🏙️ 〰️ 💧 🏛️ 🏖️ 🟩 🌊 2,103
MapBundle.Indonesia 3.6 MB 6.5 MB 🗺️ 🏙️ 〰️ 💧 🏛️ 🏖️ 🟩 🌊 6,052
MapBundle.Iran 549 KB 892 KB 🗺️ 🏙️ 〰️ 💧 🏛️ 🏖️ 🟩 🌊 575
MapBundle.Iraq 99 KB 179 KB 🗺️ 🏙️ 〰️ 💧 🏛️ 🏖️ 🟩 🌊 91
MapBundle.IrelandAndNorthernIreland 494 KB 786 KB 🗺️ 🏙️ 〰️ 💧 🏛️ 🏖️ 🟩 🌊 531
MapBundle.IsraelAndPalestine 52 KB 75 KB 🗺️ 🏙️ 〰️ 💧 🏛️ 🏖️ 🟩 🌊 43
MapBundle.Italy 772 KB 1.2 MB 🗺️ 🏙️ 〰️ 💧 🏛️ 🏖️ 🟩 🌊 818
MapBundle.IvoryCoast 98 KB 215 KB 🗺️ 🏙️ 〰️ 💧 🏛️ 🏖️ 🟩 🌊 61
MapBundle.Jamaica 58 KB 68 KB 🗺️ 🏙️ 🏛️ 🏖️ 🟩 🌊 34
MapBundle.Japan 2.1 MB 3.3 MB 🗺️ 🏙️ 〰️ 💧 🏛️ 🏖️ 🟩 🌊 2,956
MapBundle.Jordan 43 KB 46 KB 🗺️ 🏙️ 〰️ 💧 🏛️ 🏖️ 🟩 🌊 32
MapBundle.Kazakhstan 383 KB 702 KB 🗺️ 🏙️ 〰️ 💧 🏛️ 🏖️ 🟩 🌊 489
MapBundle.Kenya 148 KB 285 KB 🗺️ 🏙️ 〰️ 💧 🏛️ 🏖️ 🟩 🌊 171
MapBundle.Kiribati 4.7 MB 6.2 MB 🗺️ 🏙️ 〰️ 💧 🏖️ 🟩 🌊 10,349
MapBundle.Kyrgyzstan 81 KB 167 KB 🗺️ 🏙️ 〰️ 💧 🏛️ 35
MapBundle.Laos 200 KB 378 KB 🗺️ 🏙️ 〰️ 💧 🏛️ 🏖️ 🟩 🌊 288
MapBundle.Latvia 82 KB 146 KB 🗺️ 🏙️ 〰️ 💧 🏛️ 🏖️ 🟩 🌊 141
MapBundle.Lebanon 44 KB 45 KB 🗺️ 🏙️ 〰️ 🏛️ 🏖️ 🟩 🌊 21
MapBundle.Lesotho 42 KB 57 KB 🗺️ 🏙️ 〰️ 🏛️ 22
MapBundle.Liberia 66 KB 119 KB 🗺️ 🏙️ 〰️ 💧 🏛️ 🏖️ 🟩 🌊 39
MapBundle.Libya 101 KB 163 KB 🗺️ 🏙️ 🏛️ 🏖️ 🟩 🌊 73
MapBundle.Liechtenstein 25 KB 8 KB 🗺️ 🏙️ 〰️ 🏛️ 14
MapBundle.Lithuania 69 KB 140 KB 🗺️ 🏙️ 〰️ 💧 🏛️ 🏖️ 🟩 🌊 88
MapBundle.Luxembourg 30 KB 20 KB 🗺️ 🏙️ 〰️ 🏛️ 17
MapBundle.Macedonia 44 KB 70 KB 🗺️ 🏙️ 〰️ 🏛️ 78
MapBundle.Madagascar 316 KB 592 KB 🗺️ 🏙️ 〰️ 💧 🏛️ 🏖️ 🟩 🌊 325
MapBundle.Malawi 88 KB 209 KB 🗺️ 🏙️ 〰️ 💧 🏛️ 61
MapBundle.MalaysiaSingaporeBrunei 523 KB 891 KB 🗺️ 🏙️ 〰️ 🏛️ 🏖️ 🟩 🌊 1,185
MapBundle.Maldives 105 KB 220 KB 🗺️ 🏙️ 🏛️ 🏖️ 🟩 🌊 465
MapBundle.Mali 99 KB 224 KB 🗺️ 🏙️ 〰️ 💧 🏛️ 57
MapBundle.Malta 38 KB 34 KB 🗺️ 🏙️ 🏛️ 🏖️ 🟩 🌊 79
MapBundle.MarshallIslands 81 KB 140 KB 🗺️ 🏙️ 🏖️ 🟩 🌊 319
MapBundle.Mauritania 90 KB 139 KB 🗺️ 🏙️ 〰️ 🏛️ 🏖️ 🟩 🌊 76
MapBundle.Mauritius 49 KB 52 KB 🗺️ 🏙️ 🏛️ 🏖️ 🟩 🌊 72
MapBundle.Mexico 1.5 MB 2.5 MB 🗺️ 🏙️ 〰️ 💧 🏛️ 🏖️ 🟩 🌊 2,388
MapBundle.Micronesia 72 KB 104 KB 🗺️ 🏙️ 🏛️ 🏖️ 🟩 🌊 229
MapBundle.Moldova 54 KB 93 KB 🗺️ 🏙️ 〰️ 🏛️ 🏖️ 🟩 🌊 49
MapBundle.Monaco 23 KB 2 KB 🗺️ 🏙️ 🏖️ 🟩 🌊 5
MapBundle.Mongolia 126 KB 264 KB 🗺️ 🏙️ 〰️ 💧 🏛️ 93
MapBundle.Montenegro 53 KB 71 KB 🗺️ 🏙️ 〰️ 💧 🏛️ 🏖️ 🟩 🌊 36
MapBundle.Morocco 195 KB 321 KB 🗺️ 🏙️ 〰️ 🏛️ 🏖️ 🟩 🌊 137
MapBundle.Mozambique 224 KB 419 KB 🗺️ 🏙️ 〰️ 💧 🏛️ 🏖️ 🟩 🌊 194
MapBundle.Myanmar 841 KB 1.7 MB 🗺️ 🏙️ 〰️ 💧 🏛️ 🏖️ 🟩 🌊 1,621
MapBundle.Namibia 105 KB 198 KB 🗺️ 🏙️ 〰️ 💧 🏛️ 🏖️ 🟩 🌊 73
MapBundle.Nauru 24 KB 5 KB 🗺️ 🏛️ 🏖️ 🟩 🌊 18
MapBundle.Nepal 58 KB 107 KB 🗺️ 🏙️ 〰️ 24
MapBundle.Netherlands 3.8 MB 4.7 MB 🗺️ 🏙️ 〰️ 💧 🏛️ 🏖️ 🟩 🌊 5,090
MapBundle.NewCaledonia 162 KB 250 KB 🗺️ 🏙️ 🏖️ 🟩 🌊 200
MapBundle.NewZealand 2.2 MB 3.2 MB 🗺️ 🏙️ 〰️ 💧 🏛️ 🏖️ 🟩 🌊 4,046
MapBundle.Nicaragua 187 KB 265 KB 🗺️ 🏙️ 〰️ 💧 🏛️ 🏖️ 🟩 🌊 189
MapBundle.Niger 55 KB 90 KB 🗺️ 🏙️ 〰️ 💧 🏛️ 34
MapBundle.Nigeria 151 KB 366 KB 🗺️ 🏙️ 〰️ 💧 🏛️ 🏖️ 🟩 🌊 154
MapBundle.Niue 24 KB 4 KB 🗺️ 🏖️ 🟩 🌊 4
MapBundle.NorthKorea 226 KB 372 KB 🗺️ 🏙️ 〰️ 💧 🏛️ 🏖️ 🟩 🌊 210
MapBundle.Norway 13.7 MB 19.5 MB 🗺️ 🏙️ 〰️ 💧 🏛️ 🏖️ 🟩 🌊 30,844
MapBundle.Pakistan 249 KB 509 KB 🗺️ 🏙️ 〰️ 💧 🏛️ 🏖️ 🟩 🌊 160
MapBundle.Palau 55 KB 69 KB 🗺️ 🏙️ 🏛️ 🏖️ 🟩 🌊 94
MapBundle.Panama 274 KB 455 KB 🗺️ 🏙️ 〰️ 💧 🏛️ 🏖️ 🟩 🌊 261
MapBundle.PapuaNewGuinea 1.0 MB 1.8 MB 🗺️ 🏙️ 〰️ 💧 🏛️ 🏖️ 🟩 🌊 2,090
MapBundle.Paraguay 83 KB 174 KB 🗺️ 🏙️ 〰️ 💧 🏛️ 68
MapBundle.Peru 400 KB 764 KB 🗺️ 🏙️ 〰️ 💧 🏛️ 🏖️ 🟩 🌊 406
MapBundle.Philippines 1.4 MB 2.5 MB 🗺️ 🏙️ 〰️ 💧 🏛️ 🏖️ 🟩 🌊 2,186
MapBundle.PitcairnIslands 81 KB 140 KB 🗺️ 🏙️ 🏖️ 🟩 🌊 319
MapBundle.Poland 146 KB 263 KB 🗺️ 🏙️ 〰️ 💧 🏛️ 🏖️ 🟩 🌊 155
MapBundle.PolynesieFrancaise 134 KB 213 KB 🗺️ 🏙️ 🏛️ 🏖️ 🟩 🌊 193
MapBundle.Portugal 203 KB 357 KB 🗺️ 🏙️ 〰️ 🏛️ 🏖️ 🟩 🌊 177
MapBundle.Romania 106 KB 212 KB 🗺️ 🏙️ 〰️ 🏛️ 🏖️ 🟩 🌊 108
MapBundle.Rwanda 44 KB 60 KB 🗺️ 🏙️ 〰️ 💧 🏛️ 22
MapBundle.SaintHelenaAscensionAndTristanDaCunha 34 KB 25 KB 🗺️ 🏛️ 🏖️ 🟩 🌊 72
MapBundle.Samoa 40 KB 32 KB 🗺️ 🏙️ 🏖️ 🟩 🌊 18
MapBundle.SaoTomeAndPrincipe 36 KB 22 KB 🗺️ 🏙️ 🏛️ 🏖️ 🟩 🌊 15
MapBundle.SenegalAndGambia 83 KB 156 KB 🗺️ 🏙️ 〰️ 🏛️ 🏖️ 🟩 🌊 77
MapBundle.Serbia 63 KB 122 KB 🗺️ 🏙️ 〰️ 💧 🏛️ 🏖️ 🟩 🌊 50
MapBundle.Seychelles 54 KB 63 KB 🗺️ 🏙️ 🏖️ 🟩 🌊 125
MapBundle.SierraLeone 73 KB 114 KB 🗺️ 🏙️ 〰️ 🏛️ 🏖️ 🟩 🌊 94
MapBundle.Slovakia 46 KB 72 KB 🗺️ 🏙️ 〰️ 🏛️ 20
MapBundle.Slovenia 65 KB 126 KB 🗺️ 🏙️ 〰️ 🏛️ 🏖️ 🟩 🌊 223
MapBundle.SolomonIslands 395 KB 705 KB 🗺️ 🏙️ 🏛️ 🏖️ 🟩 🌊 727
MapBundle.Somalia 116 KB 179 KB 🗺️ 🏙️ 〰️ 💧 🏛️ 🏖️ 🟩 🌊 109
MapBundle.SouthAfrica 243 KB 475 KB 🗺️ 🏙️ 〰️ 💧 🏛️ 🏖️ 🟩 🌊 218
MapBundle.SouthKorea 758 KB 1.2 MB 🗺️ 🏙️ 〰️ 🏛️ 🏖️ 🟩 🌊 1,292
MapBundle.SouthSudan 83 KB 181 KB 🗺️ 🏙️ 〰️ 💧 🏛️ 46
MapBundle.Spain 652 KB 1.1 MB 🗺️ 🏙️ 〰️ 💧 🏛️ 🏖️ 🟩 🌊 354
MapBundle.SriLanka 100 KB 170 KB 🗺️ 🏙️ 〰️ 💧 🏛️ 🏖️ 🟩 🌊 126
MapBundle.Sudan 132 KB 252 KB 🗺️ 🏙️ 〰️ 💧 🏛️ 🏖️ 🟩 🌊 121
MapBundle.Suriname 57 KB 83 KB 🗺️ 🏙️ 〰️ 💧 🏛️ 🏖️ 🟩 🌊 33
MapBundle.Swaziland 26 KB 9 KB 🗺️ 🏙️ 〰️ 🏛️ 13
MapBundle.Sweden 4.8 MB 7.3 MB 🗺️ 🏙️ 〰️ 💧 🏛️ 🏖️ 🟩 🌊 17,038
MapBundle.Switzerland 58 KB 109 KB 🗺️ 🏙️ 〰️ 💧 🏛️ 67
MapBundle.Syria 68 KB 101 KB 🗺️ 🏙️ 〰️ 💧 🏛️ 🏖️ 🟩 🌊 51
MapBundle.Taiwan 225 KB 310 KB 🗺️ 🏙️ 〰️ 🏛️ 🏖️ 🟩 🌊 335
MapBundle.Tajikistan 72 KB 144 KB 🗺️ 🏙️ 〰️ 💧 🏛️ 25
MapBundle.Tanzania 272 KB 595 KB 🗺️ 🏙️ 〰️ 💧 🏛️ 🏖️ 🟩 🌊 249
MapBundle.Thailand 606 KB 1.1 MB 🗺️ 🏙️ 〰️ 💧 🏛️ 🏖️ 🟩 🌊 1,347
MapBundle.Togo 55 KB 79 KB 🗺️ 🏙️ 〰️ 💧 🏛️ 🏖️ 🟩 🌊 21
MapBundle.Tokelau 134 KB 213 KB 🗺️ 🏙️ 🏛️ 🏖️ 🟩 🌊 193
MapBundle.Tonga 58 KB 73 KB 🗺️ 🏙️ 🏛️ 🏖️ 🟩 🌊 146
MapBundle.Tunisia 130 KB 220 KB 🗺️ 🏙️ 🏛️ 🏖️ 🟩 🌊 108
MapBundle.Turkey 587 KB 1.0 MB 🗺️ 🏙️ 〰️ 💧 🏛️ 🏖️ 🟩 🌊 634
MapBundle.Turkmenistan 109 KB 171 KB 🗺️ 🏙️ 〰️ 💧 🏛️ 🏖️ 🟩 🌊 60
MapBundle.Tuvalu 33 KB 24 KB 🗺️ 🏙️ 🏛️ 🏖️ 🟩 🌊 48
MapBundle.Uganda 134 KB 337 KB 🗺️ 🏙️ 〰️ 💧 🏛️ 175
MapBundle.Ukraine 296 KB 545 KB 🗺️ 🏙️ 〰️ 💧 🏛️ 🏖️ 🟩 🌊 229
MapBundle.UnitedKingdom 2.0 MB 4.0 MB 🗺️ 🏙️ 〰️ 💧 🏛️ 🏖️ 🟩 🌊 1,677
MapBundle.Us 54.6 MB 74.7 MB 🗺️ 🏙️ 〰️ 💧 🏛️ 🏖️ 🟩 🌊 113,969
MapBundle.Uruguay 88 KB 154 KB 🗺️ 🏙️ 〰️ 💧 🏛️ 🏖️ 🟩 🌊 78
MapBundle.Uzbekistan 94 KB 193 KB 🗺️ 🏙️ 〰️ 💧 🏛️ 61
MapBundle.Vanuatu 134 KB 213 KB 🗺️ 🏙️ 🏛️ 🏖️ 🟩 🌊 193
MapBundle.Venezuela 362 KB 708 KB 🗺️ 🏙️ 〰️ 💧 🏛️ 🏖️ 🟩 🌊 374
MapBundle.Vietnam 660 KB 1.1 MB 🗺️ 🏙️ 〰️ 💧 🏛️ 🏖️ 🟩 🌊 1,075
MapBundle.WallisEtFutuna 134 KB 213 KB 🗺️ 🏙️ 🏛️ 🏖️ 🟩 🌊 193
MapBundle.Yemen 186 KB 297 KB 🗺️ 🏙️ 🏛️ 🏖️ 🟩 🌊 307
MapBundle.Zambia 126 KB 280 KB 🗺️ 🏙️ 〰️ 💧 🏛️ 75
MapBundle.Zimbabwe 84 KB 175 KB 🗺️ 🏙️ 〰️ 💧 🏛️ 44
MapBundle.UsPuertoRico 64 KB 72 KB 🗺️ 🏙️ 🏖️ 🟩 🌊 37
MapBundle.UsUsVirginIslands 43 KB 36 KB 🗺️ 🏙️ 🏖️ 🟩 🌊 44
MapBundle.IleDeClipperton 134 KB 213 KB 🗺️ 🏙️ 🏛️ 🏖️ 🟩 🌊 193

Data sources

  • Borders and StatesProvinces come from country-levels — OSM-derived, pre-simplified WGS84 boundaries keyed by ISO code.
  • Cities, Rivers and Lakes come from Natural Earth (public domain, 1:10m) via the nvkelso/natural-earth-vector mirror. Cities are selected per region by ISO code; rivers and lakes are clipped to the region's bounding box.
  • Land and Ocean come from osmdata.openstreetmap.de; Coastline is derived from the land polygons.

Regions

The region tree follows Geofabrik's download index: the continents and their countries. MapBundle.World merges every continent. Sub-country levels (US states, German Bundesländer) are not published. See src/Tests/Builder/Regions.cs.

Building the data packages

The builder lives in the test project (src/Tests/Builder/) and runs as an explicit test. It downloads the source data (cached locally by Replicant), filters and simplifies each region, exports FlatGeobuf and writes the .nupkg files into nugets/:

src/Tests/bin/Release/net10.0/Tests --treenode-filter "/*/*/PackageBuilder/Generate"

To validate the pipeline on a single region (default monaco) without building the whole tree:

MAPBUNDLE_SLICE=monaco src/Tests/bin/Debug/net10.0/Tests --treenode-filter "/*/*/PackageBuilder/Slice"

Geometry simplification and EPSG:3857→4326 reprojection use NetTopologySuite, a build-only dependency; the shipped MapBundle core depends only on GeoConvert.

License

The MapBundle core library is MIT. The data packages contain OpenStreetMap data and are licensed under the ODbL — © OpenStreetMap contributors.

About

Offline map data — country borders, major cities and waterways — for .NET apps, shipped as FlatGeobuf in NuGet packages.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Contributors