{"about":{"site":"https://codewithpapers.app","non_affiliation":"Code with Papers and Syntology are not affiliated with, endorsed by, or sponsored by Papers with Code, Meta, or the pwc-archive mirror.","licence":"CC BY-SA 4.0","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","attribution":"https://codewithpapers.app/attribution","modified":"archive material modified by Syntology; see the attribution page"},"url":"/paper/arxiv-2606-08046","title":"OSMGraphCLIP: Learning Global Location Representations from OpenStreetMap Graphs","arxiv_id":"2606.08046","date":"2026-06-06","proceeding":null,"authors":["Dimitrios Michail","Eleni Saka","Ioannis Giannopoulos","Ioannis Papoutsis"],"abstract":"We present OSMGraphCLIP, a CLIP-style geospatial representation model that learns global location embeddings from freely available OpenStreetMap (OSM) data. OSMGraphCLIP represents geographic environments as heterogeneous graphs of typed OSM features, preserving the topological and semantic relationships among roads, buildings, land-use regions, and points of interest. A multi-scale graph encoder captures both fine-grained local structure and broader landscape composition, and supervises a spherical-harmonics location encoder through a contrastive alignment objective. We evaluate OSMGraphCLIP across a diverse suite of downstream geospatial regression and classification tasks spanning climate, ecology, socioeconomic indicators, public health, land cover, biodiversity, and wildfire forecasting, and show that structured OSM data alone supports strong global location representations across domains. OSMGraphCLIP matches or exceeds satellite-based baselines on the majority of benchmarks, with the most pronounced advantage on socioeconomic and public-health tasks, where OSM's explicit semantic annotation of the built environment encodes patterns of human activity that satellite pixels can only capture indirectly. On ecological and environmental tasks, the model remains closely competitive with imagery-based methods despite using no Earth observation data. Qualitative analysis confirms that the learned embeddings organize geographic space coherently, recovering biome boundaries, urban gradients, and tropical--temperate distinctions from map topology alone.","url_abs":"https://arxiv.org/abs/2606.08046","url_pdf":"https://arxiv.org/pdf/2606.08046","source":{"archive":null,"snapshot":"2025-07-28","note":"not in the Papers with Code archive (frozen at the snapshot)","row_kind":"graph","title_abstract_authors_date":"arXiv metadata, CC0 1.0 (https://info.arxiv.org/help/license)"},"code_links":[],"tasks":[],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2606.08046","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2606.08046"}},"developers":"https://syntology.ai/developers","read_at":"2026-09-24T18:15:14+00:00","read_at_is":"when the build read Syntology's graph, not when any sample ran","claim":"Per-sample execution status on synthesized fixtures; not a correctness claim about the paper. Samples come from repositories linked to the paper, official or community; repo_kind says which.","repos":[{"mentioned_in_github":null,"is_official":null,"provenance":"deterministic:regex_extraction","mentioned_in_paper":null,"url":"https://github.com/d-michail/osmgraphclip","reach":null}],"summary":{"ran":7,"ran_draft_wrong":1,"unverified":2},"by_repo_kind":{"found_in_text":{"samples":10,"ran":8,"repositories":1}},"repo_kind_vocabulary":{"official":"The archive marks this repository official for the paper","named_in_paper":"The archive records that the paper mentions this repository; it is not marked official","listed":"In the archive's code links for this paper, not marked official and not recorded as mentioned in the paper","found_in_text":"Syntology found this repository in the paper's own text; whether it is the authors' implementation is not asserted","community":"Not in the archive's code links for this paper; a community repository Syntology harvested"},"n_pointer_only_for_licence":10,"samples":[{"code_sha256_prefix":"eb3397a89b64350f","entry":"FCNet","repo":"d-michail/osmgraphclip","repo_kind":"found_in_text","path":"osmgraphclip/model.py","file_url":"https://github.com/d-michail/osmgraphclip/blob/HEAD/osmgraphclip/model.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"eb3397a89b64350f"}},{"code_sha256_prefix":"08428c2dd2b1fd10","entry":"LocationEncoder","repo":"d-michail/osmgraphclip","repo_kind":"found_in_text","path":"osmgraphclip/model.py","file_url":"https://github.com/d-michail/osmgraphclip/blob/HEAD/osmgraphclip/model.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"08428c2dd2b1fd10"}},{"code_sha256_prefix":"950042d5ebd1fd97","entry":"MLP","repo":"d-michail/osmgraphclip","repo_kind":"found_in_text","path":"osmgraphclip/model.py","file_url":"https://github.com/d-michail/osmgraphclip/blob/HEAD/osmgraphclip/model.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"950042d5ebd1fd97"}},{"code_sha256_prefix":"83b523f2b0662978","entry":"OSMHeteroGAT","repo":"d-michail/osmgraphclip","repo_kind":"found_in_text","path":"osmgraphclip/model.py","file_url":"https://github.com/d-michail/osmgraphclip/blob/HEAD/osmgraphclip/model.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"83b523f2b0662978"}},{"code_sha256_prefix":"d6223e7b2decdd43","entry":"ResLayer","repo":"d-michail/osmgraphclip","repo_kind":"found_in_text","path":"osmgraphclip/model.py","file_url":"https://github.com/d-michail/osmgraphclip/blob/HEAD/osmgraphclip/model.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"d6223e7b2decdd43"}},{"code_sha256_prefix":"bb722077c2f7b576","entry":"Siren","repo":"d-michail/osmgraphclip","repo_kind":"found_in_text","path":"osmgraphclip/model.py","file_url":"https://github.com/d-michail/osmgraphclip/blob/HEAD/osmgraphclip/model.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"bb722077c2f7b576"}},{"code_sha256_prefix":"301f637cf15a87f9","entry":"SirenNet","repo":"d-michail/osmgraphclip","repo_kind":"found_in_text","path":"osmgraphclip/model.py","file_url":"https://github.com/d-michail/osmgraphclip/blob/HEAD/osmgraphclip/model.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"301f637cf15a87f9"}},{"code_sha256_prefix":"80a786141795df2a","entry":"get_neural_network","repo":"d-michail/osmgraphclip","repo_kind":"found_in_text","path":"osmgraphclip/model.py","file_url":"https://github.com/d-michail/osmgraphclip/blob/HEAD/osmgraphclip/model.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"80a786141795df2a"}},{"code_sha256_prefix":"fee2f63177c9db0c","entry":"OSMGraphCLIP","repo":"d-michail/osmgraphclip","repo_kind":"found_in_text","path":"osmgraphclip/model.py","file_url":"https://github.com/d-michail/osmgraphclip/blob/HEAD/osmgraphclip/model.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"fee2f63177c9db0c"}},{"code_sha256_prefix":"b349ffc18be78cf2","entry":"get_positional_encoding","repo":"d-michail/osmgraphclip","repo_kind":"found_in_text","path":"osmgraphclip/model.py","file_url":"https://github.com/d-michail/osmgraphclip/blob/HEAD/osmgraphclip/model.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"b349ffc18be78cf2"}}]},"arxiv_metadata":{"licence":"arXiv metadata, CC0 1.0 (https://info.arxiv.org/help/license)","fields":["title","abstract","authors","date"],"primary_category":"cs.LG","source":"arxiv_2026.jsonl"},"syntology_extracted_results":null}