{"id":46178,"name":"satlas","description":"Aims to provide open AI-generated geospatial data that is highly accurate, available globally, and updated on a frequent (monthly) basis.","url":"https://github.com/allenai/satlas","last_synced_at":"2026-06-18T08:30:19.197Z","repository":{"id":75564607,"uuid":"586041627","full_name":"allenai/satlas","owner":"allenai","description":null,"archived":false,"fork":false,"pushed_at":"2026-03-27T15:20:53.000Z","size":428,"stargazers_count":279,"open_issues_count":4,"forks_count":39,"subscribers_count":8,"default_branch":"main","last_synced_at":"2026-06-09T04:05:06.983Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/allenai.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2023-01-06T19:31:26.000Z","updated_at":"2026-06-01T12:55:51.000Z","dependencies_parsed_at":"2023-09-21T19:30:26.629Z","dependency_job_id":"11cd4f97-c3fd-4775-accb-2cb643192e6d","html_url":"https://github.com/allenai/satlas","commit_stats":{"total_commits":54,"total_committers":6,"mean_commits":9.0,"dds":"0.35185185185185186","last_synced_commit":"c6fa5f2ae4e8ac281b532ddc67d7235d6b65b885"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/allenai/satlas","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/allenai%2Fsatlas","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/allenai%2Fsatlas/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/allenai%2Fsatlas/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/allenai%2Fsatlas/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/allenai","download_url":"https://codeload.github.com/allenai/satlas/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/allenai%2Fsatlas/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34439296,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-17T02:00:05.408Z","response_time":127,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"owner":{"login":"allenai","name":"AI2","uuid":"5667695","kind":"organization","description":"","email":"ai2-info@allenai.org","website":"http://www.allenai.org","location":"Seattle, WA","twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/5667695?v=4","repositories_count":454,"last_synced_at":"2024-04-14T22:06:46.803Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/allenai","funding_links":[],"total_stars":58847,"followers":1621,"following":0,"created_at":"2022-11-06T17:18:34.185Z","updated_at":"2024-04-14T22:08:05.570Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/allenai","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/allenai/repositories"},"packages":[],"commits":{"id":1358782,"full_name":"allenai/satlas","default_branch":"main","total_commits":57,"total_committers":6,"total_bot_commits":0,"total_bot_committers":0,"mean_commits":9.5,"dds":0.33333333333333337,"past_year_total_commits":3,"past_year_total_committers":2,"past_year_total_bot_commits":0,"past_year_total_bot_committers":0,"past_year_mean_commits":1.5,"past_year_dds":0.33333333333333337,"last_synced_at":"2026-06-15T07:02:18.510Z","last_synced_commit":"c8b9aa5d4acdd3e4f58eb7cbb28ac18bb12c985f","created_at":"2023-09-13T08:49:37.692Z","updated_at":"2026-06-15T07:01:47.378Z","committers":[{"name":"Favyen Bastani","email":"favyenb@allenai.org","login":"favyen2","count":38},{"name":"Favyen Bastani","email":"fbastani@perennate.com","login":"uakfdotb","count":12},{"name":"Piper Wolters","email":"piperw@prior-cirrascale-65.reviz.ai2.in","login":null,"count":4},{"name":"Gabriel Tseng","email":"gabriel.tseng@mail.mcgill.ca","login":"gabrieltseng","count":1},{"name":"Piper Wolters","email":"piperw@prior-cirrascale-89.reviz.ai2.in","login":null,"count":1},{"name":"Piper Wolters","email":"piperw@prior-cirrascale-64.reviz.ai2.in","login":null,"count":1}],"past_year_committers":[{"name":"Favyen Bastani","email":"90410805+favyen2","login":"favyen2","count":2},{"name":"Gabriel Tseng","email":"gabriel.tseng@mail.mcgill.ca","login":"gabrieltseng","count":1}],"commits_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories/allenai%2Fsatlas/commits","host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-06-17T00:00:13.021Z","repositories_count":6261036,"commits_count":877387660,"contributors_count":35050255,"owners_count":1167414,"icon_url":"https://github.com/github.png","host_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories"}},"issues_stats":{"full_name":"allenai/satlas","html_url":"https://github.com/allenai/satlas","last_synced_at":"2026-06-09T04:03:30.393Z","status":"error","issues_count":56,"pull_requests_count":7,"avg_time_to_close_issue":1703318.1666666667,"avg_time_to_close_pull_request":148195.42857142858,"issues_closed_count":48,"pull_requests_closed_count":7,"pull_request_authors_count":3,"issue_authors_count":40,"avg_comments_per_issue":1.6428571428571428,"avg_comments_per_pull_request":0.2857142857142857,"merged_pull_requests_count":7,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":3,"past_year_pull_requests_count":3,"past_year_avg_time_to_close_issue":41113.0,"past_year_avg_time_to_close_pull_request":332473.3333333333,"past_year_issues_closed_count":1,"past_year_pull_requests_closed_count":3,"past_year_pull_request_authors_count":2,"past_year_issue_authors_count":3,"past_year_avg_comments_per_issue":0.3333333333333333,"past_year_avg_comments_per_pull_request":0.6666666666666666,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":3,"created_at":"2023-09-13T08:49:58.971Z","updated_at":"2026-06-09T04:03:30.394Z","repository_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/allenai%2Fsatlas","issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/allenai%2Fsatlas/issues","issue_labels_count":{},"pull_request_labels_count":{},"issue_author_associations_count":{"NONE":54,"MEMBER":1,"COLLABORATOR":1},"pull_request_author_associations_count":{"NONE":3,"COLLABORATOR":3,"CONTRIBUTOR":1},"issue_authors":{"robmarkcole":8,"rbavery":5,"Randomdude11":3,"ShreelekhaR":2,"srinify":2,"ando-shah":2,"utkarshmall13":1,"mburges-cvl":1,"gastruc":1,"loicland":1,"Hrant-Khachatrian":1,"tfriedel":1,"yan-hao-tian":1,"Amazingren":1,"schmmd":1,"HuangShiqi128":1,"gboldeanu":1,"oguzhannysr":1,"samar-khanna":1,"pyaada":1,"alimkarimi":1,"ShileiCao":1,"madhavaggar":1,"Jack-bo1220":1,"SpencerSzabados":1,"cerulean136":1,"habi":1,"cbachen1997":1,"adamjstewart":1,"louisguitton":1,"mizoru":1,"favyen2":1,"moonboy12138":1,"pravent":1,"AlexeySudakovB01-109":1,"jayshrivastava0":1,"ADHuan":1,"chaoer":1,"senlinxiaolangtaba":1,"lakshay-sharma-instacart":1},"pull_request_authors":{"favyen2":3,"piperwolters":2,"gabrieltseng":2},"host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-06-17T00:00:21.091Z","repositories_count":14814669,"issues_count":33132511,"pull_requests_count":109406052,"authors_count":11309081,"icon_url":"https://github.com/github.png","host_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories","owners_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/owners","authors_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors"},"past_year_issue_labels_count":{},"past_year_pull_request_labels_count":{},"past_year_issue_author_associations_count":{"NONE":2},"past_year_pull_request_author_associations_count":{"COLLABORATOR":1,"CONTRIBUTOR":1,"NONE":1},"past_year_issue_authors":{"gboldeanu":1,"lakshay-sharma-instacart":1},"past_year_pull_request_authors":{"gabrieltseng":2,"favyen2":1},"maintainers":[{"login":"favyen2","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/favyen2"},{"login":"schmmd","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/schmmd"}],"active_maintainers":[{"login":"favyen2","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/favyen2"}]},"events":{"total":{"PullRequestEvent":1,"ForkEvent":9,"IssuesEvent":14,"WatchEvent":64,"IssueCommentEvent":19,"PushEvent":1,"CreateEvent":1},"last_year":{"PullRequestEvent":1,"ForkEvent":2,"WatchEvent":18,"PushEvent":1,"CreateEvent":1}},"keywords":[],"dependencies":[{"ecosystem":"pypi","filepath":"requirements.txt","sha":null,"kind":"manifest","created_at":"2023-09-21T19:30:26.040Z","updated_at":"2023-09-21T19:30:26.040Z","repository_link":"https://github.com/allenai/satlas/blob/main/requirements.txt","dependencies":[{"id":13856705130,"package_name":"scipy","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":13856705131,"package_name":"eyediagram","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":13856705132,"package_name":"numpy","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":13856705133,"package_name":"rasterio","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":13856705134,"package_name":"scikit-image","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":13856705135,"package_name":"shapely","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":13856705136,"package_name":"tqdm","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":13856705137,"package_name":"torch","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":13856705138,"package_name":"torchvision","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":13856705139,"package_name":"torchaudio","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":13856705140,"package_name":"vit_pytorch","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false}]}],"score":7.437206366871292,"created_at":"2023-09-13T08:45:21.653Z","updated_at":"2026-06-18T08:30:19.203Z","avatar_url":"https://github.com/allenai.png","language":"Python","category":"Sustainable Development","sub_category":"Data Catalogs and Interfaces","monthly_downloads":0,"total_dependent_repos":0,"total_dependent_packages":0,"readme":"Satlas: Open AI-Generated Geospatial Data\n-----------------------------------------\n\n[Satlas](https://satlas.allen.ai/) aims to provide open AI-generated geospatial data that is highly accurate, available globally, and updated on a frequent (monthly) basis.\n\nFor an introduction to Satlas, see https://satlas.allen.ai/.\n\nQuick links:\n- [Download SatlasPretrain](SatlasPretrain.md), our large-scale remote sensing dataset.\n- [Download and fine-tune our foundation models for remote sensing](https://github.com/allenai/satlaspretrain_models/). These models are pre-trained on SatlasPretrain.\n- [Download the AI-generated geospatial data](GeospatialDataProducts.md) in Satlas for offline analysis.\n- [Access Satlas super-resolution data and code](https://github.com/allenai/satlas-super-resolution)\n- [View ongoing Satlas projects](OngoingProjects.md)\n\n\nOverview\n--------\n\nThe [AI-generated geospatial data](GeospatialDataProducts.md) in Satlas is computed by applying deep learning models on [Sentinel-2 satellite imagery](https://sentinel.esa.int/web/sentinel/missions/sentinel-2), which is open imagery released by the European Space Agency.\n\nThe images are relatively low-resolution, at 10 m/pixel, but captured frequently---the bulk of Earth's land mass is imaged weekly by Sentinel-2. We retrieve these images and update the geospatial data products on a monthly basis.\n\n\nTraining Data and Models\n------------------------\n\nThe models in Satlas are developed in four phases:\n\n1. Pre-train models on SatlasPretrain.\n2. Annotate high-quality task-specific training labels.\n3. Fine-tune models on the task-specific labels.\n4. Test the models on the whole world, and iterate on the training data until the models provide high accuracy.\n\n### SatlasPretrain\n\nSatlasPretrain is a large-scale remote sensing image understanding dataset appearing in ICCV 2023.\nIt contains 302M labels under 137 categories, collected through a combination of crowdsourced annotation and processing existing data sources like OpenStreetMap.\n\nPre-training on SatlasPretrain helps to improve the downstream performance of our models when fine-tuning on the smaller sets of task-specific labels.\n\nSee https://satlas-pretrain.allen.ai/ for more information on SatlasPretrain. You can also [download the dataset](SatlasPretrain.md) or [download and fine-tune the pre-trained models](https://github.com/allenai/satlaspretrain_models/).\n\n### Task-Specific Labels and Model Weights\n\nThe fine-tuning training data and model weights can be downloaded at https://storage.googleapis.com/satlas-explorer-public/satlas_explorer_datasets/satlas_explorer_datasets_2023-07-24.tar.\n\nThis download link contains an archive with four folders:\n- `base_models/` contains models trained on SatlasPretrain that are used as initialization for fine-tuning.\n- `labels/` contains the fine-tuning task-specific training data.\n- `models/` contains the trained model weights.\n- `splits/` contains metadata about the training and validation splits.\n\nThere is also [a smaller (1.5 GB) download](https://storage.googleapis.com/satlas-explorer-public/satlas_explorer_datasets/satlas_explorer_datasets_modelsonly_2023-07-24.tar) with just the model weights.\n\nSee [Using the Code](#using-the-code) below for details on training and applying models.\n\nThe format of the task-specific datasets is described in [DatasetSpec.md](DatasetSpec.md).\n\nThe models are trained to make predictions from multiple Sentinel-2 images.\nThey first extract features from each image independently through a Swin Transformer.\nThey then apply temporal max pooling on corresponding feature maps at each of four resolutions.\nThe pooled feature maps are then passed to task-specific heads to make predictions.\nSee [ModelArchitecture.md](ModelArchitecture.md) for more details.\n\n\nAI-Generated Geospatial Data\n----------------------------\n\nThe AI-generated geospatial data in Satlas [can be downloaded here](GeospatialDataProducts.md) for offline analysis.\n\nWe have evaluated the accuracy of each model in terms of their precision and recall on each continent. [View the Data Validation Report here.](DataValidationReport.md)\n\n\nUsing the Code\n--------------\n\nHere we describe using the code for the task-specific training data. For using the code for pre-training models on SatlasPretrain, [click here](SatlasPretrain.md).\n\n### Training and Validation\n\nFirst clone this repository and extract the training data to a subfolder called `satlas_explorer_datasets`:\n\n    git clone https://github.com/allenai/satlas\n    cd satlas\n    wget https://storage.googleapis.com/satlas-explorer-public/satlas_explorer_datasets/satlas_explorer_datasets_2023-07-24.tar\n    tar xvf satlas_explorer_datasets_2023-07-24.tar\n\nRun training if desired (this will overwrite the models extracted from the tar download):\n\n    python -m satlas.cmd.model.train --config_path configs/satlas_explorer_wind_turbine.txt\n    python -m satlas.cmd.model.train --config_path configs/satlas_explorer_solar_farm.txt\n    python -m satlas.cmd.model.train --config_path configs/satlas_explorer_marine_infrastructure.txt\n    python -m satlas.cmd.model.train --config_path configs/satlas_explorer_tree_cover.txt\n\nCompute precision and recall stats on the validation data:\n\n    python -m satlas.cmd.model.infer --config_path configs/satlas_explorer_wind_turbine.txt --details\n    python -m satlas.cmd.model.infer --config_path configs/satlas_explorer_solar_farm.txt --details\n    python -m satlas.cmd.model.infer --config_path configs/satlas_explorer_marine_infrastructure.txt --details\n    python -m satlas.cmd.model.infer --config_path configs/satlas_explorer_tree_cover.txt --details\n\n### Inference on Custom Images\n\n[See guide on applying Satlas/SatlasPretrain models on custom images.](CustomInference.md#sentinel-2-inference-example)\n\nContact\n-------\n\nIf you have feedback about the code, data, or models, or if you would like to see new types of geospatial data that are feasible to produce from Sentinel-2 imagery,\nyou can contact us by [opening an issue](https://github.com/allenai/satlas/issues/new) or via e-mail at satlas@allenai.org.\n","funding_links":[],"readme_doi_urls":[],"works":{},"citation_counts":{},"total_citations":0,"keywords_from_contributors":[],"project_url":"https://ost.ecosyste.ms/api/v1/projects/46178","html_url":"https://ost.ecosyste.ms/projects/46178"}