diff --git a/LICENSE b/LICENSE index 2909e11..968f2e9 100644 --- a/LICENSE +++ b/LICENSE @@ -1 +1 @@ -Data in this repository has been licensed by Microsoft under the Open Data Commons Open Database License (ODbL). \ No newline at end of file +Data in this repository has been licensed by Microsoft under CLDA Permissive 2.0. \ No newline at end of file diff --git a/README.md b/README.md index fbdd394..e79d7e8 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,49 @@ ## Introduction -Bing Maps is releasing open building footprints around the world. We have detected **777M** buildings from Bing Maps imagery between 2014 and 2021 including Maxar and Airbus imagery. The data is freely available for download and use under ODbL. This dataset complements our [other releases](#will-there-be-more-data-coming-for-other-geographies). +Bing Maps is releasing open building footprints around the world. We have detected **1.4B** buildings from Bing Maps imagery between 2014 and 2024 including Maxar, Airbus, and IGN France imagery. The data is freely available for download and use under CDLA Permissive 2.0. This dataset includes our [other releases](#will-there-be-more-data-coming-for-other-geographies). + +## Updates +* 2026-02-03 - Added **1.2M** building footprints and **1.2M** height estimates derived from Vexcel imagery between 2021 and 2025. All contributions are from the United States (1.2M). [dataset-links.csv](https://minedbuildings.z5.web.core.windows.net/global-buildings/dataset-links.csv) updated 3 February 2026. +* 2026-01-27 - Added **1.0M** building footprints and **1.0M** height estimates derived from Vexcel imagery between 2021 and 2025. All contributions are from the United States (1.1M). [dataset-links.csv](https://minedbuildings.z5.web.core.windows.net/global-buildings/dataset-links.csv) updated 27 January 2026. +* 2026-01-23 - Added **1.0M** building footprints and **1.0M** height estimates derived from Vexcel imagery between 2021 and 2025. All contributions are from the United States (1.1M). [dataset-links.csv](https://minedbuildings.z5.web.core.windows.net/global-buildings/dataset-links.csv) updated 23 January 2026. +* 2026-01-18 - Added **1.9M** building footprints and **1.9M** height estimates derived from Maxar and Vexcel imagery between 2020 and 2025. All contributions are from the United States (1.1M). [dataset-links.csv](https://minedbuildings.z5.web.core.windows.net/global-buildings/dataset-links.csv) updated 18 January 2026. +* 2026-01-09 - Added **3.5M** building footprints and **3.4M** height estimates derived from Maxar and Vexcel imagery between 2020 and 2025. Largest contributions are to Belgium (1.8M), Netherlands (1.6M), and Germany (1.1M). [dataset-links.csv](https://minedbuildings.z5.web.core.windows.net/global-buildings/dataset-links.csv) updated 09 January 2026. +* 2025-02-28 - Added **18M** building footprints and **4.2M** height estimates derived from Maxar and Vexcel imagery between 2017 and 2024. Largest contributions are to Turkey (5.8M), Greece (6M), and France (3.8M). [dataset-links.csv](https://minedbuildings.z5.web.core.windows.net/global-buildings/dataset-links.csv) updated 28 February 2025. +* 2025-02-03 - Added **7.4M** building footprints and **2.4M** height estimates derived from from Maxar and Vexcel imagery between 2020 and 2024. The largest contributions are to France (5.8M) and the United States (1.2M). dataset-links.csv updated 3 February 2025. +* 2025-01-06 - Added **9.6M** building footprint edits derived from Maxar imagery between 2021 and 2024. Largest contributions are to Chile (3.4M), Norway (2M), Brazil (2M), and Sweden (1.5M). No new height estimates. dataset-links.csv updated 6 January 2025. +* 2024-12-02 - Added **12M** building footprint edits and **554k** height estimates derived from Maxar and Vexcel imagery between 2018 and 2024. The largest contributions are to Sudan (5.5M), Ethiopia (3.3M), and Saudi Arabia (590k). dataset-links.csv updated on 2 December 2024. Changed merge logic to update tiles at LOD 19 instead of LOD 15 reducing update boundary visibility. +* 2024-11-07 - Dataset hosting is moving! You will notice `dataset-links.csv` has a new url https://minedbuildings.z5.web.core.windows.net/global-buildings/dataset-links.csv. All links are updated from https://minedbuildings.**blob**.core.windows.net/ -> https://minedbuildings.**z5.web**.core.windows.net/. Older versions will not be moved but updates will be available at this new location going forward. +* 2024-11-01 - Added **12M** building footprint edits and **3.2M** height estimates derived from Maxar and Vexcel imagery between 2019 and 2024. The largest contributions are to the US (3.2M), Argentina (2.8M), and Iran (2.4M). dataset-links.csv updated on 1 November 2024. +* 2024-09-25 - Added **4.7M** building footprint edits and **4.4M** height estimates derived from Maxar and Vexcel imagery between 2019 and 2024. The largest contributions are to the US (2.6M) and UK (1.5M). dataset-links.csv updated on 25 September 2024. +* 2024-08-27 - Added **4.8M** building footprint edits and **2.1M** height estimates derived from Vexcel and Maxar imagery between 2019 and 2024. The largest contributions are for the United States (1.7M), South Africa (1.5M), and Brazil (1.1M). dataset-links.csv updated on 28 August 2024. +* 2024-07-30 - Added **1.6M** building footprint edits and **1.5M** height estimates derived from Maxar and Vexcel imagery between 2020 and 2024. The largest contribution was in the United States. dataset-links.csv updated on 6 August 2024. +* 2024-06-25 - Added **380K** building footprint edits and **364K** height estimates derived from Maxar and Vexcel imagery between 2020 and 2024. The largest contribution was in the United States. dataset-links.csv updated on 27 June 2024. +* 2024-06-03 - Added **637K** building footprint edits and **627K** height estimated derived from Maxar and Vexcel imagery between 2020 and 2024. Primary contribution is in the United States (631K). dataset-links.csv was updated on 3 June 2024. +* 2024-05-01 - Added **596K** building footprint edits and **125K** height estimated derived from Maxar and Vexcel imagery between 2017 and 2023. Primary contributions are in France (525K) and Germany (44K). dataset-links.csv was updated on 1 May 2024. +* 2024-03-26 - Added **128M** building footprint edits and **3.5M** height estimated derived from Maxar and Vexcel imagery between 2019 and 2023. Primary contributions are in India (110M) and Nepal (7M). dataset-links.csv was updated on 1 April 2024. +* 2024-03-01 - added **58M** new building footprint edits and **10M** height estimates derived from Maxar and Vexcel imagery between 2019 and 2023. The largest contributions are to Brazil (43M), United States (4.7M), and Germany (3.5M). +* 2024-02-01 - added **47M** new building footprint edits and **26M** height estimates derived from Maxar, Vexcel and IGN-France imagery between 2016 and 2023. The largest contributions are to Germany (8M) and United States (8M). +* 2024-01-03 - added **35M** new building footprint edits and **15M** height estimates derived from Vexcel and Maxar imagery between 2016 and 2022. The largest contributions are to Brazil (19M) and Italy (15M). +* 2023-12-01 - added **69M** building footprint edits and **2M** height estimates derived from Maxar and Vexcel imagery between 2015 and 2023. Biggest contributions are Egypt (11M), Algeria (8M), and France (7M). We've added confidence scores to new footprints. See [Building confidence scores](#building-confidence-scores). +* 2023-10-20 - Added **95M** building footprint edits and **9M** height estimates derived from Maxar and Vexcel imagery between 2017 and 2023. Updated structures in 52 +countries with the largest contributors in Mexico (17M), Ethiopia (16M) and Kenya (15M). +* 2023-10-02 - Added **77M** buildings footprint edits derived from Maxar and Vexcel imagery between 2018 and 2023. Updated structures in 35 countries with the top 3 contributions in India (24M), Bangladesh (19M), and Pakistan (14M). +* 2023-09-05 - Added **38M** building footprint edits and **21M** height estimates derived from Vexcel and Maxar imagery from 2018 to 2023. Updated structures in 22 countries primarily in the United States (13M), United Kingdom (7.6M), and Peru (9M). +* 2023-08-22 - Added **730K** buildings from Vexcel imagery between 2020 and 2022. The largest updates are for Spain (369K), Austria (196K), and Germany (69K). +* 2023-07-24 - added **5M** new buildings from Digital Globe and Maxar. Biggest contribution is Australia (5M). +* 2023-06-05 - Combining [all building footprint releases](#will-there-be-more-data-coming-for-other-geographies) into one distribution. Total footprints: **1.2B**. Footprints with height: **174M**. Updated coverage map and associated features. Other data sources will remain unchanged. +* 2023-05-31 - added **49M** updated footprints and **10M** height attributes from Vexcel and Maxar imagery. Biggest contributions are Nigeria (18M), United States (9M), and Burkina Faso (7M). +* 2023-05-18 - added **77M** buildings heights to the US and Western Europe. See Coverage map. +* 2023-04-28 - Improved near duplicate and overlapping data detection and removal. +* 2023-03-13 - Added **41MM** new buildings in Japan derived from Maxar Imagery (FP rate 0.8%). Added **79M** building height estimates for North America structures. +* 2022-11-16 - Added **40M** new and updated buildings across 46 geographies derived from Bing imagery including Maxar, IGN-France, and AirBus between 2015 and 2022. The largest updates are for Pakistan (16M), Turkey (13M), Afghanistan (3M), and Saudi Arabia (2.5M). Added [make-gis-friendly.py](scripts/make-gis-friendly.py) demonstrating how to convert files +into a GIS tool (e.g., QGIS, ArcGIS) friendly format. +* 2022-10-12 - Added **147M** new buildings for North America based on Vexcel and Maxar imagery between 2017 and 2022. This data is a refresh of [US](https://github.com/microsoft/USBuildingFootprints). Updated data format from country-partitioned zip + files to country-[l9 quad key](https://learn.microsoft.com/en-us/bingmaps/articles/bing-maps-tile-system#tile-coordinates-and-quadkeys) gzipped partitioned files. Each file extension is .csv.gz but the contents are geojsonl. False positive rate for this dataset is ~1% based on a 4k structure sample. Link table was moved + to a [dataset-links.csv](https://minedbuildings.z5.web.core.windows.net/global-buildings/dataset-links.csv) +* 2022-07-08 - Added **78M** buildings in Western EU Countries from Maxar imagery between 2014 and 2021 bringing the total structure count to **856M**. Added link to download buildings coverage. +* 2022-07-05 - The complete building footprints dataset is available on [Microsoft's Planetary Computer](https://planetarycomputer.microsoft.com/dataset/ms-buildings) + ![sample footprints](images/footprints-sample.png) @@ -8,209 +51,22 @@ Bing Maps is releasing open building footprints around the world. We have detect ![building regions](images/country-overview.png) +You can download the layer above as GeoJSON [here](https://minedbuildings.z5.web.core.windows.net/global-buildings/buildings-coverage.geojson). + +### Buildings with height coverage +![building heights](images/building-height-coverage.png) + +You can download the layer above as GeoJSON [here](https://minedbuildings.z5.web.core.windows.net/global-buildings/buildings-with-height-coverage.geojson). ## License -This data is licensed by Microsoft under the [Open Data Commons Open Database License (ODbL)](https://opendatacommons.org/licenses/odbl/). +This data is licensed by Microsoft under the [CDLA Permissive 2.0](https://cdla.dev/permissive-2-0/). + ## FAQ ### What does the data include? -776,712,641 building footprint polygon geometries located around the world in line delimited GeoJSON format. - -| Location | Count | Link | Size (Compressed) | -| :---: | :---: | :---: |:---: | -| Abyei | 171 | [Abyei.zip](https://minedbuildings.blob.core.windows.net/global-buildings/2022-05-02/Abyei.zip) | 12.4KB | -| Afghanistan | 6,588,698 | [Afghanistan.zip](https://minedbuildings.blob.core.windows.net/global-buildings/2022-05-02/Afghanistan.zip) | 544.3MB | -| Africa | 4,631 | [Africa.zip](https://minedbuildings.blob.core.windows.net/global-buildings/2022-05-02/Africa.zip) | 398.1KB | -| Albania | 1,180,766 | [Albania.zip](https://minedbuildings.blob.core.windows.net/global-buildings/2022-05-02/Albania.zip) | 91.9MB | -| Algeria | 6,855,084 | [Algeria.zip](https://minedbuildings.blob.core.windows.net/global-buildings/2022-05-02/Algeria.zip) | 607.1MB | -| Andorra | 8,322 | [Andorra.zip](https://minedbuildings.blob.core.windows.net/global-buildings/2022-05-02/Andorra.zip) | 856.1KB | -| Angola | 4,845,241 | [Angola.zip](https://minedbuildings.blob.core.windows.net/global-buildings/2022-05-02/Angola.zip) | 348.1MB | -| Anguilla | 9,273 | [Anguilla.zip](https://minedbuildings.blob.core.windows.net/global-buildings/2022-05-02/Anguilla.zip) | 749.8KB | -| Antigua and Barbuda | 45,997 | [Antigua and Barbuda.zip](https://minedbuildings.blob.core.windows.net/global-buildings/2022-05-02/Antigua%20and%20Barbuda.zip) | 3.4MB | -| Argentina | 6,753,096 | [Argentina.zip](https://minedbuildings.blob.core.windows.net/global-buildings/2022-05-02/Argentina.zip) | 581.3MB | -| Armenia | 939,034 | [Armenia.zip](https://minedbuildings.blob.core.windows.net/global-buildings/2022-05-02/Armenia.zip) | 77.9MB | -| Aruba | 65,366 | [Aruba.zip](https://minedbuildings.blob.core.windows.net/global-buildings/2022-05-02/Aruba.zip) | 5.0MB | -| Asia | 38,522 | [Asia.zip](https://minedbuildings.blob.core.windows.net/global-buildings/2022-05-02/Asia.zip) | 3.0MB | -| Austria | 3,775,603 | [Austria.zip](https://minedbuildings.blob.core.windows.net/global-buildings/2022-05-02/Austria.zip) | 350.3MB | -| Azerbaijan | 2,096,220 | [Azerbaijan.zip](https://minedbuildings.blob.core.windows.net/global-buildings/2022-05-02/Azerbaijan.zip) | 163.2MB | -| Bahrain | 197,940 | [Bahrain.zip](https://minedbuildings.blob.core.windows.net/global-buildings/2022-05-02/Bahrain.zip) | 19.3MB | -| Bangladesh | 15,189,620 | [Bangladesh.zip](https://minedbuildings.blob.core.windows.net/global-buildings/2022-05-02/Bangladesh.zip) | 1.1GB | -| Barbados | 147,197 | [Barbados.zip](https://minedbuildings.blob.core.windows.net/global-buildings/2022-05-02/Barbados.zip) | 11.2MB | -| Belarus | 6,680,517 | [Belarus.zip](https://minedbuildings.blob.core.windows.net/global-buildings/2022-05-02/Belarus.zip) | 532.3MB | -| Belize | 143,087 | [Belize.zip](https://minedbuildings.blob.core.windows.net/global-buildings/2022-05-02/Belize.zip) | 10.2MB | -| Benin | 1,785,985 | [Benin.zip](https://minedbuildings.blob.core.windows.net/global-buildings/2022-05-02/Benin.zip) | 129.6MB | -| Bhutan | 122,685 | [Bhutan.zip](https://minedbuildings.blob.core.windows.net/global-buildings/2022-05-02/Bhutan.zip) | 8.9MB | -| Bolivia | 3,017,479 | [Bolivia.zip](https://minedbuildings.blob.core.windows.net/global-buildings/2022-05-02/Bolivia.zip) | 229.9MB | -| Bonaire | 14,316 | [Bonaire.zip](https://minedbuildings.blob.core.windows.net/global-buildings/2022-05-02/Bonaire.zip) | 1.1MB | -| Bosnia and Herzegovina | 2,391,614 | [Bosnia and Herzegovina.zip](https://minedbuildings.blob.core.windows.net/global-buildings/2022-05-02/Bosnia%20and%20Herzegovina.zip) | 179.3MB | -| Botswana | 1,180,488 | [Botswana.zip](https://minedbuildings.blob.core.windows.net/global-buildings/2022-05-02/Botswana.zip) | 84.9MB | -| Brazil | 59,523,654 | [Brazil.zip](https://minedbuildings.blob.core.windows.net/global-buildings/2022-05-02/Brazil.zip) | 4.7GB | -| British Indian Ocean Territory | 928 | [British Indian Ocean Territory.zip](https://minedbuildings.blob.core.windows.net/global-buildings/2022-05-02/British%20Indian%20Ocean%20Territory.zip) | 74.3KB | -| British Virgin Islands | 10,298 | [British Virgin Islands.zip](https://minedbuildings.blob.core.windows.net/global-buildings/2022-05-02/British%20Virgin%20Islands.zip) | 802.5KB | -| Bulgaria | 4,033,282 | [Bulgaria.zip](https://minedbuildings.blob.core.windows.net/global-buildings/2022-05-02/Bulgaria.zip) | 321.1MB | -| Burkina Faso | 2,076,127 | [Burkina Faso.zip](https://minedbuildings.blob.core.windows.net/global-buildings/2022-05-02/Burkina%20Faso.zip) | 147.8MB | -| Burundi | 1,932,461 | [Burundi.zip](https://minedbuildings.blob.core.windows.net/global-buildings/2022-05-02/Burundi.zip) | 138.8MB | -| Cambodia | 3,874,425 | [Cambodia.zip](https://minedbuildings.blob.core.windows.net/global-buildings/2022-05-02/Cambodia.zip) | 281.9MB | -| Cameroon | 2,221,646 | [Cameroon.zip](https://minedbuildings.blob.core.windows.net/global-buildings/2022-05-02/Cameroon.zip) | 162.6MB | -| Cayman Islands | 22,655 | [Cayman Islands.zip](https://minedbuildings.blob.core.windows.net/global-buildings/2022-05-02/Cayman%20Islands.zip) | 1.9MB | -| Central African Republic | 379,478 | [Central African Republic.zip](https://minedbuildings.blob.core.windows.net/global-buildings/2022-05-02/Central%20African%20Republic.zip) | 26.4MB | -| Chad | 1,136,154 | [Chad.zip](https://minedbuildings.blob.core.windows.net/global-buildings/2022-05-02/Chad.zip) | 82.0MB | -| Chile | 6,210,879 | [Chile.zip](https://minedbuildings.blob.core.windows.net/global-buildings/2022-05-02/Chile.zip) | 507.0MB | -| Colombia | 7,170,568 | [Colombia.zip](https://minedbuildings.blob.core.windows.net/global-buildings/2022-05-02/Colombia.zip) | 583.2MB | -| Comoros | 119,706 | [Comoros.zip](https://minedbuildings.blob.core.windows.net/global-buildings/2022-05-02/Comoros.zip) | 8.6MB | -| Congo (DRC) | 7,713,432 | [Congo (DRC).zip](https://minedbuildings.blob.core.windows.net/global-buildings/2022-05-02/Congo%20%28DRC%29.zip) | 544.7MB | -| Costa Rica | 1,461,763 | [Costa Rica.zip](https://minedbuildings.blob.core.windows.net/global-buildings/2022-05-02/Costa%20Rica.zip) | 116.9MB | -| Croatia | 2,835,095 | [Croatia.zip](https://minedbuildings.blob.core.windows.net/global-buildings/2022-05-02/Croatia.zip) | 229.0MB | -| Cuba | 2,860,158 | [Cuba.zip](https://minedbuildings.blob.core.windows.net/global-buildings/2022-05-02/Cuba.zip) | 212.8MB | -| Curacao | 103,750 | [Curacao.zip](https://minedbuildings.blob.core.windows.net/global-buildings/2022-05-02/Curacao.zip) | 8.0MB | -| Cyprus | 743,758 | [Cyprus.zip](https://minedbuildings.blob.core.windows.net/global-buildings/2022-05-02/Cyprus.zip) | 62.4MB | -| Czech Republic | 4,952,925 | [Czech Republic.zip](https://minedbuildings.blob.core.windows.net/global-buildings/2022-05-02/Czech%20Republic.zip) | 435.1MB | -| Denmark | 3,038,654 | [Denmark.zip](https://minedbuildings.blob.core.windows.net/global-buildings/2022-05-02/Denmark.zip) | 291.3MB | -| Djibouti | 22,718 | [Djibouti.zip](https://minedbuildings.blob.core.windows.net/global-buildings/2022-05-02/Djibouti.zip) | 1.6MB | -| Dominica | 31,942 | [Dominica.zip](https://minedbuildings.blob.core.windows.net/global-buildings/2022-05-02/Dominica.zip) | 2.3MB | -| Dominican Republic | 2,228,604 | [Dominican Republic.zip](https://minedbuildings.blob.core.windows.net/global-buildings/2022-05-02/Dominican%20Republic.zip) | 165.6MB | -| Ecuador | 4,329,927 | [Ecuador.zip](https://minedbuildings.blob.core.windows.net/global-buildings/2022-05-02/Ecuador.zip) | 341.1MB | -| Egypt | 11,867,135 | [Egypt.zip](https://minedbuildings.blob.core.windows.net/global-buildings/2022-05-02/Egypt.zip) | 1.1GB | -| El Salvador | 1,111,667 | [El Salvador.zip](https://minedbuildings.blob.core.windows.net/global-buildings/2022-05-02/El%20Salvador.zip) | 86.5MB | -| Equatorial Guinea | 178,600 | [Equatorial Guinea.zip](https://minedbuildings.blob.core.windows.net/global-buildings/2022-05-02/Equatorial%20Guinea.zip) | 13.4MB | -| Eritrea | 262,573 | [Eritrea.zip](https://minedbuildings.blob.core.windows.net/global-buildings/2022-05-02/Eritrea.zip) | 19.2MB | -| Estonia | 737,171 | [Estonia.zip](https://minedbuildings.blob.core.windows.net/global-buildings/2022-05-02/Estonia.zip) | 61.0MB | -| Ethiopia | 4,126,997 | [Ethiopia.zip](https://minedbuildings.blob.core.windows.net/global-buildings/2022-05-02/Ethiopia.zip) | 298.4MB | -| Europe | 10,837 | [Europe.zip](https://minedbuildings.blob.core.windows.net/global-buildings/2022-05-02/Europe.zip) | 914.8KB | -| FYRO Makedonija | 775,035 | [FYRO Makedonija.zip](https://minedbuildings.blob.core.windows.net/global-buildings/2022-05-02/FYRO%20Makedonija.zip) | 60.3MB | -| Faroe Islands | 28,887 | [Faroe Islands.zip](https://minedbuildings.blob.core.windows.net/global-buildings/2022-05-02/Faroe%20Islands.zip) | 2.7MB | -| Finland | 4,599,319 | [Finland.zip](https://minedbuildings.blob.core.windows.net/global-buildings/2022-05-02/Finland.zip) | 407.2MB | -| France | 345,081 | [France.zip](https://minedbuildings.blob.core.windows.net/global-buildings/2022-05-02/France.zip) | 29.3MB | -| French Guiana | 69,718 | [French Guiana.zip](https://minedbuildings.blob.core.windows.net/global-buildings/2022-05-02/French%20Guiana.zip) | 5.4MB | -| French-Guadeloupe | 216,907 | [French-Guadeloupe.zip](https://minedbuildings.blob.core.windows.net/global-buildings/2022-05-02/French-Guadeloupe.zip) | 16.6MB | -| French-Martinique | 176,511 | [French-Martinique.zip](https://minedbuildings.blob.core.windows.net/global-buildings/2022-05-02/French-Martinique.zip) | 13.6MB | -| Gabon | 359,041 | [Gabon.zip](https://minedbuildings.blob.core.windows.net/global-buildings/2022-05-02/Gabon.zip) | 27.6MB | -| Gaza Strip | 268,212 | [Gaza Strip.zip](https://minedbuildings.blob.core.windows.net/global-buildings/2022-05-02/Gaza%20Strip.zip) | 21.4MB | -| Georgia | 1,090,508 | [Georgia.zip](https://minedbuildings.blob.core.windows.net/global-buildings/2022-05-02/Georgia.zip) | 83.3MB | -| Germany | 1,501,611 | [Germany.zip](https://minedbuildings.blob.core.windows.net/global-buildings/2022-05-02/Germany.zip) | 131.7MB | -| Ghana | 4,728,159 | [Ghana.zip](https://minedbuildings.blob.core.windows.net/global-buildings/2022-05-02/Ghana.zip) | 365.1MB | -| Golan Heights | 20,919 | [Golan Heights.zip](https://minedbuildings.blob.core.windows.net/global-buildings/2022-05-02/Golan%20Heights.zip) | 1.8MB | -| Greece | 5,767,604 | [Greece.zip](https://minedbuildings.blob.core.windows.net/global-buildings/2022-05-02/Greece.zip) | 474.1MB | -| Grenada | 50,583 | [Grenada.zip](https://minedbuildings.blob.core.windows.net/global-buildings/2022-05-02/Grenada.zip) | 3.7MB | -| Guatemala | 2,586,007 | [Guatemala.zip](https://minedbuildings.blob.core.windows.net/global-buildings/2022-05-02/Guatemala.zip) | 197.5MB | -| Guinea-Bissau | 293,104 | [Guinea-Bissau.zip](https://minedbuildings.blob.core.windows.net/global-buildings/2022-05-02/Guinea-Bissau.zip) | 21.3MB | -| Guinea | 1,588,881 | [Guinea.zip](https://minedbuildings.blob.core.windows.net/global-buildings/2022-05-02/Guinea.zip) | 113.9MB | -| Guyana | 253,154 | [Guyana.zip](https://minedbuildings.blob.core.windows.net/global-buildings/2022-05-02/Guyana.zip) | 18.5MB | -| Haiti | 1,564,156 | [Haiti.zip](https://minedbuildings.blob.core.windows.net/global-buildings/2022-05-02/Haiti.zip) | 110.2MB | -| Honduras | 702,874 | [Honduras.zip](https://minedbuildings.blob.core.windows.net/global-buildings/2022-05-02/Honduras.zip) | 52.1MB | -| Hungary | 5,689,949 | [Hungary.zip](https://minedbuildings.blob.core.windows.net/global-buildings/2022-05-02/Hungary.zip) | 462.3MB | -| Iceland | 199,103 | [Iceland.zip](https://minedbuildings.blob.core.windows.net/global-buildings/2022-05-02/Iceland.zip) | 19.0MB | -| India | 83,978,575 | [India.zip](https://minedbuildings.blob.core.windows.net/global-buildings/2022-05-02/India.zip) | 6.8GB | -| Iran | 7,292,306 | [Iran.zip](https://minedbuildings.blob.core.windows.net/global-buildings/2022-05-02/Iran.zip) | 647.7MB | -| Iraq | 8,189,131 | [Iraq.zip](https://minedbuildings.blob.core.windows.net/global-buildings/2022-05-02/Iraq.zip) | 705.8MB | -| Israel | 1,360,652 | [Israel.zip](https://minedbuildings.blob.core.windows.net/global-buildings/2022-05-02/Israel.zip) | 123.4MB | -| Italy | 12,047,231 | [Italy.zip](https://minedbuildings.blob.core.windows.net/global-buildings/2022-05-02/Italy.zip) | 1.1GB | -| Ivory Coast | 3,128,454 | [Ivory Coast.zip](https://minedbuildings.blob.core.windows.net/global-buildings/2022-05-02/Ivory%20Coast.zip) | 228.6MB | -| Jamaica | 900,787 | [Jamaica.zip](https://minedbuildings.blob.core.windows.net/global-buildings/2022-05-02/Jamaica.zip) | 66.5MB | -| Jordan | 1,158,711 | [Jordan.zip](https://minedbuildings.blob.core.windows.net/global-buildings/2022-05-02/Jordan.zip) | 103.9MB | -| Kazakhstan | 7,202,955 | [Kazakhstan.zip](https://minedbuildings.blob.core.windows.net/global-buildings/2022-05-02/Kazakhstan.zip) | 585.2MB | -| Kingdom of Saudi Arabia | 5,920,209 | [Kingdom of Saudi Arabia.zip](https://minedbuildings.blob.core.windows.net/global-buildings/2022-05-02/Kingdom%20of%20Saudi%20Arabia.zip) | 518.7MB | -| Kosovo | 737,492 | [Kosovo.zip](https://minedbuildings.blob.core.windows.net/global-buildings/2022-05-02/Kosovo.zip) | 57.5MB | -| Kuwait | 48,932 | [Kuwait.zip](https://minedbuildings.blob.core.windows.net/global-buildings/2022-05-02/Kuwait.zip) | 3.8MB | -| Kyrgyzstan | 2,219,294 | [Kyrgyzstan.zip](https://minedbuildings.blob.core.windows.net/global-buildings/2022-05-02/Kyrgyzstan.zip) | 178.1MB | -| Laos | 1,698,220 | [Laos.zip](https://minedbuildings.blob.core.windows.net/global-buildings/2022-05-02/Laos.zip) | 123.7MB | -| Lapthal | 22 | [Lapthal.zip](https://minedbuildings.blob.core.windows.net/global-buildings/2022-05-02/Lapthal.zip) | 1.8KB | -| Latvia | 1,232,375 | [Latvia.zip](https://minedbuildings.blob.core.windows.net/global-buildings/2022-05-02/Latvia.zip) | 102.2MB | -| Lebanon | 1,013,619 | [Lebanon.zip](https://minedbuildings.blob.core.windows.net/global-buildings/2022-05-02/Lebanon.zip) | 90.3MB | -| Lesotho | 808,159 | [Lesotho.zip](https://minedbuildings.blob.core.windows.net/global-buildings/2022-05-02/Lesotho.zip) | 57.4MB | -| Liberia | 459,207 | [Liberia.zip](https://minedbuildings.blob.core.windows.net/global-buildings/2022-05-02/Liberia.zip) | 33.9MB | -| Libya | 2,118,020 | [Libya.zip](https://minedbuildings.blob.core.windows.net/global-buildings/2022-05-02/Libya.zip) | 179.4MB | -| Lithuania | 2,161,231 | [Lithuania.zip](https://minedbuildings.blob.core.windows.net/global-buildings/2022-05-02/Lithuania.zip) | 180.2MB | -| Madagascar | 3,858,251 | [Madagascar.zip](https://minedbuildings.blob.core.windows.net/global-buildings/2022-05-02/Madagascar.zip) | 266.2MB | -| Malawi | 4,550,148 | [Malawi.zip](https://minedbuildings.blob.core.windows.net/global-buildings/2022-05-02/Malawi.zip) | 311.3MB | -| Maldives | 46,506 | [Maldives.zip](https://minedbuildings.blob.core.windows.net/global-buildings/2022-05-02/Maldives.zip) | 3.7MB | -| Mali | 1,833,921 | [Mali.zip](https://minedbuildings.blob.core.windows.net/global-buildings/2022-05-02/Mali.zip) | 128.6MB | -| Malta | 74,900 | [Malta.zip](https://minedbuildings.blob.core.windows.net/global-buildings/2022-05-02/Malta.zip) | 8.5MB | -| Mauritania | 820,237 | [Mauritania.zip](https://minedbuildings.blob.core.windows.net/global-buildings/2022-05-02/Mauritania.zip) | 58.7MB | -| Mauritius | 310,079 | [Mauritius.zip](https://minedbuildings.blob.core.windows.net/global-buildings/2022-05-02/Mauritius.zip) | 26.4MB | -| Mayotte | 58,176 | [Mayotte.zip](https://minedbuildings.blob.core.windows.net/global-buildings/2022-05-02/Mayotte.zip) | 4.3MB | -| Mexico | 23,769,529 | [Mexico.zip](https://minedbuildings.blob.core.windows.net/global-buildings/2022-05-02/Mexico.zip) | 1.9GB | -| Moldova | 2,232,324 | [Moldova.zip](https://minedbuildings.blob.core.windows.net/global-buildings/2022-05-02/Moldova.zip) | 176.3MB | -| Mongolia | 441,525 | [Mongolia.zip](https://minedbuildings.blob.core.windows.net/global-buildings/2022-05-02/Mongolia.zip) | 33.0MB | -| Montenegro | 369,188 | [Montenegro.zip](https://minedbuildings.blob.core.windows.net/global-buildings/2022-05-02/Montenegro.zip) | 27.6MB | -| Montserrat | 3,989 | [Montserrat.zip](https://minedbuildings.blob.core.windows.net/global-buildings/2022-05-02/Montserrat.zip) | 311.6KB | -| Morocco | 3,177,420 | [Morocco.zip](https://minedbuildings.blob.core.windows.net/global-buildings/2022-05-02/Morocco.zip) | 282.0MB | -| Mozambique | 7,663,978 | [Mozambique.zip](https://minedbuildings.blob.core.windows.net/global-buildings/2022-05-02/Mozambique.zip) | 526.4MB | -| Myanmar | 9,509,845 | [Myanmar.zip](https://minedbuildings.blob.core.windows.net/global-buildings/2022-05-02/Myanmar.zip) | 674.3MB | -| Namibia | 842,223 | [Namibia.zip](https://minedbuildings.blob.core.windows.net/global-buildings/2022-05-02/Namibia.zip) | 62.3MB | -| Nepal | 6,349,530 | [Nepal.zip](https://minedbuildings.blob.core.windows.net/global-buildings/2022-05-02/Nepal.zip) | 463.8MB | -| Nicaragua | 783,428 | [Nicaragua.zip](https://minedbuildings.blob.core.windows.net/global-buildings/2022-05-02/Nicaragua.zip) | 59.6MB | -| Niger | 1,768,700 | [Niger.zip](https://minedbuildings.blob.core.windows.net/global-buildings/2022-05-02/Niger.zip) | 124.6MB | -| North America | 3,250 | [North America.zip](https://minedbuildings.blob.core.windows.net/global-buildings/2022-05-02/North%20America.zip) | 261.5KB | -| Norway | 3,771,883 | [Norway.zip](https://minedbuildings.blob.core.windows.net/global-buildings/2022-05-02/Norway.zip) | 344.1MB | -| Pa-li-chia-ssu | 234 | [Pa-li-chia-ssu.zip](https://minedbuildings.blob.core.windows.net/global-buildings/2022-05-02/Pa-li-chia-ssu.zip) | 16.7KB | -| Pakistan | 19,405,716 | [Pakistan.zip](https://minedbuildings.blob.core.windows.net/global-buildings/2022-05-02/Pakistan.zip) | 1.6GB | -| Panama | 1,127,704 | [Panama.zip](https://minedbuildings.blob.core.windows.net/global-buildings/2022-05-02/Panama.zip) | 85.6MB | -| Paracel Islands | 347 | [Paracel Islands.zip](https://minedbuildings.blob.core.windows.net/global-buildings/2022-05-02/Paracel%20Islands.zip) | 30.1KB | -| Paraguay | 2,382,332 | [Paraguay.zip](https://minedbuildings.blob.core.windows.net/global-buildings/2022-05-02/Paraguay.zip) | 177.9MB | -| Peru | 7,471,710 | [Peru.zip](https://minedbuildings.blob.core.windows.net/global-buildings/2022-05-02/Peru.zip) | 587.9MB | -| Poland | 17,919,141 | [Poland.zip](https://minedbuildings.blob.core.windows.net/global-buildings/2022-05-02/Poland.zip) | 1.5GB | -| Portugal | 5,876,375 | [Portugal.zip](https://minedbuildings.blob.core.windows.net/global-buildings/2022-05-02/Portugal.zip) | 500.3MB | -| Puerto Rico | 1,456,320 | [Puerto Rico.zip](https://minedbuildings.blob.core.windows.net/global-buildings/2022-05-02/Puerto%20Rico.zip) | 111.8MB | -| Republic of Yemen | 3,048,586 | [Republic of Yemen.zip](https://minedbuildings.blob.core.windows.net/global-buildings/2022-05-02/Republic%20of%20Yemen.zip) | 236.5MB | -| Republic of the Congo | 212,366 | [Republic of the Congo.zip](https://minedbuildings.blob.core.windows.net/global-buildings/2022-05-02/Republic%20of%20the%20Congo.zip) | 15.3MB | -| Reunion | 349,472 | [Reunion.zip](https://minedbuildings.blob.core.windows.net/global-buildings/2022-05-02/Reunion.zip) | 28.2MB | -| Romania | 12,346,601 | [Romania.zip](https://minedbuildings.blob.core.windows.net/global-buildings/2022-05-02/Romania.zip) | 979.8MB | -| Russia | 65,600,469 | [Russia.zip](https://minedbuildings.blob.core.windows.net/global-buildings/2022-05-02/Russia.zip) | 5.2GB | -| Rwanda | 2,937,239 | [Rwanda.zip](https://minedbuildings.blob.core.windows.net/global-buildings/2022-05-02/Rwanda.zip) | 212.2MB | -| Saint Barthelemy | 6,742 | [Saint Barthelemy.zip](https://minedbuildings.blob.core.windows.net/global-buildings/2022-05-02/Saint%20Barthelemy.zip) | 535.6KB | -| Saint Helena, Ascension and Tristan da Cunha | 4,196 | [Saint Helena, Ascension and Tristan da Cunha.zip](https://minedbuildings.blob.core.windows.net/global-buildings/2022-05-02/Saint%20Helena%2C%20Ascension%20and%20Tristan%20da%20Cunha.zip) | 321.1KB | -| Saint Lucia | 75,099 | [Saint Lucia.zip](https://minedbuildings.blob.core.windows.net/global-buildings/2022-05-02/Saint%20Lucia.zip) | 5.5MB | -| San Marino | 7,729 | [San Marino.zip](https://minedbuildings.blob.core.windows.net/global-buildings/2022-05-02/San%20Marino.zip) | 712.0KB | -| Sang | 129 | [Sang.zip](https://minedbuildings.blob.core.windows.net/global-buildings/2022-05-02/Sang.zip) | 9.3KB | -| Senegal | 1,848,848 | [Senegal.zip](https://minedbuildings.blob.core.windows.net/global-buildings/2022-05-02/Senegal.zip) | 138.9MB | -| Serbia | 4,751,744 | [Serbia.zip](https://minedbuildings.blob.core.windows.net/global-buildings/2022-05-02/Serbia.zip) | 378.0MB | -| Seychelles | 38,346 | [Seychelles.zip](https://minedbuildings.blob.core.windows.net/global-buildings/2022-05-02/Seychelles.zip) | 2.9MB | -| Sierra Leone | 514,694 | [Sierra Leone.zip](https://minedbuildings.blob.core.windows.net/global-buildings/2022-05-02/Sierra%20Leone.zip) | 37.4MB | -| Slovakia | 2,515,701 | [Slovakia.zip](https://minedbuildings.blob.core.windows.net/global-buildings/2022-05-02/Slovakia.zip) | 211.9MB | -| Slovenia | 1,126,319 | [Slovenia.zip](https://minedbuildings.blob.core.windows.net/global-buildings/2022-05-02/Slovenia.zip) | 95.5MB | -| Somalia | 50,419 | [Somalia.zip](https://minedbuildings.blob.core.windows.net/global-buildings/2022-05-02/Somalia.zip) | 3.7MB | -| South Africa | 22,955,466 | [South Africa.zip](https://minedbuildings.blob.core.windows.net/global-buildings/2022-05-02/South%20Africa.zip) | 1.7GB | -| South America | 46 | [South America.zip](https://minedbuildings.blob.core.windows.net/global-buildings/2022-05-02/South%20America.zip) | 3.5KB | -| South Sudan | 120,553 | [South Sudan.zip](https://minedbuildings.blob.core.windows.net/global-buildings/2022-05-02/South%20Sudan.zip) | 8.3MB | -| Spain | 2,859,484 | [Spain.zip](https://minedbuildings.blob.core.windows.net/global-buildings/2022-05-02/Spain.zip) | 270.6MB | -| Sri Lanka | 3,162,958 | [Sri Lanka.zip](https://minedbuildings.blob.core.windows.net/global-buildings/2022-05-02/Sri%20Lanka.zip) | 233.4MB | -| St Kitts and Nevis | 27,786 | [St Kitts and Nevis.zip](https://minedbuildings.blob.core.windows.net/global-buildings/2022-05-02/St%20Kitts%20and%20Nevis.zip) | 2.0MB | -| St Martin | 9,748 | [St Martin.zip](https://minedbuildings.blob.core.windows.net/global-buildings/2022-05-02/St%20Martin.zip) | 808.9KB | -| St Vincent and the Grenadines | 47,587 | [St Vincent and the Grenadines.zip](https://minedbuildings.blob.core.windows.net/global-buildings/2022-05-02/St%20Vincent%20and%20the%20Grenadines.zip) | 3.5MB | -| State of Qatar | 507,345 | [State of Qatar.zip](https://minedbuildings.blob.core.windows.net/global-buildings/2022-05-02/State%20of%20Qatar.zip) | 43.2MB | -| Sudan | 2,851,307 | [Sudan.zip](https://minedbuildings.blob.core.windows.net/global-buildings/2022-05-02/Sudan.zip) | 207.0MB | -| Sultanate of Oman | 393,853 | [Sultanate of Oman.zip](https://minedbuildings.blob.core.windows.net/global-buildings/2022-05-02/Sultanate%20of%20Oman.zip) | 34.1MB | -| Suriname | 244,022 | [Suriname.zip](https://minedbuildings.blob.core.windows.net/global-buildings/2022-05-02/Suriname.zip) | 18.4MB | -| Swaziland | 636,549 | [Swaziland.zip](https://minedbuildings.blob.core.windows.net/global-buildings/2022-05-02/Swaziland.zip) | 45.5MB | -| Sweden | 6,450,714 | [Sweden.zip](https://minedbuildings.blob.core.windows.net/global-buildings/2022-05-02/Sweden.zip) | 568.9MB | -| Syria | 4,433,121 | [Syria.zip](https://minedbuildings.blob.core.windows.net/global-buildings/2022-05-02/Syria.zip) | 376.7MB | -| São Tomé and Príncipe | 35,084 | [São Tomé and Príncipe.zip](https://minedbuildings.blob.core.windows.net/global-buildings/2022-05-02/S%C3%A3o%20Tom%C3%A9%20and%20Pr%C3%ADncipe.zip) | 2.5MB | -| Tajikistan | 2,007,071 | [Tajikistan.zip](https://minedbuildings.blob.core.windows.net/global-buildings/2022-05-02/Tajikistan.zip) | 161.7MB | -| Tanzania | 685,763 | [Tanzania.zip](https://minedbuildings.blob.core.windows.net/global-buildings/2022-05-02/Tanzania.zip) | 47.8MB | -| Thailand | 24,505,493 | [Thailand.zip](https://minedbuildings.blob.core.windows.net/global-buildings/2022-05-02/Thailand.zip) | 1.8GB | -| The Bahamas | 129,252 | [The Bahamas.zip](https://minedbuildings.blob.core.windows.net/global-buildings/2022-05-02/The%20Bahamas.zip) | 10.4MB | -| The Gambia | 349,895 | [The Gambia.zip](https://minedbuildings.blob.core.windows.net/global-buildings/2022-05-02/The%20Gambia.zip) | 25.3MB | -| Togo | 1,440,086 | [Togo.zip](https://minedbuildings.blob.core.windows.net/global-buildings/2022-05-02/Togo.zip) | 106.8MB | -| Trinidad and Tobago | 495,232 | [Trinidad and Tobago.zip](https://minedbuildings.blob.core.windows.net/global-buildings/2022-05-02/Trinidad%20and%20Tobago.zip) | 37.8MB | -| Tunisia | 3,412,619 | [Tunisia.zip](https://minedbuildings.blob.core.windows.net/global-buildings/2022-05-02/Tunisia.zip) | 314.9MB | -| Turkey | 18,064,082 | [Turkey.zip](https://minedbuildings.blob.core.windows.net/global-buildings/2022-05-02/Turkey.zip) | 1.4GB | -| Turkmenistan | 1,472,888 | [Turkmenistan.zip](https://minedbuildings.blob.core.windows.net/global-buildings/2022-05-02/Turkmenistan.zip) | 119.9MB | -| Turks and Caicos Islands | 15,714 | [Turks and Caicos Islands.zip](https://minedbuildings.blob.core.windows.net/global-buildings/2022-05-02/Turks%20and%20Caicos%20Islands.zip) | 1.2MB | -| US Virgin Islands | 50,270 | [US Virgin Islands.zip](https://minedbuildings.blob.core.windows.net/global-buildings/2022-05-02/US%20Virgin%20Islands.zip) | 4.0MB | -| Uganda | 773,722 | [Uganda.zip](https://minedbuildings.blob.core.windows.net/global-buildings/2022-05-02/Uganda.zip) | 55.4MB | -| Ukraine | 26,773,758 | [Ukraine.zip](https://minedbuildings.blob.core.windows.net/global-buildings/2022-05-02/Ukraine.zip) | 2.1GB | -| United Arab Emirates | 940,617 | [United Arab Emirates.zip](https://minedbuildings.blob.core.windows.net/global-buildings/2022-05-02/United%20Arab%20Emirates.zip) | 87.0MB | -| Uruguay | 1,150,711 | [Uruguay.zip](https://minedbuildings.blob.core.windows.net/global-buildings/2022-05-02/Uruguay.zip) | 92.3MB | -| Uzbekistan | 6,513,512 | [Uzbekistan.zip](https://minedbuildings.blob.core.windows.net/global-buildings/2022-05-02/Uzbekistan.zip) | 560.5MB | -| Vatican City | 91 | [Vatican City.zip](https://minedbuildings.blob.core.windows.net/global-buildings/2022-05-02/Vatican%20City.zip) | 11.6KB | -| Venezuela | 8,096,400 | [Venezuela.zip](https://minedbuildings.blob.core.windows.net/global-buildings/2022-05-02/Venezuela.zip) | 619.9MB | -| Vietnam | 23,869,714 | [Vietnam.zip](https://minedbuildings.blob.core.windows.net/global-buildings/2022-05-02/Vietnam.zip) | 1.8GB | -| West Bank | 664,961 | [West Bank.zip](https://minedbuildings.blob.core.windows.net/global-buildings/2022-05-02/West%20Bank.zip) | 57.9MB | -| Western Halaib Triangle | 156 | [Western Halaib Triangle.zip](https://minedbuildings.blob.core.windows.net/global-buildings/2022-05-02/Western%20Halaib%20Triangle.zip) | 11.3KB | -| Zambia | 4,072,801 | [Zambia.zip](https://minedbuildings.blob.core.windows.net/global-buildings/2022-05-02/Zambia.zip) | 288.9MB | -| Zimbabwe | 5,205,858 | [Zimbabwe.zip](https://minedbuildings.blob.core.windows.net/global-buildings/2022-05-02/Zimbabwe.zip) | 366.8MB | -| Île Saint-Martin | 14,920 | [Île Saint-Martin.zip](https://minedbuildings.blob.core.windows.net/global-buildings/2022-05-02/%C3%8Ele%20Saint-Martin.zip) | 1.2MB | +999M building footprint polygon geometries located around the world in line delimited GeoJSON format. Due to the way we process the data, file extensions are `.csv.gz` see [make-gis-friendly.py](scripts/make-gis-friendly.py) for an example of how to decompress and change file extension. + +As of October 2022, we moved the location table to [dataset-links.csv](https://minedbuildings.z5.web.core.windows.net/global-buildings/dataset-links.csv) since it's over 19k records with country-quadkey partitioning. ### What is the GeoJSON format? GeoJSON is a format for encoding a variety of geographic data structures. @@ -223,7 +79,7 @@ Microsoft has a continued interest in supporting a thriving OpenStreetMap ecosys Maybe. Never overwrite the hard work of other contributors or blindly import data into OSM without first checking the local quality. While our metrics show that this data meets or exceeds the quality of hand-drawn building footprints, the data does vary in quality from place to place, between rural and urban, mountains and plains, and so on. Inspect quality locally and discuss an import plan with the community. Always follow the [OSM import community guidelines](https://wiki.openstreetmap.org/wiki/Import/Guidelines). ### Will the data be used or made available in the larger OpenStreetMap ecosystem? -Yes. Currently Microsoft Open Buildings dataset is used in ml-enabler for task creation. You can try it out at [AI assisted Tasking Manager](https://tasks-assisted.hotosm.org/). The data will also be made available in Facebook [RapiD](https://mapwith.ai/rapid#background=Bing&disable_features=boundaries&map=2.00/0.0/0.0). +Yes. The [HOT Tasking Manager](https://tasks.hotosm.org) has integrated Facebook [Rapid](https://rapideditor.org/edit) where the data has been made available. ### How did we create the data? The building extraction is done in two stages: @@ -236,6 +92,16 @@ The building extraction is done in two stages: #### Stage 2: Polygonization ![polygonization diagram](images/polygonization.jpg) +### How do we estimate building height? +We trained a neural network to estimate height above ground using imagery paired with height measurements, and then we take the +average height within a building polygon. Structures without height estimates are populated with a -1. Height estimates are in meters. + +### Building confidence scores +Confidence scores are between 0 and 1 and can be read as percent confidence. For structures released before this update, we use -1 as a placeholder value. +A confidence value of 0.8 is read as "80% confidence." Higher values mean higher detection confidence. There are two stages in the building detection process -- first we use a model to classify pixels as either building or not and next we convert groups of pixels into polygons. Each pixel has a probability of being a building and a +probability >0.5 is classified as "building pixel". When we generate the polygons, we then look at the pixels within and average the probability values to give and +overall confidence score. The confidence scores are for the footprint and not height estimate. + ### Were there any modeling improvements used for this release? We did not apply any modeling improvements for this release. Instead, we focused on scaling our approach to increase coverage, and trained models regionally. @@ -278,16 +144,18 @@ We track the following metrics to measure the quality of matched building polygo False positives are estimated per country from randomly sampled building polygon predictions. -| Region | Buildings Sampled | False Positive Rate | -| :--: | :--: | :--: | -| Africa | 5,000 | 1.1% | -| Caribbean | 3,000 | 1.8% | -| Central Asia | 3,000 | 2.2% | -| Europe | 5,000 | 1.4% | -| Mexico | 2,000 | 0.1% | -| Middle East | 7,000 | 1.8% | -| South America | 5,000 | 1.7% | -| South Asia | 7,000 | 1.4% | +| Region | Buildings Sampled | False Positive Rate | Run Date | +| :--: | :--: | :--: | :--: | +| Africa | 5,000 | 1.1% | Early 2022 | +| Caribbean | 3,000 | 1.8% | Early 2022 | +| Central Asia | 3,000 | 2.2% | Early 2022 | +| Europe | 5,000 | 1.4% | Early 2022 | +| Mexico | 2,000 | 0.1% | Early 2022 | +| Middle East | 7,000 | 1.8% | Early 2022 | +| South America | 5,000 | 1.7% | Early 2022 | +| South Asia | 7,000 | 1.4% | Early 2022 | +| North America | 4,000 | 1% | Oct 2022 | +| Europe Maxar | 5,000 | 1.4% | July 2022 | ### What is the vintage of this data? @@ -309,6 +177,16 @@ Maybe. This is a work in progress. Also, check out our other building releases! * [Kenya and Nigeria](https://github.com/microsoft/KenyaNigeriaBuildingFootprints) * [Indonesia, Malaysia, and the Philippines](https://github.com/microsoft/IdMyPhBuildingFootprints) +### Why are some locations missing? +We excluded imagery from processing if tiles were dated before 2014 or there was a low-probability of detection. Detection probability is loosely defined here as proximity to roads and population centers. This filtering and tile exclusion results in squares of missing data. + +### How can I read large files? +Some files are very large but they are stored in line-delimited format so one could use parallel processing tools (e.g., [Spark](https://spark.apache.org/), [Dask](https://docs.dask.org/en/stable/dataframe.html)) or create a memory +efficient script to segment into smaller pieces. See `scripts/read-large-files.py` for a Python example. + +## Need roads? +Check out our [ML Road Detections](https://github.com/microsoft/RoadDetections) project page! +
## Contributing diff --git a/examples/example_building_footprints.ipynb b/examples/example_building_footprints.ipynb new file mode 100644 index 0000000..439397e --- /dev/null +++ b/examples/example_building_footprints.ipynb @@ -0,0 +1,174 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "import pandas as pd\n", + "import geopandas as gpd\n", + "from shapely import geometry\n", + "import mercantile\n", + "from tqdm import tqdm\n", + "import os\n", + "import tempfile" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Step 1 - Define our area of interest (AOI)\n", + "\n", + "We define our area of interest (or AOI) as a GeoJSON geometry, then use the `shapely` library to get the bounding box.\n", + "\n", + "**Note**: the coordinate reference system for the GeoJSON should be \"EPSG:4326\", i.e. in global lat/lon format." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# Geometry copied from https://geojson.io\n", + "aoi_geom = {\n", + " \"coordinates\": [\n", + " [\n", + " [-122.16484503187519, 47.69090474454916],\n", + " [-122.16484503187519, 47.6217555345674],\n", + " [-122.06529607517405, 47.6217555345674],\n", + " [-122.06529607517405, 47.69090474454916],\n", + " [-122.16484503187519, 47.69090474454916],\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\",\n", + "}\n", + "aoi_shape = geometry.shape(aoi_geom)\n", + "minx, miny, maxx, maxy = aoi_shape.bounds\n", + "\n", + "output_fn = \"example_building_footprints.geojson\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Step 2 - Determine which tiles intersect our AOI" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "quad_keys = set()\n", + "for tile in list(mercantile.tiles(minx, miny, maxx, maxy, zooms=9)):\n", + " quad_keys.add(mercantile.quadkey(tile))\n", + "quad_keys = list(quad_keys)\n", + "print(f\"The input area spans {len(quad_keys)} tiles: {quad_keys}\")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Step 3 - Download the building footprints for each tile that intersects our AOI and crop the results\n", + "\n", + "This is where most of the magic happens. We download all the building footprints for each tile that intersects our AOI, then only keep the footprints that are _contained_ by our AOI.\n", + "\n", + "*Note*: this step might take awhile depending on how many tiles your AOI covers and how many buildings footprints are in those tiles." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "df = pd.read_csv(\n", + " \"https://minedbuildings.z5.web.core.windows.net/global-buildings/dataset-links.csv\", dtype=str\n", + ")\n", + "df.head()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "idx = 0\n", + "combined_gdf = gpd.GeoDataFrame()\n", + "with tempfile.TemporaryDirectory() as tmpdir:\n", + " # Download the GeoJSON files for each tile that intersects the input geometry\n", + " tmp_fns = []\n", + " for quad_key in tqdm(quad_keys):\n", + " rows = df[df[\"QuadKey\"] == quad_key]\n", + " if rows.shape[0] == 1:\n", + " url = rows.iloc[0][\"Url\"]\n", + "\n", + " df2 = pd.read_json(url, lines=True)\n", + " df2[\"geometry\"] = df2[\"geometry\"].apply(geometry.shape)\n", + "\n", + " gdf = gpd.GeoDataFrame(df2, crs=4326)\n", + " fn = os.path.join(tmpdir, f\"{quad_key}.geojson\")\n", + " tmp_fns.append(fn)\n", + " if not os.path.exists(fn):\n", + " gdf.to_file(fn, driver=\"GeoJSON\")\n", + " elif rows.shape[0] > 1:\n", + " raise ValueError(f\"Multiple rows found for QuadKey: {quad_key}\")\n", + " else:\n", + " raise ValueError(f\"QuadKey not found in dataset: {quad_key}\")\n", + "\n", + " # Merge the GeoJSON files into a single file\n", + " for fn in tmp_fns:\n", + " gdf = gpd.read_file(fn) # Read each file into a GeoDataFrame\n", + " gdf = gdf[gdf.geometry.within(aoi_shape)] # Filter geometries within the AOI\n", + " gdf['id'] = range(idx, idx + len(gdf)) # Update 'id' based on idx\n", + " idx += len(gdf)\n", + " combined_gdf = pd.concat([combined_gdf,gdf],ignore_index=True)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Step 4 - Save the resulting footprints to file" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "combined_gdf = combined_gdf.to_crs('EPSG:4326')\n", + "combined_gdf.to_file(output_fn, driver='GeoJSON')" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Geo", + "language": "python", + "name": "geo" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.10.6" + } + }, + "nbformat": 4, + "nbformat_minor": 4 +} diff --git a/images/building-height-coverage.png b/images/building-height-coverage.png new file mode 100644 index 0000000..ba4b26c Binary files /dev/null and b/images/building-height-coverage.png differ diff --git a/images/country-overview.png b/images/country-overview.png index 346c68c..56b9167 100644 Binary files a/images/country-overview.png and b/images/country-overview.png differ diff --git a/scripts/make-gis-friendly.ps1 b/scripts/make-gis-friendly.ps1 new file mode 100644 index 0000000..a78c8ed --- /dev/null +++ b/scripts/make-gis-friendly.ps1 @@ -0,0 +1,41 @@ + +$CountryToProcess = "Abyei" + +$DatasetLinksUrl = "https://minedbuildings.z5.web.core.windows.net/global-buildings/dataset-links.csv" +$CompressedData = "compressed" +$ExpandedData = "expanded" + +mkdir $CompressedData -Force +mkdir $ExpandedData -Force + +Function Expand-GZip{ + Param( + $infile, + $outfile + ) + $inputData = New-Object System.IO.FileStream $inFile, ([IO.FileMode]::Open), ([IO.FileAccess]::Read), ([IO.FileShare]::Read) + $output = New-Object System.IO.FileStream $outFile, ([IO.FileMode]::Create), ([IO.FileAccess]::Write), ([IO.FileShare]::None) + $gzipStream = New-Object System.IO.Compression.GzipStream $inputData, ([IO.Compression.CompressionMode]::Decompress) + $buffer = New-Object byte[](1024) + while($true){ + $read = $gzipstream.Read($buffer, 0, 1024) + if ($read -le 0){break} + $output.Write($buffer, 0, $read) + } + $gzipStream.Close() + $output.Close() + $inputData.Close() +} + +$resp = Invoke-WebRequest -Uri $DatasetLinksUrl +$links = ($resp.ToString() | ConvertFrom-Csv) + +foreach ($link in $links) { + if ($link.Location -eq $CountryToProcess) { + Write-Host "Country: $($link.Location) QuadKey: $($link.QuadKey) Url: $($link.Url)" + $downloadedGzip = "$CompressedData\$($link.Location)-$($link.QuadKey).csv.gz" + $decompressedData = "$ExpandedData\$($link.Location)-$($link.QuadKey).geojsonl" + Invoke-WebRequest -Uri $link.Url -OutFile $downloadedGzip + Expand-GZip $downloadedGzip $decompressedData + } +} \ No newline at end of file diff --git a/scripts/make-gis-friendly.py b/scripts/make-gis-friendly.py new file mode 100644 index 0000000..69b4e08 --- /dev/null +++ b/scripts/make-gis-friendly.py @@ -0,0 +1,25 @@ +""" +This snippet demonstrates how to access and convert the buildings +data from .csv.gz to geojson for use in common GIS tools. You will +need to install pandas, geopandas, and shapely. +""" + +import pandas as pd +import geopandas as gpd +from shapely.geometry import shape + +def main(): + # this is the name of the geography you want to retrieve. update to meet your needs + location = 'Greece' + + dataset_links = pd.read_csv("https://minedbuildings.z5.web.core.windows.net/global-buildings/dataset-links.csv") + greece_links = dataset_links[dataset_links.Location == location] + for _, row in greece_links.iterrows(): + df = pd.read_json(row.Url, lines=True) + df['geometry'] = df['geometry'].apply(shape) + gdf = gpd.GeoDataFrame(df, crs=4326) + gdf.to_file(f"{row.QuadKey}.geojson", driver="GeoJSON") + + +if __name__ == "__main__": + main() \ No newline at end of file diff --git a/scripts/read-files.py b/scripts/read-files.py new file mode 100644 index 0000000..8cb6f68 --- /dev/null +++ b/scripts/read-files.py @@ -0,0 +1,82 @@ + +""" +This python script is an example of how to read a large file, line-delimited and split it into multiple +parts. This can be helpful when using a machine that cannot load an entire file into memory. +""" +import os + +def main(): + # path to decompressed geojsonl file + input_file = "Angola.geojsonl" + + # check to make sure we can find the input file + assert os.path.exists(input_file), f"{input_file} not found!" + + # template output file path. the script will populate the curly brackets {} with a number + output_file_template = "Angola_part-{}.geojsonl" + + # this is the maximum number of features per file. adjust as desired. 10k features produces ~3MB files. + buildings_per_file = 10_000 + + # open the large file + with open(input_file) as inf: + # read a single line + line = inf.readline() + + # used for updating file numbers + file_counter = 1 + + # this is where we count the number of features in a single file + lines_per_file = 0 + + # create the actual file path fome the template above + current_target_file_path = output_file_template.format(file_counter) + + # prevent overwriting existing files + assert not os.path.exists(current_target_file_path), f"{current_target_file_path} already exists!" + + # open an output file in write mode. + target = open(current_target_file_path, 'w') + + # start iterating through each feature + while line: + + # write a single feature to the current output files + target.write(line) + + # increment the count for number of features in a file + lines_per_file += 1 + + # go to next feature in the large file + line = inf.readline() + + # check if we have hit the desire feature limit per file + if lines_per_file == buildings_per_file: + # close the current target file since we've reached the desired feature limit + target.close() + print(f"wrote {lines_per_file:,} lines to {current_target_file_path}") + + # increment the file counter so we can create a new output + file_counter += 1 + + # reset the line counter for the new output file + lines_per_file = 0 + + # create the path for the next output file + current_target_file_path = output_file_template.format(file_counter) + # prevent overwriting existing files + assert not os.path.exists(current_target_file_path), f"{current_target_file_path} already exists!" + + # open the next output file + target = open(current_target_file_path, 'w') + + # when we get here, there are no more features left in the larger file so we close the last target file + if not target.closed: + print(f"wrote {lines_per_file:,} lines to {current_target_file_path}") + target.close() + print(f"Complete!") + + +if __name__ == "__main__": + main() + \ No newline at end of file