FSQ Spatial Desktop

FSQ Spatial Desktop is our offering designed for tech-savvy GIS professionals seeking advanced desktop computing capabilities. It leverages Kepler.gl's visualization excellence with native DuckDB to overcome browser limitations, allowing for powerful spatial analysis and compelling visualizations of multi-gigabyte datasets without memory bottlenecks or cloud dependencies. The product is built on the open-source SQLRooms framework, promoting community-driven extensibility through plugins, and provides complete analytical capability without internet connectivity requirements.

Key Components

  • Projects: A "Project" refers to a collection of your work, including the datasets you're using, the queries you've run, and the visualizations you've created.FSQ Spatial Desktop provides the capability to manage multiple projects and save them locally to your desktop or your FSQ Cloud storage
  • Data Sources Panel: This is the central hub for managing your datasets, including tables and tilesets, allowing you to easily access and integrate various spatial data formats.
  • Map View (Powered by Kepler.gl): A dedicated visualization canvas for geographical data, enabling real-time rendering of millions of data points, heatmaps, clusters, and interactive filtering. Toggle and modify using the Layers icon.
  • SQL Query Editor (Leveraging DuckDB): An interactive environment where you can write and execute SQL queries for complex spatial analysis, benefiting from DuckDB's sub-second query performance on large datasets.

All the components of FSQ Spatial Desktop are built on top of the SQL RoomsFramework.

Download and Install FSQ Spatial Desktop

Steps:

  1. Open your web browser and navigate to the FSQ Spatial Desktop download page.
  2. On the download page, choose the appropriate version for your operating system (e.g., "Apple Silicon" or "Intel" for macOS). Click the "Download" button for your desired version.
  3. Save the installer file (e.g., FSQ-Spatial-0.1.4-arm64.dmg for Apple Silicon) to your desired location, such as your Downloads folder.
  4. Once the download is complete, open the downloaded file.
  5. Drag the "FSQ Spatial" application icon into your "Applications" folder to install.

Known Issues:

If you experience the application hanging or failing to launch after installation on macOS, it is likely due to macOS's built-in quarantine system. This security feature can sometimes prevent applications downloaded from the internet from running correctly. To resolve this, you can remove the quarantine attribute from the application using the Terminal:

  1. Open Terminal (you can find it in Applications/Utilities).
  2. Paste the following command and press Enter:
    sudo xattr -r -d com.apple.quarantine /Applications/FSQ\ Spatial\ Desktop.app
    
  3. You may be prompted to enter your administrator password. Type it and press Enter (the characters will not be visible as you type).
  4. After running the command, try launching FSQ Spatial Desktop again

Typical Workflow

This section outlines the typical end-to-end workflow within FSQ Spatial Desktop, from launching the application and setting up a project to performing data analysis, customizing visualizations, and interacting with your spatial data.


  1. Launch FSQ Spatial Desktop and Create a New Project

    To begin your analysis, you'll first launch the application and set up a new project:

    1. Open FSQ Spatial Desktop from your Applications folder.

    2. When the application launches, you'll see a welcome screen. Click "Create New Project..."

    3. In the "Create and Save New FSQ Spatial Project" dialog box, enter a name for your project in the "Save As" field (e.g., "demo_spatial").

    4. Choose the location where you want to save your project file.

    5. Click "Save". The application will then initialize the database for your new project.


  2. Add Data to Your Project

    To begin your analysis, you need to import your data into the platform from your local or cloud storage:

    1. In the FSQ Spatial Desktop interface, click "+ Add Data" in the "Data Sources" panel on the left.

    2. In the "Add Data" dialog, select the "Upload" tab.

    3. Click "Add files" to browse for your local data files.

    4. Navigate to the directory where your data is located, select your data file (e.g., walmart.csv), and click "Open".

    5. The selected data will be imported and displayed as a layer on the map.

    6. You'll also see it listed under "Tables" in the "Data Sources" panel.


  3. Access FSQ OS Places & H3 Catalog From Your Project

    Add OS Places data

    -- read from the s3 bucket directly
    CREATE OR REPLACE VIEW os_places AS ( SELECT * FROM read_parquet('s3://fsq-os-places-us-east-1/release/dt=2025-07-08/places/parquet/*.parquet'))
    
    

    Add the H3 Hub Iceberg Catalog

    -- enable access to H3 Hub Iceberg catalog
    -- get a token first and paste it in TOKEN
    FORCE INSTALL iceberg FROM core_nightly;
    INSTALL httpfs;
    INSTALL h3 FROM community;
    INSTALL spatial;
    LOAD httpfs;
    CREATE OR REPLACE SECRET iceberg_secret (
       TYPE ICEBERG,
       TOKEN ''
    );
    ATTACH 'open_h3' AS open_h3 (
       TYPE iceberg,
       SECRET iceberg_secret,
       ENDPOINT 'https://h3-hub-foursquare.acryl.io/gms/iceberg/'
    );
    SELECT table_schema, table_name FROM information_schema.tables WHERE table_catalog = 'open_h3';
    

  4. Work with Data & Map Layers

    Once your data is added, you can query it and manage its layers. At this point, you can perform the following actions.

    1. View Data Columns: In the "Data Sources" panel, expand the imported table (e.g., "walmart") to see its columns (e.g., "lon", "lat", "date").

    2. Run SQL Queries: Below the map, you'll find a query editor area labeled "Run" where you can type your SQL query. After entering your query, click the "Run" button (the play icon) to execute it. Any table you create through the query interface will automatically show up in the “Tables” section.

    3. Rename Queries: To rename a query, click the down arrow next to the query tab (e.g., "Untitled"), select "Rename", enter a new name (e.g., "FSQ Places", "Enrich"), and then click "Save".

    4. Send Data: “+ Add table to map” access this through the table explorer and the three dots expand and push your data to the map.

    5. Manage Map Layers: The "Layers" panel on the right displays the active data layers on your map. From here, you can toggle the visibility of a layer by clicking the eye icon next to its name, delete a layer by clicking the trash can icon, or edit a layer's styling by clicking the pencil icon.


  5. Customize Map Visualization

    FSQ Spatial Desktop offers real-time rendering of up to 1 million points with interactive filtering and smooth animations. You can customize how your data is displayed on the map. For instance, you can:

    1. Adjust Point Styling: In the "Layers" panel, click the pencil icon next to a point layer (e.g., "walmart_places"). Under the "Basic" section, you can change the fill color by clicking "Fill Color" and then "Select a field" to color-code points based on a data attribute (e.g., left_name), choosing a color scale from the provided options. Finally, adjust the "Radius" slider to change the size of the points on the map.


    2. Change BaseMap Style: To change the base map style, click the "Base Maps" icon in the top left corner of the map window, then select a different base map style from the options (e.g., "Dark Matter", "Satellite With Streets"). This action will change the underlying map imagery.

      For additional customization options, refer to the documentation on the kepler.gl homepage.

  6. Interact with Map Data

    1. Pan and Zoom: You can pan the map by clicking and dragging, and zoom in or out by scrolling your mouse wheel.

    2. Inspect Data Points: Hover over a data point on the map to see a tooltip with its associated information, or click on a data point to display its detailed attributes in the "Interactions" panel on the left.

    3. Filter Data: In the "Filters" panel on the left, click "Add Filter," select the data source and the field you want to filter by (e.g., left_name), then enter or select the desired values (e.g., "Walmart X"). The map will update to show only the filtered data points.