Skip to content

Conversation

UrbanGISer
Copy link
Contributor

pixi run pip install keplergl==0.3.7

@UrbanGISer UrbanGISer linked an issue Aug 8, 2025 that may be closed by this pull request
@UrbanGISer UrbanGISer requested a review from koettert August 8, 2025 19:25
it also allow a non-geo table be included in the additional tables.  e.g, table with x and y can be used for point as well.
@UrbanGISer UrbanGISer linked an issue Aug 9, 2025 that may be closed by this pull request
@UrbanGISer
Copy link
Contributor Author

TEST WORKFLOW: https://hub.knime.com/s/xLU_rX_Qbq_Mxyz5

@koettert
Copy link
Contributor

Did the used JS libraries change with this release. If so you also need to download all required JS libraries and add them here: https://github.com/spatial-data-lab/knime-geospatial-extension/tree/main/knime_extension/libs/kepler/ with the right version. In addition you need to update the replacements here in the node code.
All this is necessary to use the Kepler view also in a Data App are not allowed to download and use external JS libraries.

@koettert koettert assigned UrbanGISer and koettert and unassigned koettert and UrbanGISer Aug 29, 2025
@koettert koettert requested a review from Copilot September 23, 2025 12:00
Copy link

@Copilot Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR updates the Kepler.gl version to 0.3.7 and enhances the ViewNodeKepler class to support multiple input datasets through a dynamic input group feature.

  • Updates Kepler.gl dependency management from conda to pip installation
  • Adds support for multiple input tables through a new input table group
  • Refactors the execute method to handle primary and additional tables separately

Reviewed Changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 4 comments.

File Description
knime_extension/src/nodes/visualize.py Adds multi-table support with primary and additional input groups, refactors processing logic into separate methods
knime_extension/pixi.toml Removes conda keplergl dependency and adds pip post-install task for version 0.3.7

Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.

build = {features = ["build"], no-default-feature = true}
build = {features = ["build"], no-default-feature = true}

# pixi run pip install keplergl==0.3.7
Copy link

Copilot AI Sep 23, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Remove the trailing space at the end of the comment line.

Suggested change
# pixi run pip install keplergl==0.3.7
# pixi run pip install keplergl==0.3.7

Copilot uses AI. Check for mistakes.

geo_col = knext.ColumnParameter(
"Geometry column",
"Select the geometry column to visualize.",
"Select the primary geometry column to visualize. ",
Copy link

Copilot AI Sep 23, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Remove the trailing space after the period in the description string.

Suggested change
"Select the primary geometry column to visualize. ",
"Select the primary geometry column to visualize.",

Copilot uses AI. Check for mistakes.

additional_tables=None,
):
from keplergl import KeplerGl
import geopandas as gp
Copy link

Copilot AI Sep 23, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The geopandas import is duplicated - it's already imported in the helper methods _process_table and _process_additional_table. Consider moving all imports to the top of the method or removing the duplicate imports in the helper methods.

Suggested change
import geopandas as gp

Copilot uses AI. Check for mistakes.

Comment on lines +1319 to +1325
# include only selected attribute columns that are not geospatial and the selected geospatial column
attribute_columns = self.attribute_cols.apply(input_table.schema)

included_column_names = list()
for c in attribute_columns:
if not knut.is_geo(c):
included_column_names.append(c.name)
Copy link

Copilot AI Sep 23, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The _process_additional_table method uses self.attribute_cols which is configured based on the primary table schema, but it's being applied to additional tables that may have different schemas. This could cause issues if the additional tables don't have the same column structure as the primary table.

Suggested change
# include only selected attribute columns that are not geospatial and the selected geospatial column
attribute_columns = self.attribute_cols.apply(input_table.schema)
included_column_names = list()
for c in attribute_columns:
if not knut.is_geo(c):
included_column_names.append(c.name)
# Dynamically include all non-geospatial columns and the geometry column from the current table
included_column_names = [c.name for c in input_table.schema if not knut.is_geo(c)]

Copilot uses AI. Check for mistakes.

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.

Support multiple layer in Kepler.gl view node Update Kepler.gl view to version 3.x

2 participants