Skip to content

Data layers

--geojson FILE|URL draws your data over the basemap. Repeat it for as many layers as you like, in any mix of formats:

Terminal window
mapterm --geojson sites.geojson --geojson https://example.com/routes.geojson
mapterm --geojson stores.csv --geojson run.gpx --geojson places.kml
mapterm --geojson countries.fgb
mapterm --geojson national-mall.geojson
  ⠠⡫⡞⡇    ⠉⡿⣢⣼    ⢸   ⡇  ⡇   ⡇   ⢸            ⡇   ⡇    ⡇  ⡇ ⢸ ⢸   ⠈⡏⠉⠉⠉⢹   ⢸ ⢸     ⢸  ⡇⢸⡇⡇  ⡇⢣     ⡏⠛⢿⡇  ⢠⣿   
  ⣼⣱⣝⣣⣤⣤⣤⣀⣀⣇⣀⣙⣷⣄⣀⣀⣸⣀⣀⣀⣇⣀⣀⣇⣀⣀⣀⣇⠤⠒⠉⢹            ⡏⠉⠒⠢⡧⠤⠤⠤⢤⠧⠤⠤⡧⠤⢼⠤⢼⠤Penn Quarter⠤⢼⠤⠤⠤⠤⠤⢼⠤⠤⡧⢼⣿⡧⠤⠤⡧⠬⡦⠤⠤⠤⠤⡗⠊⠁⠻⣢⢄⣸⣥⣀  
I-66⣲⠛⠉⠉⠉⠉⠉⡏⠉⠛⠭⠭⠟⠿⣻⢟⠛⠢⡧⠤⠤⡧⠤⠤⠤⡧⠤⠤⠤⢼            ⡷⠶⠶⠶⡷⠶⠶⠶⠾⢖⡤⣀⡇ ⢸ ⢸    ⡇   ⢸   ⢸ ⢸     ⢸ ⢀⠇⢸⣿⡇  ⡇ ⢱    ⡇    ⠉⢹ ⠈⠑⠢
 ⢸⣿⣧⡇      ⡇      ⡎⠑⠫⣢⡃  ⡇   ⡇   ⢸ Washington ⡇   ⡇     ⠈⠉⡏⠛⠾⣢⢼⡀   ⡗⠒⠒⠒⢺⠒⠒⠒⣺⡲⠾⠒⠒⠒⠒⠒⠾⠶⢾⠶⣺⣿⡗⠒⠒⡗⠒⠒⡗⠒⡲⠚⠓⠒⠒⠒⠒⠒⢺⠒⠒⠒⠒
 ⣼⢵⡗⢻⣦⡀    ⡇      ⣸   ⠙⠳⣄⡇   ⡇   ⢸            ⡇   ⡇       ⡇   ⢹⡝⠓⠲⢦⣧⣀  ⢸⠔⠊⠉⢸         ⢸ ⣿⡇⣇⣀ ⣇ ⢀⡸⠊        ⢸    
⠮⠃ ⠻⡼⢱⡏⢢   ⡇      ⢹     ⠈⡯⢟⣍⠉⡏⠉⠉⠉⢹            ⡇   ⡇       ⡇   ⢸⡇   ⡇⠈⠙⠛⢾⢦⣄⣀⢸⠉⠉⠉⠉⠉⠉⠉⠉⠉⢹ ⢹⡇⡇ ⠉⣏⠝⠉          ⢸    
⣟⠫⢟⣫⢿⣼⣁ ⠑⢄⣀⡇      ⢸      ⡇ ⠈⠛⡧⢄  ⢸            ⡇   ⡇       ⡇   ⢸⡇   ⡇   ⢸  ⠉⢻⠳⢖⣤⠤⣀    ⢸ ⢸⣷⠁⢀⠔⡇            ⢸  ⢀⡾
 ⡏⠓⠢⣙⢟⣇⠉⠉⠉⢹⡏⠉⠉⠉⡝⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⢹⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⡏⠉⠉⠉⡏⠉⠉⠉⠉⠉⠉⠉⣿⠉⠉⠉⠉⠉⠉⠉⠉⡏⠉⠉⠉⢹⠉⠉⠉⠉⠉⠉⠁⠉⢳⠛⠵⢶⡿⣹⡏⢹⣿⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠒⢒⡗⠚⠛⢻⠛⠛⣛⠟
 ⠘⢄ ⠈⠙⢫⡆⣀⡀⢸⡇ ⢀⠎                  ⢸            ⢣   ⡇       ⣿        ⡇   ⢸        ⢸   ⠈⢹  ⡏           ⢀⡞   ⢸⠒⠉  
   ⠑⠢⢄⣸⠋ ⢸⣸⣧⣠⠃                   ⢸             ⢣⡠⠔⡗⠒⠒⠒⠒⠒⠒⠒⡟⠒⠒⠒⠒⠒⠒⠒⠒⡗⠒⠒⠒⢺⠒⠒⠒⠒⠒⠒⠒⠒⢹⠉⠉⠉⠉⢹  ⡇           ⠉    ⢸    
     ⢠⠋⠫⣹⠉        ⢀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀Mall walk⠤⠤⠤⠤●⠤Washington Monument⠒⠒⠒⠒⢗⠒⠒⠒⢺⠒⠒⠒Mall walk⠒⢹⠉⠉⡏⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉● U.S. Cap…
     ⠸⡀⣠⣃ ●⠉Lincoln Memorial     ⢸⡀            ⡸⢄⣀⣇⣀⣀⣀⣀⣀⣀⣀⣧⡠⠔⠒⠒⠒⠒⠤⣀⣸⣀⣀⣀⣸⣀⣀⣀⣀⠤⠤⠤⠤⢼⠤⠤⠤⠤⢼  ⣷        ⣤       ⢸    
⡄  ⣀⠤⠒⠹⡀ ⢹⢲                     ⣠⣋⣱⣄⡀         ⡜   ⡇       ⣿        ⢸   ⢸        ⢸  ⢀⡠⢼  ⣿       ⢀⠏       ⢸    
⠼⡖⠉    ⠈⠳⣮⣸⣀⣀⣀⣀⣀⣀⣀⣀⣀        ⡠⢴⠒⠉    ⠈⠙⡝⠫⢕⣒⡒⢒⡲⠊⡏⠉⠙⢲⡗⠒⠒⠒⠒⠒⠒⠒⡿⠒⠒⠒⢲⡖⠒⠒⢲⡞⠒⠒⠒⢺⠒⠒⠒⢲⠒⠒⠒⠒⢺⠒⠒⠛⠒⢺⠒⠒⢻⣖⠒⠒⠒⠒⠒⠲⠞⠒⠒⠒⠒⠒⠒⠒⠒⢺⠒⠒⠒⠒
 ⠱⡀      ⠈⢻⣫⠉⠑⠒⠒⢗⠒⠒⠒⠛⠛⠛⠛⠛⠛⠛⠛⠒⠒⠓⠒⠒⠒⠒⠒⠒⠚⠒⠒⠛⠫⢍⢇  ⡇  ⢸⡇       ⡏⢆  ⢸⡇  ⢸⡇   ⢸⢀⡠⠤⢺    ⢸    ⢸  ⠈⣎⢦⡀             ⡜    
  ⢣        ⠈⠁   ⠘⡄            ⢠⠤⠤⠤⠤⠤⠤⠤⠤⠒⠒⠒⠚⢺⡖⠒⡗⢲ ⢸⡧⠤⠤⠤⠤⠤⠤⠤⡇⠈⢆ ⢸⡇  ⢘⣏⣩⣭⣭⣹⣁  ⢸⠤⠤⠤⠤⢼⠤⠤⠤⠤⢼⠤⠤⠴⣿⣌⣿⢦⣀          ⣰⠃    
   ⢣             ⢱           ⢠⠃            ⠈⢞⡄⡇ ⡇⢸⣇⣀⣀⣀⣀⣀⣀⣀⣇⣀⣸⣀⣸⡧⠔⠚⠉⡇   ⢸⠉⠛⠒⢼⣤⣀⡀ ⢸⣀⣀⣀⣀⣸⣀⣀⣀⣇⣳⣯⡧⣈⣷⣄⣀⣀⣀⣀⣀⣀⣀⣜⣁⣀⣀⣀⣀⣀
    ⢣           ⠐⢅          ⢀⠇               ⠙⡧⡀⣸⢼⡇    ⢀⣠⣤⡷⠞⢻⡏⢹⡏⠉⠉⢹⡏⠉⠉⠉⢹⠉⠉⠉⢹ ⠉⠙⠛⢾⠤⣀⡀  ⡇  ⡇⢸⣿⣧⠊⠁⠈⢗⠢⡀⡇⣠⠶⠋⡆     ⢀
     ⢣            ⠣⡀       ⢀⠎                 ⠈⠳⣧⣿⡇⣀⠴⠒⠉⠉  ⡇ ⢸⡇⣸⡇  ⢸⡇   ⢸   ⢸    ⢸  ⠈⠉⢲⠷⣤⣀⣧⠜⣿⣿⢀⣀⣀⠬⠦⣛⣏   ⢸  ⢀⡠⠔⠊
      ⢣            ⠈⠢⡀     ⢎⡀ Tidal Basin loop⠤⣠⣿⣿⠫⠷⣦⣄⣀⣀⣀⣀⣧ ⢸⣇⣿⣇⣀⣀⣸⣇⣀⣀⣀⣼⠒⠒⠒⢺⡖⠒⠒⠒⢺⠒⠒⠒⠒⠚⠒⠒⠛⢋⢟⠿⢿⣉⡀   ⢹⡗⠓⠒⠒⠒⢟⠛⠛⠒⠒⠒
⡄      ⠑⢄            ⠈⠑⢄    ⠈⠒⢄⡀   ⢀⠔⠁        ⣰⢽⣿⢏⡆ ⠉⠛⠿⢟⣷⣶⣿⣻⣿⡿⢿⣿⣿⠿⠿⡿⠿⠿⠿⢿⠿⣿⣿⡿⠿⠿⠿⠷⢾⠶⠶⠶⠶⠶⠾⠿⠿⠷⠷⢶⣾⣿⣿⣿⣶⣶⣼⣇⡀   ⠘⡄    
⠻⣢⡀      ⠣⡀             ⠑⢄     ⠈⠒⠤⣀⠎    ● Jefferson Memorial⣤⣰⡥⠼⣢⡉⢱⠇   ⣿⠉       ⢸            ⠈⠙⠻⢿⣿I-695⠤⢄⣱    
⠒⠒⠫⠷⣦⡀    ⠈⠢⡀             ⠑⠢⡀    ⢠⠊⠑⠤⡀     ⣀⡼⣪⡿⡝⢦⣄  ⡨⡪⡚⠉     ⠑⠪⢦⣀⢙⡷⠉⠉⠉⠉⣿⠉⠉⠉⢹⠉⠉⠉⠉⢹                 ⢻⣷⠉⠙⠛⠛⠲⠶⡿⠶⠶⣶
⡀    ⠈⠢⡀    ⠈⠢⡀             ⠈⠒⠊⠑⡴⣁⠤⠤⣀⣈⣑⣤⡠⠔⣊⣤⡷⡻⡝  ⠈⣳⣞⠊ ⠈⢢        ⠈⠻⣄    ⣿   ⢸    ⢸                 ⢸⡿      ⢣   
⠙⡦⡀    ⠈⠢⡀    ⠈⠢⡀          ⣀⣀⠤⠒⠉ ⢇ ⢀⡤⣶⣶⣶I-395⣁⣓⣤⣴⠮⠃ ⠑⢄  ⠑⡄        ⠈⢷⡀  ⣿⠤⠤⢄⣸⣀⣀⣀⣀⣸⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣸⣇⣀⣀⣀⣀⣀⣀⣘⣄⣀⣀
 ⠈⢺⢄     ⠈⠢⡀    ⠈⠲⣒⠒⠊⠉⠉⠉⠉⠉⠉      ⡠⣳⡳⡝⠋⠉⣩⠯⠛⢫⡟⠛⠫⢭⠋      ⡹⢦⡀⠈⠢⡀        ⠙⢦⡞⠁   ⢸    ⢸                 ⢸⡇     ⢸ ⢱  
