Geographic Features - banisterious/obsidian-charted-roots GitHub Wiki
Geographic Features
Charted Roots provides comprehensive place-based features for tracking where people were born, died, married, and lived. These features support both real-world genealogy and world-building with fictional places.
Table of Contents
- Interactive Map View
- Maps Tab (Control Center)
- Place Notes
- Life Events Array
- Journey Paths (Route Visualization)
- Journey Mode
- Place Statistics
- Data Quality Card
- Place Visualizations
- Merge Duplicate Places
- Place-Based Tree Filtering
- Place Lookup
- Custom Place Types
- Using Obsidian Maps Alongside Charted Roots
- Settings
Interactive Map View
The Map View provides a Leaflet.js-powered interactive map for visualizing where your family members lived, traveled, and died.
Opening Map View
Option 1: Maps Tab (Control Center)
- Open Control Center → Maps tab
- Click Open Map View in the first card
Option 2: Command Palette
- Open Command Palette (Ctrl/Cmd + P)
- Search for "Charted Roots: Open Map View"
Option 3: Custom Maps Gallery
- In the Maps tab, click any custom map thumbnail to open it directly in Map View
Option 4: Context Menu
- Right-click on a map note and select "Open in Map View"
Map Features
| Feature | Description |
|---|---|
| Markers | Color-coded pins for birth (green), death (red), marriage (purple), burial (gray), and life events |
| Clustering | Dense marker areas collapse into numbered clusters; click to zoom in |
| Migration Paths | Solid indigo lines connecting birth → death locations with person name labels |
| Journey Paths | Dashed violet lines connecting all life events chronologically |
| Heat Map | Geographic concentration visualization showing where most people lived |
| Fullscreen | Click the fullscreen button to expand the map |
| Mini-map | Overview inset in the corner for context |
| Place Search | Search for places and zoom to their location |
Toolbar Controls
The Map View toolbar uses compact icon-only buttons with tooltips. Hover over any button to see its function.
| Icon | Function |
|---|---|
| Layers | Toggle marker types, paths, heat map, journey paths |
| Filter | Filter by collection, year range |
| Clock | Open time slider for "who was alive when?" animation |
| Map | Switch between OpenStreetMap and custom image maps |
| Columns | Open side-by-side map comparison (split view) |
| Download | Export as GeoJSON or SVG overlay |
| Pencil | Enter edit mode for custom map alignment (custom maps only) |
| Refresh | Reload data from vault |
Marker Popups
Click any marker on the map to open a popup with the person's name, the event type and date, and the place name. For non-birth events on people whose born field is set, the popup also appends the person's age at the time of the event (e.g., Death: 1875-04-12 (age 67) or Death: 22 BBY (age 50) on fictional-era universes). Birth events suppress the age annotation since age 0 is redundant alongside the birth date.
For events with both a date_from and date_to (residence, occupation, military service, etc.), the popup renders the full duration as from – to rather than dropping the end date.
Age calculation defers to the same DateService path the journey-mode rich popup uses, so fictional eras (BBY/ABY descending and ascending, era crossings) work identically across both popup variants.
Place Marker Interactions
Place markers on custom maps support direct manipulation:
Dragging Markers:
- Click and hold any place marker to drag it to a new position
- Release to drop the marker; the new coordinates are saved automatically to the place note
- Works with both geographic and pixel coordinate systems
Right-Click Context Menu:
- Right-click any place marker to access quick actions:
- Open place note: Navigate to the place's markdown note
- Edit place: Open the Edit Place modal to modify properties
- Remove from map: Remove the marker (clears coordinates from the place note)
Filtering
By Collection:
- Click Filters in the toolbar
- Select a collection from the dropdown
- Only people in that collection will be shown
By Year Range:
- Click Filters in the toolbar
- Enter minimum and/or maximum years
- Click Apply
Layer Toggles
Control which elements appear on the map:
- Click Layers in the toolbar
- Toggle individual marker types:
- Births, Deaths, Marriages, Burials
- Residences, Occupations, Educations, Military
- Immigrations, Religious, Custom events
- Toggle path layers:
- Migration paths (birth → death)
- Journey paths (all events chronologically)
- Toggle heat map layer
Time Slider Animation
Visualize "who was alive when?" across your family tree:
- Click Time in the toolbar
- Use the slider to select a year
- Click Play to animate through time
- Adjust speed with the speed control
- Toggle between modes:
- Snapshot: Only show people alive at the selected year
- Cumulative: Show everyone born up to the selected year
The person count displays how many people are visible at each point.
Map Comparison (Split View)
Compare different views side-by-side:
- Click Split in the toolbar
- Choose horizontal or vertical split
- Each map instance has independent filters
- Use this to compare:
- Different time periods
- Different collections/branches
- Real-world vs. custom maps
Export Options
GeoJSON Export:
- Click Export → Export as GeoJSON
- Creates a standard GeoJSON file with markers and paths
- Compatible with GIS tools (QGIS, ArcGIS, etc.)
SVG Overlay Export:
- Click Export → Export as SVG Overlay
- Creates an SVG file with markers and paths
- Can be embedded in notes or edited in vector graphics software
Maps Tab (Control Center)
The Maps tab in Control Center provides a central location for managing custom maps and accessing map visualizations.
Opening the Maps Tab
- Open Control Center (click the Charted Roots icon in the ribbon or use Command Palette)
- Click the Maps tab in the sidebar
Tab Contents
The Maps tab contains four cards:
| Card | Description |
|---|---|
| Open Map View | Quick access button to launch the Map View, with coordinate coverage stats |
| Custom Maps | Thumbnail gallery of all custom map images with management actions |
| Visualizations | Migration diagrams and place network visualization tools |
| Map Statistics | Coordinate coverage percentage, custom map count, and universe list |
Custom Maps
The Custom Maps gallery displays thumbnail previews of all map notes in your vault. Click any thumbnail to open it in Map View, or hover to reveal edit and menu options.
For complete documentation on creating, editing, and aligning custom maps, see Custom Maps.
Place Notes
Place notes are structured markdown files with YAML frontmatter that describe locations. They support hierarchical relationships (city → state → country) and can be linked from person notes.
Example Place Note:
---
cr_type: place
cr_id: place_abc123
name: "London"
aliases:
- "City of London"
- "Londinium"
# Classification
place_category: real # real | historical | disputed | legendary | mythological | fictional
universe: null # for fictional/mythological places
# Hierarchy
parent_place: "[England](/banisterious/obsidian-charted-roots/wiki/England)"
place_type: city
# Coordinates (for real/historical places)
coordinates:
lat: 51.5074
long: -0.1278
# Historical names
historical_names:
- name: "Londinium"
period: "Roman"
---
# London
Notes about this place...
Place Categories
| Category | Description | Examples |
|---|---|---|
real |
Verified real-world location | London, New York, Tokyo |
historical |
Real place that no longer exists | Babylon, Constantinople |
disputed |
Location debated by historians | Troy, King Solomon's Mines |
legendary |
May have historical basis but fictionalized | Camelot, El Dorado |
mythological |
Place from mythology/religion | Asgard, Mount Olympus |
fictional |
Invented for a story/world | Winterfell, Mordor |
Creating Place Notes
Option 1: Control Center
- Open Control Center → Places tab
- Click Create place note
- Fill in the place details:
- Name and aliases
- Category (real, historical, fictional, etc.)
- Place type (city, state, country, etc.)
- Parent place (searchable dropdown)
- Coordinates (for real places)
- Click Create
Option 2: Quick-Create from Person Note
- Right-click on a person note
- Select Create place notes...
- Review unlinked place references (from birth_place, death_place, etc.)
- Click Create for each place you want to add
- Optionally enable auto-linking to convert text to wikilinks
Option 3: Bulk Create Missing Places
- Open Control Center → Places tab → Statistics
- Click Create missing place notes
- Review places referenced in person notes but not yet created
- Create them individually or in batch
Linking Places to People
Reference places in person notes using wikilinks or plain text:
---
# Wikilink format (recommended - creates graph connections)
birth_place: "[London](/banisterious/obsidian-charted-roots/wiki/London)"
death_place: "[New York City](/banisterious/obsidian-charted-roots/wiki/New-York-City)"
burial_place: "[Westminster Abbey](/banisterious/obsidian-charted-roots/wiki/Westminster-Abbey)"
# Plain text format (backwards compatible)
birth_place: "London, England"
---
Life Events Array
Beyond core life events (birth, death, marriage, burial), you can track additional life events using the events array in person frontmatter. These events appear as color-coded markers in the Map View.
Supported Event Types
| Event Type | Color | Use For |
|---|---|---|
residence |
Blue | Places lived (homes, apartments) |
occupation |
Orange | Work locations (offices, factories) |
education |
Teal | Schools, universities, training |
military |
Brown | Military service locations |
immigration |
Cyan | Border crossings, ports of entry |
baptism |
Light Purple | Baptism locations |
burial |
Gray | Burial/interment locations |
confirmation |
Light Purple | Confirmation ceremonies |
ordination |
Light Purple | Religious ordinations |
custom |
Pink | Any other life event |
Example Events Array
---
birth_place: "[Boston](/banisterious/obsidian-charted-roots/wiki/Boston)"
death_place: "[Miami](/banisterious/obsidian-charted-roots/wiki/Miami)"
events:
- event_type: residence
place: "[New York](/banisterious/obsidian-charted-roots/wiki/New-York)"
date_from: "1920"
date_to: "1935"
description: "Family home on 5th Ave"
- event_type: occupation
place: "[Chicago](/banisterious/obsidian-charted-roots/wiki/Chicago)"
date_from: "1935"
date_to: "1942"
description: "Steel mill foreman"
- event_type: military
place: "[Normandy](/banisterious/obsidian-charted-roots/wiki/Normandy)"
date_from: "1944-06-06"
date_to: "1944-08-25"
description: "D-Day invasion"
- event_type: education
place: "[Harvard University](/banisterious/obsidian-charted-roots/wiki/Harvard-University)"
date_from: "1915"
date_to: "1919"
description: "BA in History"
---
Event Properties
| Property | Required | Description |
|---|---|---|
event_type |
Yes | One of the types listed above |
place |
Yes | Wikilink to a place note |
date_from |
No | Start date (YYYY, YYYY-MM, or YYYY-MM-DD) |
date_to |
No | End date (for duration events) |
description |
No | Brief description of the event |
Journey Paths (Route Visualization)
Journey paths show a person's complete movement through life by connecting all their events in chronological order.
How it works:
- Birth location is always first
- Life events are sorted by date (year)
- Death and burial locations come last
- Consecutive duplicate locations are filtered out
Visual style:
- Dashed violet lines (distinct from solid indigo migration paths)
- Arrow decorations showing direction of movement
- Person name labels along the path
- Click the path to see all waypoints in a popup
To enable:
- Open Map View
- Click Layers in the toolbar
- Check "Journey paths (all events)"
Use cases:
- Track immigration routes with multiple stops
- Visualize military service across locations
- Show career progression through cities
- Map pilgrimage or travel routes
Path label legibility
Person-name labels render along migration and journey path lines. On colorful or dark image-map backgrounds the default colored text can be hard to read. The Map path label outline setting (in plugin settings → Place Settings) adds a contrasting halo around each label:
| Outline | When to use |
|---|---|
| None (default) | OSM tiles or other neutral basemaps where the colored text reads cleanly |
| White outline | Dark or richly-colored backgrounds where a white halo lifts the text off the map |
| Black outline | Light or pastel backgrounds where a dark halo provides contrast |
The outline applies uniformly to migration paths and journey paths. Setting changes take effect on the next map render — close and reopen the map view (or toggle a path layer off/on) for the change to apply to in-flight maps.
Journey Mode
Journey mode isolates a single person's geographic path on the map and provides animated step-through playback with rich popups and an optional family overlay. While journey paths (above) show all people's routes simultaneously, journey mode focuses on one person at a time for detailed exploration.
Entering Journey Mode
There are two ways to enter journey mode:
- From the map toolbar: Click the route button (🔀) in the toolbar's right section. A person picker opens — select the person whose journey you want to explore.
- From a person note: Right-click a person note and choose Charted Roots > Show journey on map from the context menu. This opens (or focuses) the Map View with that person pre-selected.
When journey mode activates:
- All markers and paths not belonging to the selected person are hidden
- The person's event markers and journey path are shown
- The map fits bounds to the person's waypoints
- The time slider is disabled (they are mutually exclusive)
- The journeys layer is enabled automatically
- A person indicator appears in the toolbar center showing the selected name
To exit journey mode, click the × button on the person indicator, or click the route button again.
When the Playback Panel Doesn't Appear
Journey playback is only built when the selected person has at least two unique places with valid coordinates. Coordinates can be either geographic (lat / lng) on real-world maps or pixel (pixel_x / pixel_y or custom_coordinates_x / custom_coordinates_y) on custom image maps — both systems produce journey paths.
If the selected person has fewer than two resolvable waypoints, an inline placeholder appears at the bottom of the map naming the person and stating that they need at least two places with valid coordinates. The marker filter and toolbar chip still apply; only the playback panel is replaced. Add a birth_place / death_place / event-place wikilink that points at a place note with coordinates and the panel will render on the next refresh.
Playback Controls
A floating control bar appears at the bottom of the map with:
| Control | Description |
|---|---|
| ⏮ Previous | Jump to the previous waypoint |
| ▶ Play / ⏸ Pause | Auto-advance through waypoints; loops back to the start when it reaches the end |
| ⏭ Next | Jump to the next waypoint |
| Progress bar | Visual indicator of current position in the journey |
| Waypoint label | Shows the current event type and place name (e.g., "Birth in London") |
| Step counter | Displays position (e.g., "3 / 7") |
| Dwell-time selector | Cycles through 2s / 4s / 6s / 10s — controls how long the popup stays visible per step before the next step fires (default 4s). Total step interval is the configured dwell plus a constant ~1.1s camera fly. |
On each step, the map pans and zooms to center on the current waypoint with a smooth fly animation, and a rich popup opens automatically.
Rich Waypoint Popups
During playback, each waypoint displays a detailed popup with:
| Field | Description |
|---|---|
| Event type | The type of life event (e.g., Birth, Marriage, Residence) |
| Step counter | Position in the journey (e.g., "3 of 7") |
| Date | The event date, if available |
| Place | The place name |
| Age | Calculated from the person's birth year |
| Duration at location | Time between this event and the next (e.g., "12 years") |
| Details | Event description, if available |
Family Journey Overlay
While in journey mode, you can toggle an overlay that shows the journey paths of immediate family members.
To enable: Click the 👥 family button (users icon) in the playback controls bar. Click it again to disable.
When enabled, dimmed journey paths appear for the person's:
- Parents — shown in blue
- Spouses — shown in pink
- Children — shown in emerald
Family paths are rendered with reduced opacity and thinner lines to keep the primary person's journey prominent.
Clicking a family member's path opens a popup showing their name, relationship, and a summary of their journey. The popup includes a Switch to journey button that switches focus to that family member, entering journey mode for them instead.
Note: Only family members who have journey paths (at least two geolocated events) appear in the overlay. Family members with no location data or only a single event are not shown.
Place Statistics
The Places tab in Control Center shows aggregate statistics:
Overview Metrics:
- Total places in vault
- Percentage with coordinates
- Orphan places (no parent defined)
- Maximum hierarchy depth
Category Breakdown:
- Count of places per category
- Number of associated people per category
Most Common Locations:
- Top birth places
- Top death places
- Migration patterns (birth → death flows)
Data Quality Card
The Data Quality card in the Places tab provides a unified view of place data issues with inline actions to fix them. It combines issue detection with resolution tools in a single, scannable interface.
Summary Bar
At the top of the card, a summary bar shows at-a-glance counts for each issue type:
- Orphan: Places without a parent place defined
- Missing: Place names referenced in person notes that don't have corresponding place notes
- Duplicate: Place names that appear multiple times (potential duplicates)
- Other: Additional issues (circular hierarchy, fictional places with coordinates, etc.)
Issue Sections
Each issue type appears in its own collapsible section. Sections show a count badge and can be expanded or collapsed by clicking the header.
Default behavior:
- The first two sections are expanded by default (progressive disclosure)
- Sections with zero issues are hidden
Issue types detected:
| Issue Type | Description | Action |
|---|---|---|
| Orphan places | Places without parent_place defined |
Edit button to set parent |
| Missing place notes | Places referenced in person notes but no place note exists | Create button to create note |
| Duplicate names | Multiple place notes with the same name | Review button, batch link to merge modal |
| Circular hierarchy | Place A → B → A (invalid parent chain) | Edit button to fix |
| Fictional with coords | Fictional/mythological places with real-world coordinates | Review button |
| Real missing coords | Real places without coordinates defined | Edit button to add coords |
| Places in wrong folder | Places not stored in their category-appropriate subfolder | Organize places button (see Category-Based Organization) |
Inline Actions
Each issue item shows:
- Place name: The name of the affected place
- Detail text: Context about the issue (e.g., "no parent", "referenced by 5 people")
- Action button: A contextual action like "Create", "Edit", "Set parent", or "Review"
Clicking the action button opens the appropriate modal or navigates to the place for editing.
Batch Actions
For issue types that support bulk operations, a batch action link appears below the issue list:
- "Find all duplicates →": Opens the Merge Duplicate Places modal
- "Create all missing →": Opens the Create Missing Places modal (when available)
Other Tools
Below the issue sections, an "Other tools" section provides access to actions that aren't issue-driven:
- Geocode lookup: Look up coordinates for real places via OpenStreetMap
- Standardize place names: Normalize place name formatting across notes
- Merge duplicate places: Open the full duplicate detection and merge modal
Best Practices
Recommended workflow:
- Review the summary bar to understand the scope of issues
- Address high-impact issues first (missing places with many references)
- Use batch actions for bulk operations
- Use inline actions for individual fixes
- Re-check after fixes to catch any new issues
Place Visualizations
Charted Roots provides D3-based visualizations for place data:
Network/Schematic View:
- Places shown as nodes sized by associated person count
- Color coding by category, place type, or hierarchy depth
- Tree and radial layout options
- Interactive tooltips with place details
- Toggle migration flows as directed edges
Migration Flow Diagram:
- Arc diagram showing movement patterns between places
- Filter by minimum flow count
- Color-coded nodes (green=birth origin, red=death destination)
- Filter by time period (year range with century presets)
- Filter by collection (family branch)
- Aggregate by hierarchy level (e.g., group by country)
Merge Duplicate Places
When importing GEDCOM files or building place notes manually, you may end up with multiple notes representing the same location. The "Merge duplicate places" feature helps identify and consolidate these duplicates.
Opening the Merge Modal
- Open Control Center → Places tab
- In the Actions section, click Merge duplicate places
- The modal scans your vault for potential duplicates
How Duplicates Are Detected
The duplicate detection algorithm uses multiple passes to identify potential duplicates:
Pass 1-3: Name Matching
- Exact name match (case-insensitive)
- Similar name match (fuzzy matching for typos)
- Same parent + same name (places with identical names under the same parent)
Pass 4: Same Parent + Shared Base Name Places under the same parent that share a base name (first word) are grouped. This catches GEDCOM import fragments like "Abbeville" and "Abbeville County" under "South Carolina".
- Administrative divisions (County, Parish, Township, etc.) are grouped separately from settlements
- Prevents incorrect grouping of "Abbeville County" with "Abbeville" (the city) — they're different entities
Pass 5: State Abbreviation Variants Detects places that differ only in US state name format:
- "Abbeville SC" ↔ "Abbeville South Carolina"
- Checks both frontmatter title and filename for state components
- Supports various filename formats: spaces, kebab-case (
abbeville-south-carolina), and snake_case (abbeville_south_carolina)
Example duplicates detected:
- "Birmingham, Alabama" and "Birmingham, Alabama" (different
cr_idvalues) - "Hartford, Hartford County" (two notes with same parent name)
- "Abbeville SC" and "Abbeville South Carolina" (state abbreviation variant)
Not grouped together:
- "Hartford, Hartford County, Connecticut" vs "Hartford, Oxfordshire, England" (different parents)
- "Washington, Wilkes County" vs "Washington, D.C." (different parents)
- "Abbeville County" vs "Abbeville" (administrative division vs settlement)
Sorting and Filtering
The controls bar at the top of the modal lets you manage large lists of duplicates:
Sort options:
- Most duplicates (default): Groups with the most duplicate notes first
- Fewest duplicates: Groups with only 2 notes first
- Name (A-Z): Alphabetical by place name
- Name (Z-A): Reverse alphabetical
Filter options:
- All groups: Show all detected duplicate groups
- Pending only: Hide groups that have already been merged
- Has note content: Only show groups where at least one note has body text
- Has coordinates: Only show groups where at least one note has coordinates
The status display shows how many groups are currently visible (e.g., "Showing 12 of 45 groups").
Understanding the Interface
Each duplicate group shows:
| Element | Description |
|---|---|
| Suggested badge | The recommended canonical place based on completeness score |
| Full name | The full_name property from GEDCOM import (shown in italics) |
| Character count | Body content length (e.g., "1.2k chars", "500 chars") |
| Custom props | Badge shown if the note has non-standard frontmatter properties |
| Open button | Click to open note; right-click for open options |
| Select as canonical | Choose which note should be the primary place |
Suggested Canonical Scoring
The "Suggested" badge indicates which place note has the most complete data. The scoring algorithm considers:
| Criterion | Points |
|---|---|
| Has parent place defined | +100 |
| Has coordinates | +50 |
| Has place type specified | +25 |
| Has universe assigned | +10 |
| References from person notes | +5 per reference |
| Shorter file path (less nested) | -1 per path segment |
Higher scores indicate more complete and better-connected place notes.
Merging Process
- Review each group: Examine the places in each duplicate group
- Open notes if needed: Click the open button to view note contents
- Left-click: Open in new tab
- Right-click: Choose "Open to the right" or "Open in new window"
- Select canonical: Click "Select as canonical" on the note you want to keep
- Rename if needed: Click the edit icon next to "Final filename" to change the filename
- Useful for removing "-2" suffixes from auto-generated duplicate names
- The file will be renamed after the merge completes
- Repeat for each group
- Click Merge: The merge operation will:
- Update all references in person notes to point to the canonical place
- Re-parent any child places to point to the canonical
- Rename the canonical file (if a new filename was specified)
- Move duplicate notes to trash
Best Practices
Before merging:
- Review the
full_nameproperty to understand each place's context - Check character counts to identify notes with substantial content
- Open notes with "custom props" to review what data might be lost
- Use "Open to the right" to compare two places side-by-side
When selecting canonical:
- Prefer notes with coordinates defined
- Prefer notes with proper hierarchy (parent_place set)
- Prefer notes with more content (higher character count)
- Consider which note has more references from person notes
After merging:
- Run the merge process again to catch any newly-detectable duplicates
- Use "Build hierarchy" to establish parent-child relationships
- Review the Places tab statistics for orphan places
Limitations
- Only detects duplicates within the same parent context
- Does not automatically merge note content (preserves canonical only)
- Cannot undo merges (consider backing up before bulk merges)
- Places must have
cr_type: placein frontmatter to be detected
Place-Based Tree Filtering
Filter tree generation by geographic data:
- Open Control Center → Tree Output tab
- Configure your tree settings
- In the Place filter section:
- Enable filtering by birth place, death place, marriage location, or burial place
- Enter a place name to match
- Generate tree with only people matching the place criteria
Place Lookup
Create fully-populated place notes from external databases in seconds. The Place Lookup tool searches multiple providers simultaneously and returns coordinates, place type, and hierarchy.
Providers
| Provider | What it returns | Configuration |
|---|---|---|
| Wikidata | Coordinates, place type, hierarchy, alternate names | Always available |
| OpenStreetMap (Nominatim) | Coordinates, address components, place type | Always available |
| GeoNames | Coordinates, place type, hierarchy, population | Requires free account — configure username in Settings > Places |
How to use
From the command palette:
- Press
Ctrl/Cmd + P→ search for Charted Roots: Look up place - Type a place name (e.g., "Edinburgh, Scotland")
- Review results from all providers — each shows coordinates, type, and source
- Select a result → opens the Create Place modal with fields pre-populated
- Review and save
From the Create Place modal:
- Open the Create Place modal (from Control Center, context menu, or command palette)
- Click the Look up place button in the modal header
- Search and select a result — coordinates, place type, and hierarchy auto-populate the form
What gets populated
When you select a lookup result, the following fields are filled automatically:
coordinates_lat/coordinates_long— geographic coordinatesplace_type— city, state, country, etc. (inferred from provider data)parent_place— parent location in the hierarchy (if available)place_category— real, historical, etc.
Geocoding existing places
For place notes that already exist but lack coordinates:
- Right-click a place note → Charted Roots > Geocode
- Charted Roots queries Nominatim using the place name and parent place for accuracy
- Review and accept the suggested coordinates
Note: Geocoding is rate-limited. For bulk lookups, use the Bulk Geocode tool in Control Center > Maps tab.
Web Clipper integration
You can also create place notes by clipping web pages from genealogy sites. The Web Clipper Integration page includes ready-to-use templates for importing places from FindAGrave, FamilySearch, Wikipedia, and other sources directly into your vault.
Custom Place Types
Beyond the built-in types (city, state, country, etc.), you can use custom types:
- In the place type dropdown, select Other...
- Enter your custom type (e.g., "galaxy", "star-system", "dimension")
- Custom types are normalized to lowercase with hyphens
- They appear in statistics alongside standard types
Using Obsidian Maps Alongside Charted Roots
Obsidian Maps is an official community plugin that adds a Map view to Obsidian Bases. While Charted Roots provides genealogy-focused map visualization, Obsidian Maps offers complementary features for general place browsing.
When to Use Each
| Use Case | Recommended Tool |
|---|---|
| Visualizing migration paths (birth → death) | Charted Roots Map View |
| Journey paths through all life events | Charted Roots Map View |
| Heat map of family concentrations | Charted Roots Map View |
| Time slider ("who was alive when?") | Charted Roots Map View |
| Marker clustering for large datasets | Charted Roots Map View |
| Custom fictional/historical image maps | Charted Roots Map View |
| Simple "show places on a map" from a Base query | Obsidian Maps |
| Embedded map view within a markdown note | Obsidian Maps |
| Custom marker icons per place (Lucide icons) | Obsidian Maps |
| Custom marker colors per place | Obsidian Maps |
Using Both Plugins Together
Charted Roots and Obsidian Maps work well together. Your place notes already include coordinates properties that Obsidian Maps can use:
- Install Obsidian Maps from Community Plugins (requires Obsidian 1.10+)
- Create a Places Base using the Charted Roots template (Data Quality tab → Data tools → Places, or command palette)
- Add a Map view to your Base:
- In the Base, click the view dropdown → Map
- Set "Marker coordinates" to
coordinates - Optionally set "Marker icon" to
iconand "Marker color" tocolorif you've added those properties
This gives you a simple map view of your places within Bases, while Charted Roots' Map View remains available for genealogy-specific analysis like migration paths and time-based filtering.
Feature Comparison
| Feature | Charted Roots | Obsidian Maps |
|---|---|---|
| Map library | Leaflet 1.9.4 | MapLibre GL 5.8 |
| Tile format | Raster (XYZ) | Vector + Raster |
| Marker clustering | ✓ | — |
| Migration/journey paths | ✓ | — |
| Heat map layer | ✓ | — |
| Time slider animation | ✓ | — |
| Custom image maps | ✓ | — |
| Bases integration | — | ✓ |
| Embedded in notes | — | ✓ |
| Per-marker icons/colors | By event type | Per-note property |
| Formula-based properties | — | ✓ |
Coordinated Workflows
Scenario: Researching a specific branch
- Create a Base filtered to a collection (e.g., "Smith Family")
- Use Obsidian Maps' Map view for quick place browsing
- Switch to Charted Roots Map View for migration path analysis
Scenario: Place note research
- Browse places in an Obsidian Maps view
- Click a marker to open the place note
- Use Charted Roots' "Open in Map View" context menu for full analysis
Settings
Configure place features in Settings → Charted Roots:
Places Folder:
- Default destination for new place notes
- Configurable via settings or folder context menu
Default Place Category:
- Global default category for new places
- Can be overridden by folder or collection rules
Place Category Rules:
- Define automatic category assignment based on folder path or collection
- Example: Places in "Places/Historical" default to
historicalcategory
Category-Based Organization
Added in v0.19.3
When enabled, places are automatically stored in category-specific subfolders based on their place_category:
Places/
Real/ (place_category: real)
Historical/ (place_category: historical)
Disputed/ (place_category: disputed)
Legendary/ (place_category: legendary)
Mythological/ (place_category: mythological)
Fictional/ (place_category: fictional)
Enabling Category Subfolders:
- Open Settings → Charted Roots → Places
- Scroll to the Category organization section
- Enable Use category-based subfolders
How It Works:
| Action | Behavior |
|---|---|
| Create new place | Automatically stored in category subfolder (e.g., Places/Historical/) |
| Edit existing place | If category changes, you're prompted to move the file |
| Import (GEDCOM/Gramps) | Places go to base folder; use Data Quality to organize afterward |
Custom Folder Rules:
Override automatic folder names for specific categories:
- In the Place organization section, click Add override
- Select a category (e.g., Historical)
- Enter a custom subfolder path (e.g.,
Ancient/HistoricalorFantasy/Legendary)
Custom rules take precedence over automatic naming.
Organizing Existing Places:
If you enable category subfolders after creating place notes:
- Open Control Center → Places tab
- In Data Quality, look for "N places in wrong folder"
- Click Organize places to open the bulk migration modal
- Select places to move and click Move
The organize modal shows:
- Place name and category
- Current folder location
- Target folder based on category
Default Behavior:
- New vaults: Category subfolders are enabled by default
- Existing vaults: Disabled by default to avoid disrupting existing organization
- Places with the default category (usually
real) stay in the base folder unless a rule is defined