REMOTE SENSING

Geemap & GEE: 베이스맵(Basemap) 변경하기

유병혁 2023. 10. 14. 21:34

안녕하세요? 이번 글은 geemap에서 베이스맵(basemap)을 변경하는 방법을 정리해 보겠습니다. geemap을 쓰다 보면 베이스맵에서 "일본해(동해)"가 표기되는 경우가 있습니다. 베이스맵 변경 방법을 알면 이런 경우에 대처할 수 있기 때문에 별도 글로 정리해 봤습니다. 해당 방법은 아래 글을 참고하여 작성하였습니다.

 

04 using basemaps - GEE Courses

04 using basemaps You can specify the basemap when creating an interactive map. Alternatively, you can use the Map.add_basemap() function to add basemaps to an existing map. Uncomment and execute the following code block to install geemap if needed. In [1

courses.geemap.org

FAO GAUL(Global Administrative Unit Layers) 2015 Country Boundaries에서 대한민국 경계를 선택한 후, Map을 생성해 보겠습니다.

import ee, geemap

# Earth Engine 인증
# ee.Authenticate()

# Earth Engine 초기화
ee.Initialize()

# 대한민국 경계 데이터 로드
korea = ee.FeatureCollection("FAO/GAUL/2015/level0").filter(ee.Filter.eq('ADM0_NAME', 'Republic of Korea'))

# 지정된 영역으로 Map 생성
Map = geemap.Map()
Map.centerObject(korea, 6)
Map

Map에서 우상단 영역을 보면 "일본해(동해)"가 표기된 것을 확인할 수 있습니다. 기본 베이스맵은 Google Maps인데요, 라벨 표기가 없는 베이스맵으로 변경해 이 부분을 처리해 보겠습니다.

아래와 같이 베이스맵을 "SATELLITE"로 변경해 보겠습니다. 라벨이 없어서 "일본해(동해)" 표기가 사라진 것을 확인할 수 있습니다.  이번에는 geemap에서 이용 가능한 베이스맵 목록을 확인해 볼까요?!

Map = geemap.Map(basemap='SATELLITE')
Map.centerObject(korea, 6)
Map

아래 코드로 geemap의 베이스맵 목록을 확인할 수 있습니다.

for basemap in geemap.basemaps.keys():
    print(basemap)
OpenStreetMap
Google Maps
Google Satellite
Google Terrain
Google Hybrid
FWS NWI Wetlands
FWS NWI Wetlands Raster
NLCD 2019 CONUS Land Cover
NLCD 2016 CONUS Land Cover
NLCD 2013 CONUS Land Cover
NLCD 2011 CONUS Land Cover
NLCD 2008 CONUS Land Cover
NLCD 2006 CONUS Land Cover
NLCD 2004 CONUS Land Cover
NLCD 2001 CONUS Land Cover
USGS NAIP Imagery
USGS NAIP Imagery False Color
USGS NAIP Imagery NDVI
USGS Hydrography
USGS 3DEP Elevation
ESA Worldcover 2020
ESA Worldcover 2020 S2 FCC
ESA Worldcover 2020 S2 TCC
ESA Worldcover 2021
ESA Worldcover 2021 S2 FCC
ESA Worldcover 2021 S2 TCC
BasemapAT.basemap
BasemapAT.grau
BasemapAT.highdpi
BasemapAT.orthofoto
BasemapAT.overlay
BasemapAT.surface
BasemapAT.terrain
CartoDB.DarkMatter
CartoDB.DarkMatterNoLabels
CartoDB.DarkMatterOnlyLabels
CartoDB.Positron
CartoDB.PositronNoLabels
CartoDB.PositronOnlyLabels
CartoDB.Voyager
CartoDB.VoyagerLabelsUnder
CartoDB.VoyagerNoLabels
CartoDB.VoyagerOnlyLabels
CyclOSM
Esri.AntarcticBasemap
Esri.AntarcticImagery
Esri.ArcticImagery
Esri.ArcticOceanBase
Esri.ArcticOceanReference
Esri.DeLorme
Esri.NatGeoWorldMap
Esri.OceanBasemap
Esri.WorldGrayCanvas
Esri.WorldImagery
Esri.WorldPhysical
Esri.WorldShadedRelief
Esri.WorldStreetMap
Esri.WorldTerrain
Esri.WorldTopoMap
FreeMapSK
Gaode.Normal
Gaode.Satellite
HikeBike.HikeBike
HikeBike.HillShading
JusticeMap.americanIndian
JusticeMap.asian
JusticeMap.black
JusticeMap.hispanic
JusticeMap.income
JusticeMap.multi
JusticeMap.nonWhite
JusticeMap.plurality
JusticeMap.white
MtbMap
NASAGIBS.ASTER_GDEM_Greyscale_Shaded_Relief
NASAGIBS.BlueMarble
NASAGIBS.BlueMarble3031
NASAGIBS.BlueMarble3413
NASAGIBS.ModisAquaBands721CR
NASAGIBS.ModisAquaTrueColorCR
NASAGIBS.ModisTerraAOD
NASAGIBS.ModisTerraBands367CR
NASAGIBS.ModisTerraBands721CR
NASAGIBS.ModisTerraChlorophyll
NASAGIBS.ModisTerraLSTDay
NASAGIBS.ModisTerraSnowCover
NASAGIBS.ModisTerraTrueColorCR
NASAGIBS.ViirsEarthAtNight2012
NASAGIBS.ViirsTrueColorCR
NLS
OPNVKarte
OneMapSG.Default
OneMapSG.Grey
OneMapSG.LandLot
OneMapSG.Night
OneMapSG.Original
OpenAIP
OpenFireMap
OpenRailwayMap
OpenSeaMap
OpenSnowMap.pistes
OpenStreetMap.BZH
OpenStreetMap.BlackAndWhite
OpenStreetMap.CH
OpenStreetMap.DE
OpenStreetMap.HOT
OpenStreetMap.Mapnik
OpenTopoMap
SafeCast
Stadia.AlidadeSmooth
Stadia.AlidadeSmoothDark
Stadia.OSMBright
Stadia.Outdoors
Stamen.Terrain
Stamen.TerrainBackground
Stamen.TerrainLabels
Stamen.Toner
Stamen.TonerBackground
Stamen.TonerHybrid
Stamen.TonerLabels
Stamen.TonerLines
Stamen.TonerLite
Stamen.TopOSMFeatures
Stamen.TopOSMRelief
Stamen.Watercolor
Strava.All
Strava.Ride
Strava.Run
Strava.Water
Strava.Winter
SwissFederalGeoportal.JourneyThroughTime
SwissFederalGeoportal.NationalMapColor
SwissFederalGeoportal.NationalMapGrey
SwissFederalGeoportal.SWISSIMAGE
USGS.USImagery
USGS.USImageryTopo
USGS.USTopo
WaymarkedTrails.cycling
WaymarkedTrails.hiking
WaymarkedTrails.mtb
WaymarkedTrails.riding
WaymarkedTrails.skating
WaymarkedTrails.slopes
nlmaps.grijs
nlmaps.luchtfoto
nlmaps.pastel
nlmaps.standaard
nlmaps.water

현재 이용 가능한 베이스맵은 총 148개로 확인됩니다.

len(geemap.basemaps)
148

참고로 Map생성 후 'Change basemap' 버튼을 이용해서 베이스맵을 변경하는 방법도 있습니다.

베이스맵 목록 중 'ESA Worldcover 2021'을 선택해볼까요?!

결과는 다음과 같습니다. 'Change basemap' 버튼을 이용하는 방법은 베이스맵 변환이 원활하지 않은 경우(변환이 되지 않거나 변환 속도가 느림)가 있으므로 코드로 제어하시는 편이 좋겠습니다.

Google Satellite보다는 USGS.USImagery 베이스맵이 육상과 해상의 색감이 더 나은 것 같습니다. 목적에 따라 적절한 베이스맵을 선택해서 쓰시면 되겠습니다.

Map = geemap.Map(basemap='USGS.USImagery')
Map.centerObject(korea, 6)
Map