⡠⠔⠊⠒⢕⢄     ⠙⢆      ⠑⢄⡀         ⢀⢔⡯⠋ ⠈⢱⢎⠁ ⢠⠏   ⠸⡀    ⢀⠜  ⠙⢦⡀⠈⠢⢄        ⠙⠢⡀  ⢸    ⢸                 ⢸⡇     ⢸  ⢇ 
     ⢫⢆     ⠈⢳⣄      ⠈⠢⡀      ⡠⣺⠝   ⡰⠁ ⠉⡢⡃     ⠈⠢⡀⢀⠔⠁     ⠙⢦⡀ ⠑⢄        ⠘⢆ ⢸    ⡞                 ⢸⡇     ⢸  ⠘⡄
      ⠫⣢     ⠈⠉⢦⡀      ⠈⠑⢄  ⢀⢔⡽⠃  ⢀⠎   ⡔⠁⠈⠢⡀     ⡨⠃         ⠹⣄  ⠣⡀       ⠈⠳⠾⠤⢤⣤⣤⣧⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣼⡧⠤⠤⠤⠤⠤⢼⠤⠤⠤⠵
⣖⣤⣀    ⡇⡇      ⠈⢗⡄ ⢀⣀     ⠉⡢⣪⠏   ⡰⠁  ⢀⠎    ⠘⢄ ⢀⡠⠊            ⠈⢳⡄ ⠘⢄             ⢸           ⠜     ⢸⡇     ⢸    
 ⠈⠙⠵⣄ ⢰⠁⡇        ⢹⢎⡁ ⠑⢄⡀ ⢀⢔⡝⠉⠑⢄⢀⠎   ⡠⠃       ⠱⡁                ⠹⢄ ⠈⢆            ⢸                 ⢸⡇     ⢸    
    ⠘⣦⢸⢰⠁        ⠘⢌⢮⡑⢒⣤⣈⣢⣪⠊   ⡔⠑⠢⡀⢀⠜          ⠈⠢⡀                ⢣  ⢣           ⢸                 ⢸⡇     ⢸    
     ⠘⢿⡼⡀          ⢹⡹⣾⣤⢗⡕⠉⢆ ⢀⠜   ⢨⠪⢄            ⠘⡄               ⠈⢆  ⠣⡀         ⢸                 ⢸⡇     ⢸    
      ⠈⢿⡵⡀         ⠘⣧⡬⡿⢿⣤⠤⣄⡱⡊   ⡰⠁  ⠑⠢⢄          ⠘⠤⡀              ⠈⢆  ⠱⡀        ⢸                 ⢸⡇     ⢸    
GeoJSON points, a line and a polygon, labeled from their name property and fitted to the view.
Format What mapterm reads
GeoJSON FeatureCollection, Feature or a bare geometry; all geometry types including Multi* and GeometryCollection
CSV / TSV Points from latitude and longitude columns (lat, latitude, y and lon, lng, long, longitude, x, any case), or any geometry from a WKT column (POINT, LINESTRING, POLYGON and their MULTI forms). Other columns become properties, with numbers and booleans typed.
GPX Waypoints as points with their fields, each track as a line of its segments, routes as lines
KML Placemarks (points, lines, polygons with holes, MultiGeometry) with name, description and ExtendedData. Unzip KMZ first.
FlatGeobuf All geometry types and typed properties, in lon/lat

The format comes from the file extension, or else from the content, so URLs without an extension work too. Files and URLs can be up to 512 MB.

mapterm --geojson dc-landmarks.csv --geojson mall-walk.gpx
⡇       ⢠⠊ ⡇ ⢸ ⠉⠒⠤⣸⣀⣀⣀⣇⣀⣀⣇⣀⣀⣀⣇⣀⣀⣀⣀⣇⣀⣇⣀⣀⣀⣇⣀⣀⣀⣇⣀⣇⣀⣀⣀⣇⣀⣀⣀⣀⣇⣀⣀⣇⣀⣸⣠⣼⠶⠚⠉ ⡇   ⢸ ⠉⠒⢼⣀⣼     ⢸ ⢸⡇⢸⡇⣘⡄ ⡇      ⡇     ⡜⢀⣾⣿⡇
⣳⡀    ⢀⡔⠁  ⡧⠤⢼⠤⠤⠤⠤⢼⠭⠶⠴⣇⡀ ⡇   ⡇    ⡇ ⢣   ⡇  ⢠⠃ ⡇   ⡇    ⡇⢀⣠⡷⠒⢻⠁⢸    ⡇   ⢸   ⢸ ⢸⠓⠒⠤⣀ ⢸ ⢸⡇⢸⡇⡏⣇ ⡇     ⢰⡇    ⢰⢡⣿⣿⣿⣿
⢌⠳⡄  ⢠⠎    ⡇ ⢸    ⢸   ⡇⠈⠑⡷⢖⣒⠒⡗⠒⠒⠒⢲⠓⠒⠒⠓⠒⠒⠓⠒⠒⠓⠒⠒⡗⠒⠒⠒⡗⠒⣒⡤⣖⣟⣉⣀⣇⣀⣸⣀⣸⣀⣀⣀⣀⣇⣀⣀⣀⣸⣀⣀⣀⣸⣀⣸⣀⣀⣀⣀⣙⣻⣶⣾⣗⣺⡗⡗⠺⡒⡗⠒⠒⠒⠒⠒⢺⡗⠒⠒⠒⠒⡗⣾⣿⣿⣿⡟
 ⠙⠾⣦⢶⠋⠉⠉⠉⠉⠉⡏⠉⢹⠉⠉⠉⠉⢹⠉⠉⠉⡏⠉⠉⡏⠉⠉⠉⡗⠤⣀ ⢸            ⡇⢀⣠⡴⡗⠋⠁ Downtown⢸    ⡇   ⢸   ⢸ ⢸     ⢸  ⡏⢻⡷⣗⣄⣷⡃     ⢸⡇   ⡸⢠⣿⣿⣿⣿⠃
   ⢿⢿⢦⣀⣀⣀⣀⣀⣇⣀⣸⣀⣀⣀⣀⣸⣀⣀⣀⣇⣀⣀⣇⣀⣀⣀⣇⣀⣀⣉⣺            ⣟⣉⣀⣀⣇⣀⣀⣀⣀⣇⣀⣀⣇⣀⣸⣀⣸⣀⣀⣀⣀⡧⠤⠤⣀⣸   ⢸⣀⣸⣀⣀⣀⣀⣀⣸⣀⣀⡇⢸⡇⡇⠈⠙⣯⣦⡀   ⢸⡇  ⢠⠃⢾⡟⣽⣿⡟ 
    ⣿⣣⠈⠫⢦⣄⡀⡇ ⢸    ⢸   ⡇  ⡇   ⡇   ⢸      ● White House  ⡇  ⡇ ⢸ ⢸    ⡇   ⢸   ⢸ ⢸     ⢸  ⡇⢸⡇⡇  ⢱ ⠈⠑⠢⢄⡸⡇  ⡜   ⣜⡿⠁ 
  ⢀⣿⢾⡇   ⠙⠻⣷⣒⢺⠒⠒⠒⠒⢺⠒⠒⠒⡗⠒⠒⡗⠒⠒⠒⡗⠒⠒⠒⢺            ⡗⠒⠒⠒⡗⠒⠒⠒⠒⡗⠒⠒⡗⠒⢺⠒⢺⠒⠒⠒⠒⡗⠒⠒⠒⢺⠒⠒⠒⢺⠒⢺     ⢸  ⡗⢺⡗⡇  ⡞⡖⠒⠒⠒⠒⠚⡟⠲⣴⡇  ⢠⣻⠃  
  ⣰⢃⡷⢇⣀    ⡇⠉⠻⣦⡀  ⢸   ⡇  ⡇   ⡇⣀⣀⠤⢼            ⡧⠤⠤⢄⣇⣀⣀⣀⣀⣇⣀⣀⣇⣀⣸⣀⣸⣀⣀⣀⣀⣇⣀⣀⣀⣸⣀⣀⣀⣸⣀⣸⣀⣀⣀⣀⣀⣸⣀⣀⣇⣸⣷⣇⣀⣀⣇⣸⣀⣀⣀⣀⣀⣇⠤⠚⣷⡄ ⢸⠟   
I-66⣩⠽⠛⠛⠛⠛⠛⡟⠿⣛⣛⣛⡿⣿⢿⠿⢟⣉⣏⣉⣉⣏⣉⣉⣉⣏⣀⣀⣀⣸            ⣧⣤⣤⣤⣧⣤⣤⣤⣼⣀  ⡇ ⢸ ⢸ Penn Quarter ⢸     ⢸  ⡏⢹⣿⡇  ⡇ ⢇    ⡇   ⠙⠛⢻⠛⠛⠢⢄
 ⢰⣿⣇⡏      ⡇      ⡹⠳⢤⡀⡇  ⡇   ⡇   ⢸ Washington ⡇   ⡇    ⠈⠙⠳⡷⢤⣼⢄⣸    ⣇⣀⣀⣀⣸⣀⣀⣀⣸⣀⣸⣤⣀⣀⣀⣠⣼⣀⣸⣀⣸⣿⣇⣀⣀⣇⣀⣘⣄⣀⣀⣠⣇⣀⣀⣀⣀⣀⣸⣀⣀⣀⣀
 ⢸⢏⣏⣧⡀     ⡇      ⢳  ⠉⠲⢤⡀⡇   ⡇   ⢸            ⡇   ⡇       ⡇ ⠈⠑⢺⡵⣢⣤⣄⣇   ⢸⢀⡠⠤⢺⠉        ⢸ ⣿⡟⡇  ⡇  ⢣⡠⠊       ⢸    
⣠⠗⠉⢷⣸⢫⡦⡀   ⡇      ⢻     ⠙⣧⣤⠤⠤⡧⠤⠔⠒⢺            ⡇   ⡇       ⡇   ⢸⡇  ⠈⡗⠫⠶⠶⣼⢅⡀ ⢸⠒⠒⠒⠒⠒⠒⠒⠒⠒⢺ ⢻⡇⡏⠉⠒⡗⢒⠖⠊         ⢸    
⡲⣒⠤⢖⣷⣸⠃⠈⠢⡀ ⡇      ⢸      ⡇⠈⠙⠶⣇⡀  ⢸            ⡇   ⡇       ⡇   ⢸⡇   ⡇   ⢸⠉⠚⠫⢾⢦⡤⣀      ⢸ ⢸⣧⠃ ⢀⡗⠁           ⢸   ⣴
⠉⡖⠯⢖⠾⡿⡏⠒⠒⠼⢷⡗⠒⠒⠒⡲⠒⠒⠚⠒⠒⠒⠒⠒⠒⠓⠒⠒⠒⠓⠚⠒⠒⢺⠒⠒⠒⠒⠒⠒⠒⠒⠒⠒⠒⠒⡗⠒⠒⠒⡗⠒⠒⠒⠒⠒⠒⠒⣷⠖⠒⠒⠺⠷⠶⠶⠶⡷⠶⠶⠶⢾⠶⠶⠶⠾⠤⠞⠋⠛⢷⠶⣤⣠⡴⢾⡶⢼⣿⠤⠶⠥⠧⠤⠤⠤⠤⠤⠤⠤⠤⠤⡦⠴⠶⢾⠶⠶⠾⣥
 ⠱⡀ ⠙⠾⣗⡄  ⢸⡇  ⡔⠁                 ⢸            ⢇   ⡇       ⣿        ⡇   ⢸        ⢸  ⠉⠚⢽⠁⠈⡿            ⡰⠁  ⢸⠤⠒⠉ 
  ⠈⠢⢄⡀⢸⠗⠉⢱⢸⣇⢀⠎                   ⢸            ⠈⢆ ⣀⣇⣀⣀⣀⣀⣀⣀⣀⣿⡠⠤⠤⠤⠤⠤⠤⠤⡧⠤⠤⠤⢼⠤⠤⠤⠤⠤⠤⠤⠤⢼⠤⠤⠤⠤⢼  ⡇           ⠲⠃   ⢸    
     ⢈⠿⢖⢴⠚⠉⠉⠉                    ⢸             ⠘⡏ ⡇       ⡇        ⡇   ⢸        ⢸    ⢸  ⡇  ⢀⣀⣀⣀⣀⡠⠤⠤● U.S. Cap…
     ⢸ ⢀⠏ ⠐⠒⠒⠒⠒⠒⠒⠒⠒⠒⠒⠒⠒⠒⠒⠊⠉⠉⠉Mall walk⠉⠉⠉⠉●⠉Washington Monument⣤⣤⣀⣀⣱⣀⣀⣀⣸⣀⠤⠤Mall walk⣒⣺⠊⠉⣯⠉⠉⠁     ⣀       ⢸    
