knime-geospatial-extension icon indicating copy to clipboard operation
knime-geospatial-extension copied to clipboard

OSM POIs node fails on different combinations of key/value than the default one

Open sturmkev opened this issue 7 months ago • 0 comments

When I run different configuration combinations of place tags (key) and value tags (value) (according to https://taginfo.openstreetmap.org/) for the OSM POIs node the node fails: Execute failed: ('cannot mix list and non-list, non-null values', 'Conversion failed for column nodes with type object')

The logs reveal the following details:

2025-04-25 15:22:35,972 : WARN  : KNIME-Worker-102-OSM POIs 6:2076 :  : CloseablePythonNodeProxy : OSM POIs : 6:2076 : Traceback (most recent call last):
  File "/Applications/KNIME 5.4.3.app/Contents/Eclipse/plugins/org.knime.python3.nodes_5.4.1.v202501291500/src/main/python/_node_backend_launcher.py", line 1055, in execute
    outputs = self._node.execute(exec_context, *inputs)
  File "/Applications/KNIME 5.4.3.app/Contents/Eclipse/plugins/org.knime.python3.nodes_5.4.1.v202501291500/src/main/python/knime/extension/nodes.py", line 1237, in wrapper
    results = func(*args, **kwargs)
  File "/Applications/KNIME 5.4.3.app/Contents/Eclipse/plugins/sdl.harvard.geospatial_1.3.1.202502050916/src/main/python/src/nodes/opendata.py", line 562, in execute
    return knext.Table.from_pandas(gdfpoi)
  File "/Applications/KNIME 5.4.3.app/Contents/Eclipse/plugins/org.knime.python3_5.4.0.v202411121656/src/main/python/knime/api/table.py", line 386, in from_pandas
    return _backend.create_table_from_pandas(data, sentinel, row_ids=row_ids)
  File "/Applications/KNIME 5.4.3.app/Contents/Eclipse/plugins/org.knime.python3.arrow_5.4.0.v202411121140/src/main/python/knime/_arrow/_table.py", line 165, in create_table_from_pandas
    return _create_table_from_pandas(data, sentinel, row_ids)
  File "/Applications/KNIME 5.4.3.app/Contents/Eclipse/plugins/org.knime.python3.arrow_5.4.0.v202411121140/src/main/python/knime/_arrow/_table.py", line 150, in _create_table_from_pandas
    data = kap.pandas_df_to_arrow(data, row_ids=pandas_row_ids)
  File "/Applications/KNIME 5.4.3.app/Contents/Eclipse/plugins/org.knime.python3.arrow_5.4.0.v202411121140/src/main/python/knime/_arrow/_pandas.py", line 82, in pandas_df_to_arrow
    return pa.Table.from_pandas(data_frame)
  File "pyarrow/table.pxi", line 3480, in pyarrow.lib.Table.from_pandas
  File "/Applications/KNIME 5.4.3.app/Contents/Eclipse/bundling/envs/sdl_harvard_geospatial/lib/python3.9/site-packages/pyarrow/pandas_compat.py", line 609, in dataframe_to_arrays
    arrays = [convert_column(c, f)
  File "/Applications/KNIME 5.4.3.app/Contents/Eclipse/bundling/envs/sdl_harvard_geospatial/lib/python3.9/site-packages/pyarrow/pandas_compat.py", line 609, in <listcomp>
    arrays = [convert_column(c, f)
  File "/Applications/KNIME 5.4.3.app/Contents/Eclipse/bundling/envs/sdl_harvard_geospatial/lib/python3.9/site-packages/pyarrow/pandas_compat.py", line 596, in convert_column
    raise e
  File "/Applications/KNIME 5.4.3.app/Contents/Eclipse/bundling/envs/sdl_harvard_geospatial/lib/python3.9/site-packages/pyarrow/pandas_compat.py", line 590, in convert_column
    result = pa.array(col, type=type_, from_pandas=True, safe=safe)
  File "pyarrow/array.pxi", line 313, in pyarrow.lib.array
  File "pyarrow/array.pxi", line 83, in pyarrow.lib._ndarray_to_array
  File "pyarrow/error.pxi", line 100, in pyarrow.lib.check_status
pyarrow.lib.ArrowInvalid: ('cannot mix list and non-list, non-null values', 'Conversion failed for column nodes with type object')
...
2025-04-25 15:22:35,997 : ERROR : KNIME-Worker-102-OSM POIs 6:2076 :  : Node : OSM POIs : 6:2076 : Execute failed: ('cannot mix list and non-list, non-null values', 'Conversion failed for column nodes with type object')
org.knime.python3.nodes.PythonNodeRuntimeException: ('cannot mix list and non-list, non-null values', 'Conversion failed for column nodes with type object')
	at org.knime.python3.nodes.CloseablePythonNodeProxy$FailureState.throwIfFailure(CloseablePythonNodeProxy.java:805)
	at org.knime.python3.nodes.CloseablePythonNodeProxy.execute(CloseablePythonNodeProxy.java:568)
	at org.knime.python3.nodes.DelegatingNodeModel.lambda$4(DelegatingNodeModel.java:180)
	at org.knime.python3.nodes.DelegatingNodeModel.runWithProxy(DelegatingNodeModel.java:237)
	at org.knime.python3.nodes.DelegatingNodeModel.execute(DelegatingNodeModel.java:178)
	at org.knime.core.node.NodeModel.executeModel(NodeModel.java:596)
	at org.knime.core.node.Node.invokeFullyNodeModelExecute(Node.java:1284)
	at org.knime.core.node.Node.execute(Node.java:1049)
	at org.knime.core.node.workflow.NativeNodeContainer.performExecuteNode(NativeNodeContainer.java:603)
	at org.knime.core.node.exec.LocalNodeExecutionJob.mainExecute(LocalNodeExecutionJob.java:98)
	at org.knime.core.node.workflow.NodeExecutionJob.internalRun(NodeExecutionJob.java:198)
	at org.knime.core.node.workflow.NodeExecutionJob.run(NodeExecutionJob.java:117)
	at org.knime.core.util.ThreadUtils$RunnableWithContextImpl.runWithContext(ThreadUtils.java:369)
	at org.knime.core.util.ThreadUtils$RunnableWithContext.run(ThreadUtils.java:223)
	at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
	at java.base/java.util.concurrent.FutureTask.run(Unknown Source)
	at org.knime.core.util.ThreadPool$MyFuture.run(ThreadPool.java:123)
	at org.knime.core.util.ThreadPool$Worker.run(ThreadPool.java:246)

Malfunctioning configuration combinations for the node could be:

Place Tag Value Tag
amenity parking
landuse forest
leisure pitch

sturmkev avatar Apr 25 '25 13:04 sturmkev