-
Notifications
You must be signed in to change notification settings - Fork 11
Update Kepler.gl Version and Improvement #420
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
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.
TEST WORKFLOW: https://hub.knime.com/s/xLU_rX_Qbq_Mxyz5 |
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. |
There was a problem hiding this 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 |
Copilot
AI
Sep 23, 2025
There was a problem hiding this comment.
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.
# 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. ", |
Copilot
AI
Sep 23, 2025
There was a problem hiding this comment.
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.
"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 |
Copilot
AI
Sep 23, 2025
There was a problem hiding this comment.
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.
import geopandas as gp |
Copilot uses AI. Check for mistakes.
# 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) |
Copilot
AI
Sep 23, 2025
There was a problem hiding this comment.
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.
# 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.
pixi run pip install keplergl==0.3.7