⡀   ⢀⡨⢖⠊⠑⢤⣀                     ⢀⠮⢧           ⢠⠃⠈⠑⡗⠒⠒⠒⠊⠉⠉⠉⣿⠉  ● Smithsonian Castle⠉  ⢸  ⣿        ⡟       ⢸    
⣱⡤⠒⠉⠁ ⠈⠲⣤⣜⢸                  ⣀⠤⠒⠉⠉⠉⠙⠒⠢⣤⣒⡢⢄⣀⣀⢤⡴⡷⠒⠲⢤⡧⠤⠤⠤⠤⠤⠤⠤⣿⠤⠤⠤⢤⡤⠤⠤⢤⡼⠤⠤⠤⢼⠤⠤⠤⢤⠤⠤⠤⠤⢼⠤⠤⠴⠯⢽⠤⠤⣿⡤⠤⠤⠤⠤⠤⢤⡼⠥⠤⠤⠤⠤⠤⠤⠤⢼⠤⠤⠤⠤
 ⢣      ⠈⠛⢿⢟⠛⠲⠶⠶⡶⠶⠶⠶⠤⢤⣤⣤⣤⣤⣒⣒⡩⠼⠦⠤⠤⠤⠤⠤⠤⠴⠥⠤⠬⣝⠲⡊⠁ ⡇  ⢸⡇       ⡷⡀  ⢸⡇  ⢸⡇   ⢸ ⢀⣀⢼    ⢸    ⢸  ⠸⡵⣄              ⡸    
 ⠈⢆       ⠈⠙⠂   ⠸⡀                        ⠑⢜⡄ ⡇  ⢸⣇⣀⣀⣀⣀⣀⣀⣀⡇⠱⡀ ⢸⡇  ⠸⡗⢒⣒⣒⢺⠊⠁ ⢸⣀⣀⣀⣀⣸⣀⣀⣀⣀⣸⣀⣀⣀⣷⡹⣷⣄           ⢠⠇    
  ⠘⡄             ⢣                         ⠘⡵⡀⡇  ⢸⡇       ⡇ ⢱ ⢸⣇⡠⠤⠒⡟⠉⠉⠉⢹⠒⠤⣤⣸    ⢸    ⢸   ⡟⣯⡿⡕⠫⣢⡀       ⣰⠏     
   ⠘⡄           ⠠⡊                          ⠈⢷⣇ ⢀⢸⡗⠒⠒⠒⠒⠒⠒⠒⣗⡶⢾⡖⢻⡗⠒⠒⢲⡗⠒⠒⠒⢺⠒⠒⠒⢻⠉⠒⠢⠤⣸⣉⠉⠉⠉⠉⡏⠉⠉⡏⢻⣿⡏⡖⠛⠛⡯⡉⠉⡏⠉⣩⠟⡍⠉⠉⠉⠉⠉⠉
    ⠘⡄           ⠈⢆                           ⠙⢦⣇⢹⡇ ⣠⠤⠒⠒⠉⠉⡇ ⢸⡇⢸⡇  ⢸⡇   ⢸   ⢸    ⢸⠉⠛⠳⠶⣤⣇  ⡇⡸⣿⣿   ⣘⣌⠶⡗⠉  ⢱   ⢀⡠⠔
     ⠘⡄            ⠑⢄                 ⢀⣀⠤⠤⠤⠤⠤⢄⣀⢀⣿⣿⣷⣎⣀     ⣇ ⢸⡇⣿⡇  ⢸⡇   ⣸⠤⠤⠤⢼⡤⠤⠤⠤⢼⠤⠤⠤⠤⠼⠤⠭⠶⠟⡶⣿⣿⠒⠛⠋⠁ ⢻⡯⠦⠤⠤⠬⡦⠴⠾⠥⠤⠤
      ⠘⢄             ⠑⠢⡀            ⢠⠊⠁       ⢀⡿⣿⡟ ⠈⠛⠿⣷⣶⡶⢾⣻⣶⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣾⣶⣶⣶⣾⣷⣶⣶⣦⣼⣤⣤⣤⣤⣤⣴⣶⣶⣮⣮⣤⣽⣿⣷⣦⣤⣀⢸⡇    ⠸⡀    
⢵⣄      ⠑⢄             ⠈⠢⡀         ⡰⠁        ⣠⢎⣾⠏⠈⠢⡀   ⣨⡻⢿⡿⣯⣋⢩⠝⢫⣉⠛⢢⡇   ⣾⠒⠉⠉⠁    ⢸   ⠉⠉⠉⠁   ⠈⠉⠙⠻⢿⡿⣗⣿⣿⣳⡶⣤⣀⡀⢣    
⡠⠭⢷⣢⢄     ⠑⢄             ⠈⠢⢄      ⡔⠁    ● Jefferson Memorial⠉⠫⢝⣍⠉⠳⣞⠖⠒⠒⠒⣿⠒⠒⠒⢲⠒⠒⠒⠒⢺               ⠈⠙I-695⣛⣽⣿⣶⣤⣤⣤
   ⠈⠑⠳⣄     ⠑⢄              ⠑⠤⠤⠤⣀⠎          ⣧⢿⡳⠁⠈⠙⢦⣤⠞⠉⠢⡀       ⠈⠳⣜⠊    ⣿   ⢸    ⢸                 ⢸⣿      ⢇⠈⠉⠉
⢕⢄     ⠑⢄     ⠑⢄             ⣀⠤⠒⠉⡏⠉⠉⢒⣒⣒⣲⣶⣖⡶⠟⢡⠃⠧⣀⣀⣴⠟⠙⢦⡀ ⠈⢢        ⠈⠳⣄   ⣿   ⢸    ⢸                 ⢸⡇      ⠸⡀  
 ⠑⢵⡀     ⠑⢄     ⠑⢤⠤⠤⠔⠒⠒⠒⠒⠒⠒⠉⠉    ⠈⡢⣺⡿⠟⠛⢛I-395⢿⡟⡻⠋⠁   ⠙⢖⣄ ⠑⢄        ⠈⠳⣄⡠⠋⠉⠉⠉⢹⠉⠉⠉⠉⢹⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⢹⡏⠉⠉⠉⠉⠉⢹⠉⢫⠉⠉
⢀⡠⠼⠬⡢⡀     ⠣⡀     ⠉⠢⣀           ⣠⢞⠟⠉⠑⢄⡰⠋ ⢀⡞⠁  ⢸      ⡠⠊⠉⠳⣄ ⠑⢄⡀       ⠈⠳⣄   ⢸    ⢸                 ⢸⡇     ⢸ ⠈⢆ 
⠁   ⠈⢞⢄     ⠘⢄⡀      ⠑⠤⡀      ⢀⣴⠗⠁  ⡠⠊⠉⠢⢄⠎    ⠈⠢⢄  ⡠⠊    ⠈⠳⣄ ⠈⠢⡀       ⠈⢳⣄ ⢸    ⣼                 ⢸⡇     ⢸  ⠘⡄
A CSV of landmarks and a GPX walk as two layers, each in its own color.

