Skip to content

Add comprehensive GIS features: attribute table, style editor, exports, and more#11

Merged
giswqs merged 6 commits intomainfrom
features
Feb 16, 2026
Merged

Add comprehensive GIS features: attribute table, style editor, exports, and more#11
giswqs merged 6 commits intomainfrom
features

Conversation

@giswqs
Copy link
Member

@giswqs giswqs commented Feb 16, 2026

Summary

This PR adds comprehensive GIS features to AnyMap Studio, transforming it into a full-featured desktop GIS application.

New Features

Layer Management

  • Attribute Table: View and inspect feature properties in a searchable, sortable table
  • Style Editor: Customize layer appearance (fill color, stroke, opacity, labels)
  • Layer Groups: Organize layers into expandable/collapsible groups
  • Enhanced Layer Context Menu: Zoom to layer, edit style, view attributes, duplicate, rename

Navigation & Tools

  • Go To Coordinates: Jump to any location by entering lat/lng coordinates
  • Command Palette: Quick access to all commands via Ctrl+Shift+P
  • Identify Tool: Click features to view their properties
  • Keyboard Shortcuts: I (identify), M (measure), Escape (cancel)

Export Capabilities

  • Export Dialog: Export map as PNG, JPEG, or GeoJSON
  • Multiple Output Formats: Image export with configurable quality

UI Improvements

  • Settings Panel: Configure coordinate format (decimal/DMS), status bar visibility
  • Enhanced Toolbar: Added identify, export, coordinates, and command palette buttons
  • Improved Status Bar: Shows coordinates in configurable format with copy-to-clipboard
  • Fixed Basemap Switching: Layers now properly preserved when changing basemaps

Data Support

  • URL Loading: Load data from URLs (GeoJSON, COG, PMTiles, XYZ tiles)
  • Enhanced Parsers: Better error handling for various data formats

Files Changed

  • 20 files changed, 2924 insertions, 233 deletions

Test Plan

  • Open app and verify landing page displays
  • Add a GeoJSON layer from file
  • Test basemap switching (layers should persist)
  • Test identify tool on features
  • Test attribute table display
  • Test style editor (change colors, opacity)
  • Test coordinate navigation (Ctrl+G)
  • Test command palette (Ctrl+Shift+P)
  • Test PNG/JPEG export
  • Test keyboard shortcuts (I, M, Escape)

…s, and more

New Features:
- Attribute table with sort, filter, statistics, and export
- Style editor for vector layers (fill, stroke, point styling)
- Export dialog (map to PNG, layer to GeoJSON/CSV)
- Command palette (Ctrl+Shift+P) for quick access
- Go to coordinates dialog (Ctrl+G)
- Settings panel with preferences
- KML/KMZ and CSV file loading support
- WMS/WMTS service connections
- Drag-and-drop file loading onto map
- Layer reordering via drag-and-drop
- Layer context menu with full options
- Identify tool for feature attributes
- Keyboard shortcuts (I, M, Escape, etc.)
- Status bar with scale and coordinate format toggle

UI Improvements:
- More basemap options (CartoDB styles)
- Better toolbar organization
- Global keyboard shortcut handling
- Modal dialog system for overlays

Utilities:
- src/utils/parsers.ts - KML, CSV parsing
- src/utils/geo.ts - Bounds, stats, formatting
- src/utils/export.ts - PNG and data export

Updated CLAUDE.md with progress tracking
Changed from absolute positioning to flex layout to avoid
overflow-hidden clipping issues. The table now takes space
from the map area rather than overlaying it.
Added ResizeObserver to MapCanvas that calls map.resize() when
the container size changes. This fixes the black screen issue
when closing the attribute table.
Use fixed positioning instead of flex layout to avoid
overflow-hidden clipping issues. The table now positions
itself at the bottom of the viewport, above the status bar.
The table now appears as a modal with a semi-transparent backdrop
that covers the screen. Clicking the backdrop closes the table.
This should fix the black screen issue by properly layering the UI.
@giswqs giswqs merged commit f49ab0a into main Feb 16, 2026
4 checks passed
@giswqs giswqs deleted the features branch February 16, 2026 19:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant