These are the KNIME nodes developed and used by the Cyface GmbH. We do provide them without any warranty, but we are happy to share our experience ond get input from the community. If you got an improvement or found a bug please let us know.
Some of the Nodes are work in progress and will not work directly. Please see the following list for a more detailed explanation about the KNIME nodes included.
- Distance: A node to convert a signal with non equal spaced data points to a signal with equal spacing.
- Envelope: A node to calculate the envelope curve to an input data signal.
- Read: A node to read input in Cyface binary format.
- Export: A node to export data to the Cyface binary format.
- Map Matching (WIP): A node to map match a table of coordinates. This is still work in progress and does not work yet.
- Smooting: A node for smoothing a data signal.
Requirements:
- KNIME, https://www.knime.org
Steps to get Cyface Nodes inside KNIME:
- Goto Help > Install new software ... menu
- Press add button
- Fill text fields with
https://download.nodepit.com/cyface/3.5
- Select --all sites-- in work with pulldown
- Select Cyface Nodes
- Install software & restart (for now an "Unsigned Content" warning can popup during the installation, you can safely ignore this)
Development requirements:
- Eclipse, https://eclipse.org
- Maven, https://maven.apache.org
Steps to get development environment setup:
- Download, install and run Eclipse Oxygen
- Clone this Git repository
- Import root project folder (pom.xml) into Eclipse using
File → Import... → Maven → Existing Maven Projects
- Open subproject
targetplatform/de.cyface.knime.targetplatform.target
in Eclipse and selectSet as Active Target Platform
During import the Tycho Eclipse providers have to be be installed. If this is not done automatically by Eclipse, perform the following steps:
- Goto Eclipse Preferences and browse to
Maven → Discovery → Open Catalog
- Install Tycho Integrations
The following command builds the entire project:
mvn clean package
The following command builds the entire project, creates an update site, runs unit tests and test workflows:
mvn clean verify
ATTENTION: Make sure to use Java 8. Building this does not yet work with higher versions yet.
In order to test changes made to the Cyface Binary Format Reader node you can run it directly:
- Navigate to
Eclipse > Run > Run Configuration > Eclipse Application > New launch Configuration > Run a product > org.knime.product.KNIME_PRODUCT
- Then execute the new Run configuration using the Eclipse UI
- Knime should now start automatically
- Add the Cyface Binary Format Reader node to a project in Knime to test it
You can also use the debugging option from Eclipse to debug the Node.
In order to test changes made to the Cyface Binary Format Reader node you can export it in Eclipse:
- Navigate to
File > Export > Plug-in Development > Deployable plugins and fragments
- Select
de.cyface.knime
plugin and a destination directory
(Source: https://www.knime.com/developer/documentation/export)
You might need to uninstall installed versions of the Cyface Binary Format Reader:
- Navigate to
Help > Install new software > already installed (blue link)
- Select and uninstall the Cyface Binary Format Reader (if there)
- Restart Knime
In order to test your changed, exported Cyface Binary Format Reader you can import it into Knime:
- Copy the generated (exported) JAR file into the
plugins
folder of the Knime installation - Restart Knime
To release a new version of the Cyface Nodes you should use the Tycho versions plugin. Just call:
mvn tycho-versions:set-version -DnewVersion=X.X.X-XXX
and substitute X.X.X-XXX with your new version. The project is versioned using semantic versioning. A samll fix on version 1.0.0 thus should result in a new version 1.0.1. Extensions to the current API should result in 1.1.0 and breaking changes to the existing API should result in a new version 2.0.0. Snapshot versions on the dev branch can have the SNAPSHOT keyword attached, like for example 1.0.0-SNAPSHOT while true releases are qualifier free like 1.0.0.
ATTENTION: Do not use the maven release plugin. This will not work, since there are some Eclipse configuration files, where you need to change the version as well. You may of course do that by hand, but that is tedious and error prone.
Builds of master
and release/*
branches are automatically pushed to and published on NodePit.
Copyright 2018, 2019, 2020, 2021, 2022, 2023 Cyface GmbH
This file is part of the Cyface Nodes.
The Cyface Nodes is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
The Cyface Nodes is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with the Cyface Nodes. If not, see http://www.gnu.org/licenses/.