The samples are dc-landmarks.csv, mall-walk.gpx and national-mall.geojson.

  • Points as ● markers, lines as braille lines, polygons as an outline with a tinted interior.
  • Each layer gets its own color from a palette, with a legend in the status bar naming the layer (its file name).
  • Features are labeled from their name property, or title, label, NAME or Name when there’s no name. Lines and polygons are labeled at their middle.
  • Over a raster layer, polygon interiors are left clear so the imagery shows through.

Features are kept in a spatial index, so drawing and clicking only look at what’s near the view, even with hundreds of thousands of features.

A layer with more than 1,000 points clusters them, like MapLibre’s cluster: true: nearby points merge into ◉ with a count, and split apart as you zoom in.

mapterm --geojson random-points-dc.csv -z 10.5
    ⢸ ⠘⡄⡇ ⠹⣆           ⣧⠞⠁      ⠑⠪⡇ ⡜ ⡜ ⠘⡄      ⠣⡀ ⡔⢁  ⢀⢼  US 29   ⢀⠎  ⡇      ⠑⢄⢸ ◉ 3⢄     ⣀⡞     ⡜     ⢀⡜⡇ ⢀⠔
    ⠈⡇ ⠘⡜⡄ ⢹⡢⣀       ⡠⡺⠁⠑⢄        ⢱⡜  ⢣  ⠘⡄     ⢠⠃◉⣉6⢀⠔⠁⢸  ⢰⠁ ⡇   ⢠⠊   ⢧        ⠙⣆    ⢱⣤⠒◉⠉2     ⢸     ⡠⠊⢸⢀⠔⠁ 
◉⢤3⡀ ⢧  ⠘Brookmont ⡠⠊ ⡇   ⠑⠤⡀    ⢠⠧⠵⡤⠤⠤⠵⣤⣤⠼⡄     ⢹⠮⣀⡰⠁  ⢸ ⣠⠃  ⢇  ⣤⡇    ⣸         ⢸⢑⣄⣀⣠⠃ ⠑⢄       ⠘⡄◉⢀4⠊ ⡠⢺⡁  ⡠
  ⠈⠙⠳⣦⣣⡀ ◉⢄14⡄   ⣱⠊  ⢸⡇     ⠈⠢⡀ ⡰⠁  ⢣   ⢱⠄ ⠘⡄    ⡇      ⢸⡴⢹  ◉⢸6⣼⠃     ⣇⠑⠤⠤⠤⠶⠤⠤⠤⢤⡼⠁ ⠱⣀    ⠳⣄      ⣇⠔⠉   ⡇⢸⡇⢀⣎⣀
   ⢀⠖⠁⡟⠓⠢⢄⡀⠳⣄⠈⠒⣤⠊⢸   ⡼⠃       ⢈⠶⡁   ⠈⢆   ⡇  ⠸⣀  ⠸⠧⢤⡀   ⣀⢼⠁⢸    ⡿⠁      ⠘⣆   ◉ 5⣠⠊    ⢸⠢⡀  Mount Rainier⡠⠚⢫⠉⠻⡵ 
   ⡎  ⠙⣦⣤⣀⡈⠑⠢⡳⣎ ⢣ ⢻⡉⠉⠉⠉⠑⢄⡀   ⡔⠁ ⠈⠢⡀ ◉⠘13 ⡇   ⠹⡑⠒⣦⣤⣼⠗⠉⠉⠉ ⢸ ⢸   ⡜⡇        ⡟    ⢀⡴⠃     ⠸◉⠑14  ⢀⠬⠪⡁   ⢀⠼⠒⠁   ⢣ ⠘⡄
 ⡰⠉       ⠉⠳⢦⡑⡜⣇ ⣱⡀⠱⡀   ⡠⠊◉⠊12    ⠈⠢⡀⢀⠇  ⡇    ⠱⡀ ⠙⠻⢍⢏⠒⠒⠉⢹⠢⢼  ⢸⡀⢸ ⣀⣀⣤⠤⠤⠤⣶⣿⢤⣴⠤⠚⠛⠒⠒⠚⠛⠋⠉⠉⠉⡇ ⢀⡱⡔⠊⠁  ⠈⠢⡠⠔⠁      ⢸  ⠘
⠉⠁           ⠉⢺⢿⣏ ⢣ ⠈⢦⣀⠔⠁   ⠈⡆      ⠈⢺⣄⣀⣀⣇⣀⡀   ⠱⡀⢀⢄ ⡹⡖⠒⠒◉⢒35⣭⣛⣟⣻⢿⡶⣿⡀◉ 31⢀⠎           ⢀⡧⠒⠁ ⠈⠢⡀ ⢀⠔⠊⠈⠢⡀      ⠘⡄  
          ⡠⠚⣷⠦⠜⠈◉⣆3⠢⡰⠉⠱⡄     ⡇       ⢸ ⠑⢄⡇ ⠉⢦   ⢱ ⣇⠕⠋ ⢀⡠⢺⠋⠹⡉⠉⠉⡏⢹⠁  ⠈⠒⠒⢺⡏⠁        ⢀⣀⡤⠖⠁      ⢑⣴⡃    ⠈⠢⣀     ⡇  
        ⢀⠜  ⠘⡄   ⠙⢗⣤⡈⠑⢄⠘⢆    ⢇       ⠘⡄  ⠈⠱◉ 54⠒⠹⣫⡿⠒⠒⣶⠁ ⢸  ⡇  ⢸ ⡇     ⢸⠁    ⢀⣀⣤⠶⠾⡟⠁⠈⠢⡀     ⡠⠏ ⠈⠢⣄   ◉ 3⢄  ⢀⠇ ⡠
      ⣀⠴⠋    ⢱     ⠙⣮⢆ ⢱⣸⡀   ⢸        ⠈⢆   ⠑⢄ ⣀⡶⠲⠋⣆⡀⡸ ⡇⢀⣸⢠⠔⡏⠋⠉⠺⡀⡇     ⢸ ⢀⣠⡴⠞⠛⠉ ⡠⠊⠁   ⠈⢢   ⡔⠁    ⠈⠻⣄⣰⢤⣼⣀⡀⠑⢤⣊⣤⠾⢾
     ⣞        ⡇     ⠘⡷⣣ ⢣⢍⣢⡀ ⠸◉ 11     ⠈⢆    ⣿⠫⡀   ⢱⣁⠤⡟◉⣾93⡗⠒⢲⠒⡗⣇⡀  ⣀⡤⢾⠚⠉     ⢸   ⣀⣠⠤⠒⠚⢖⢛⠟⠛⠛⠛⠓⠒⠒⠒⠚⠉⠉⠉ ⣀⡨⠝⠉⠑⢄ ⠘
⠑⢄  ⡸⠹⡄       ⠈⠢⢄    ⠹⣿⡀ ⢇ ⠈⢗⠒⠬⣢⣀⣀⣀⣀⣀⣀⣀⣀⣈⣆   ⠈⠛⢾⣦⣀⣀⣼⣄⣀⣧⣺⣸⣸⣀⣇⣀⣸⣀⡇⣇⡯⠗⠫⢅⡀⢸ ◉ 139⢀⣨⢦⣖⡋⠁    ⢈⠎          ⡎⠉⠉     ⠈⠢⣰
  ⠑⢢⠧⣀⡙⣆         Canal Road Northwest    ⠘⣄⣀⣀⣀⣀⣀⣈⣿⣿⣓⣻⣶⣗⣺⣺⣺⣒⣗⣶⢾⠒⡏⡇⡇   ⠈⢹⠤⣀⣀⡤⠖⠚⢉⠤⠊ ⠈⠒⠤⡀  ⡞          ⡰⠁       ⢀⣼⠏
⠤⠒⠉⠁  ⠈⢞⣇   ◉ 10  ⢱     ⠙⢦⣑⠤⣉⠢⢄⡉⠒⢧⣀⣀      ⠘⡄   ⡜⠉⢹⡝⢀⠎⡿⡏⣹⢾⢾⡊⡇⡇⢸ ⡇⡇⡇  ⢀⣠⣼⠖⠋⠉⠢⢄⡠⠃      ⠈⠑⡾⠁   ◉ 27  ⡔⠁       ⢠⡾⠁ 
       ⠈⠹George Washington Memorial Parkway⡗⠒⠒⣶⣷⣒⣺⡷⠋⠉⣏⣿⣽⣽⣹⣹⣟⣧⣼⡀⡇⣇⣧⠔⣞⡏⠉⢹⠉⠉⠉⠉⠉⠉⠑⡦⣄⡀    ⡼⡇         ⢰⠁      ⣀⡴⠋   
         ⠈⢮⢆       ⡏         ⠈⠉⢙◉⠶13⢯⣭⡭⣽⡢⠬⢍⣉⡉⠉⣿⡏⢉⢽⠛◉⣭177⣭⣭⣯⣯⣯⣿⠝⡟⡟⡯⣉⣏⣿⣉⣹⣉⣉⣉⣉⣉⣉⣉⣏⣉⣉⣓⣦⣄⣼⡁⡇        ⡔⠁      ⡴●⠚⠭⣉⠉⠉
          ⠈⢣⡱⠶⠚⠛⠉⠓⠦⣵     ⢀⣀⣖⡲⠯⠭⢍⣀⣀⣠⠴⠖⠒⡾⣟⣿   ⠈⢱⢹⢙⡯⣼   ⡏⡗⡇  ⣟⣏⣏⣿◉⡏151⡏⣿⠢⢼⣀      ⡇⢀⣀◉⠒32⢨⠋⡹⠒⠲⠤⠤⣤⣄⣀⣇⣀    ⡠⢪⠎    ⠉⠓
⢀⣤⠶⠖⠋⠉⠙⢍⠉⠉⠉⠁⠱⣄     ⠘⡝⠒⠊⢩⡿⠷⠻⣤⠤⠔⠒⡏⠉⠉ ⣀⡠⢤⣧⣧⣸⣆   ⢸⢸⣸⡟⢺⠿Washington⣿⣄⡗⡗⡗⠒⢳⣿⠒⡺⠈⠒⠲⢄⣀⣀⡤⡗⠉     ⡎ ⡇      ⠈⡏⠉⠛⠓⣲⠿⡤⢇       
⠉◉ 13  ⠈⢧    ⢸⡆    ⢀⠇ ⢀⢾⠁      ⣇⡤⠶⠛⠊⣉⡡⢼⣄⣻◉⣦60⠔⡟⢿⣿⢼⠤⠤⠤⠿⠧⡧⠤⠤⡧⡧⠤⡧⠬⡯⡿⠷⢤⢼⡿⠯⠤◉⢤104⡿⠯⣯⡭⠭⠭⣭⡭⠟⡏⠉⡟⠻⡲⣄   ⡸  ⢀⡞⠁⡰⠁ ⠉⠒⠢⢄   
        ⠈⣧    ⢇ I-66⠒⠊⠁⢸   ⣠Arlington ⠈ ⠹⣷⣿⣢⡀ ⠸⡀⣹⣏    ⢀⣇  ⡸⡇ ⡇ ⡇⡇ ⢸⢸⡇   ⢸⠒⠒⡗⡗⠒⡗⢻⠭⢽⣓⡒⠒⡗⠒⡗⢗⡇⣸⠗⠒⢒⠗⡲⡶⠛⠒⡲⢗⠶⠒⠒⠒⠒◉⢿6⠒
⠑⠢⢄⡀     ⢘⣄◉⣀3⣸⣟⣁⣀⣀⣸⠤⠤⠤⠼⣦⠤⠾⡁   ⢀⡾⠋⠁      ⠘⣞⢞⣿⡤⠒⢫⠈⠙⠛⠓⠒⠚⠓⠒⠛⢯⡏⡯⠭⣯⠉⡏⡏⠉⢹⠹⢿⣭⡉⠉⠉⠉⠙⠯⣏⡉⡏⢹⠉⠉⠉⠉⠉⡏⠉⡏◉⠉19 ⡜⣰⠉  ⡜⠉⠁⠱⡀   ⡇ ⢣ 
⣤⣀ ⠈⠑⠤⠒⠒⠉⠁⠈⠢⣀⣼⣁⣻⣄⣀⣀⣸⣀⡤⠖◉⠏14⠉⢏⠉⠉⠙⡇   ◉ 22 ⠈⠚⣏⢞⢽⣢⡀⠣⡀     ⢀⠤⠤⣽⠷⣤⣿⣤⣯⣧⣤⣸⣀⣼⣿⣻⠤⡄    ⠉⡗◉⣄13  ⣇⠤⠋  ⢀⠔⠉⢀⡇ ⢀⠞    ⠘⡄⢀⠴⠁  ⢣
 ⠉⠛⠶⢤⣀⣀⣀⣤⣤⠤⠞⠛⡆⣀⣈⠧⣤⠤⠤⡧⠒⠉     ⠈⢧⡀ ⣇          ⠈⢾⣿⡿⢟⠦⡈⠢⣀⣀⣀⡠⢊⣠◉⣿184⠻⡃⣇⣀⣸⣀⣀⣈⣹⣟⣳⠒⠲I-695 ⠉⠓⢶⣉⣀   ⢀⠎  ⡜ ⢀⠎     ⡠⢼⠁    ⠈
        ⢀⡠⠤⠒⠒⢻⡀ ⢀⡸⠑⢄⡇         ⠙⢦⣼            110⠢⡈⠦⡈⠢⡀⡴⢫⠊⠉⠃  ⠑⢄⠈⠲⣄⣎⣀⣀⣀⣸⣀⣈⣆⣀⣀⣀⣉⣏⣻⣶⠶⠶⠶⠾⠟⣢⢤⣒295⠎⣀⠴⡟     ⢸  ⠣⣀    
⣀⣀⣀⡤⠤⠖⠒⠉⠁    ⣀⡩⠿⠥⢤⣀ ⠘⠢⡀    US 50⠻⣆           ⣸⠋⠉⢶⡁ ⢻⣷⣞⡕⢅      ⠈⢆     ⠁⢸        ⢸⡏ ⡠⠔⠊⢉⡠⠞⠛⠻⣭⣔⠊  ⢸      ⡇   ⠉⠒⠤⡰
      ◉ 6 ⢠⠒⠉     ⠈⠑⡄⢀⣈⣦⡴⠒⠊⠉⠁    ⠘⢇        ⢀⣰⠃  ⠈⡗⠤⣾⡯⠿⣦ ⠑⢄     ⠈⢢     ⢸◉ 61⠒⠤⣀⣀⡠⠝⣯◉⡤6⠁ ⣀⠔⠊  ⠉⠒⠤⣘⡄     ⡇    ⡠⠊ 
⠶⣄⡀      ⣰⠁     ⣀⠤⠶⠒⢿⠉  ⠙⠦⣀        ⠳⣄⣀ ⣀⠤27⣽⣿⣄⣀⠠⢺⣧⣼⠟⠃ ⢸⣧ ⠈⢢     ⠈⡆    ⠈⠉⡳⠧⣀    ⢀⣼⣿⡉ ⣀⠔⠊         ◉⠢11⡠⠼   ⡠⠊   
  ⠈⠉⠉⠉⠉⠉⠉⡏⠉⠉⠉⠉⠉⠉⠁   ⠈⢆    ⠈⠱⡄    ⢀⣀⠤⠜⠛⠛⢶⣾⠟⣟◉⠛32⢿⢿⡿⠁  ⢀⠜⢀⡇  ⠱⡀    ⡇     ⡰⠁ ⣿⡀ ⣀⣤⠜⢡⠃⠈⠉⠉⠑⠒⠤⣀       ⢣ ⢀⠭⠒⠤⣀⡠⠊  ⢀◉⡴
         ⡇           ⠈⣧    ⣀⡧⠤⢴⠒⠉⠁ George Washington Memorial Parkway⡠⠜  I-295⣢⠎⠁        ⠑⠢⡀ ⣀⡠⠤⢼⠒⠓⠢⢄⡠⠊⠉⠙⠛⠛⠉  
⠑⢄      ◉⠈2          ◉⡨3⠒⠊⠉ ⢣ ⡼       ⢠⡿⡸⠁  ⠉⠉⠒⠒⢻⠇ ⣾⡇   ⠈⢆   ⠱⡀  ⢣⢀⠔⠉    ⣷⠃   ⣿⡆           ⢸⡛⠁  ⢸  ⡠⠊⠈⠑⠤⡀     
  ⠑⠲⢄     ⠈⠢⡀  ⢀⣀⠤⠔⠮⢍⡀ ⢸     ⢳◉ 5    ⢠⡿⠁⡇       ⢼  ⣿⣷    ◉⢆21 ⢣  ⢸⠁     ⢸⡟   ⢸⢸⡀   ◉ 18    ⡇⠱⡀  ⠸⡠⠊     ⠈⠢⢄   
     ⠉⠢⣀⡀ ⢀⡠⢼⠒⠊⠁   ⣀⣀⠭⢖⠋    ⢠⠞⠙⢄    ⣠⡟⠁ ⡇       ⣸⢀ ⣿⠘⣇    ⠘⡄   ⢣ ⡇   Suitland Parkway Southeast⣠⣊⣘⡤⠤⣀◉ 6   ⠉⠢⢄
      ⢀⡨⠿⠿⣍⣠⠃    ⢀⠜⠁   ⠑⠤⡀ ⡰⠃  ⠘⡕⢦I-395 ⢸     ◉ 7⠾⣼⣝⣤⣹✈ DCA⡣    ⠻      ⣿⡇◉ 13⢸        ⢀⠤⠒⠛⠷⣤⣀⣠⠮⠒⠉⢏⣉⣆ ⠉⠛⠵⡤⡀    
2,000 random points around Washington, DC, clustered. Counts are dropped where they would overlap a neighbor.

(random-points-dc.csv is synthetic sample data.)

Without --at, mapterm starts zoomed to fit all your layers. With --at (and optionally -z), it starts where you say.

In inspect mode, your features come first in the list, with all their properties. For scripts:

Terminal window
mapterm --geojson sites.csv --snapshot 100x40 --pick 50,20

prints the features under that cell as JSON lines.

mapterm::geojson::load reads any of these formats from a path or URL, and mapterm::formats::to_geojson converts their bytes to a GeoJSON document. Style a source with the viewer’s look, or with your own style layers:

let doc = mapterm::formats::to_geojson("stores.csv", &std::fs::read("stores.csv")?)?;
map.add_source("stores", MapSource::geojson(&doc)?)?;
let color = mapterm::geojson::PALETTE[0]; // an Rgb color
map.add_layers(mapterm::geojson::overlay_layers("stores", color, true), None)?;

Clustering and feature ids are covered in Map and sources.