Skip to content
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

ERROR: no flowchart_file provided! Segmentation fault & Number of attributes not equal to number of geometries #26

Open
Chengzhi16 opened this issue Aug 8, 2023 · 0 comments

Comments

@Chengzhi16
Copy link

Hi,

Thanks for sharing the tool, When I try to run the command and test data I'm getting an error that I don't quite understand.

I'm using Ubuntu 22.04, downloaded the lastest version of geoflow-bundle;
I've installed geoflow-bundle from source using cmake (using the instructions in the README file). It seems to have succeeded.

In short: 1. cannot find .json files; 2. Number of attributes not equal to number of geometries; 3. Reinstall encounter new error.

Question1: no flowchart_file provided! Segmentation fault
I use the following command:
geof flowchart.json
The output is:

ERROR: no flowchart_file provided!
Segmentation fault

And I also run other command, like:

 geof single/reconstruct.json

 lod22-reconstruct --list-plugins

The output are:

Automatically loading flowchart /usr/local/share/geoflow/gfc-brecon/single/reconstruct.json
/usr/local/bin/lod22-reconstruct: line 3:  5492 Segmentation fault      /usr/local/bin/geof /usr/local/share/geoflow/gfc-brecon/single/reconstruct.json "$@"

ERROR: no such flowchart_file: single/reconstruct.json
Segmentation fault

Question2: Number of attributes not equal to number of geometries
When I follow the command to run lod22 reconstruction:

lod22-reconstruct \
  --input_footprint=test-data/wippolder.gpkg \
  --input_pointcloud=test-data/wippolder.las \
>
Automatically loading flowchart /usr/local/share/geoflow/gfc-brecon/single/reconstruct.json
key not found in node parameters: skip_LoD12
key not found in node parameters: skip_LoD13
key not found in node parameters: skip_LoD22
key not found in node parameters: feature_select
key not found in node parameters: epsg
key not found in node parameters: overwrite
key not found in node parameters: epsg
key not found in node parameters: overwrite
key not found in node parameters: epsg
key not found in node parameters: overwrite
key not found in node parameters: epsg
key not found in node parameters: overwrite
key not found in node parameters: epsg
key not found in node parameters: overwrite
key not found in node parameters: epsg
key not found in node parameters: overwrite
key not found in node parameters: epsg
key not found in node parameters: overwrite
ERROR: Error: Number of attributes not equal to number of geometries [field name =OGRLoader.aantal_verblijfsobjecten]
/usr/local/bin/lod22-reconstruct: line 3:   878 Segmentation fault      /usr/local/bin/geof /usr/local/share/geoflow/gfc-brecon/single/reconstruct.json "$@"

And I checked the output obj file, it only generated 1 buildings.

Question3: New error when I reinstall
I remove the install files in Linux and reinstall geoflow, but new error shows when I run lod22-reconstruction command:

WARNING: no payload for LASF_Projection VLR with record_id 2112.
/usr/local/bin/lod22-reconstruct: line 3:  5736 Segmentation fault      /usr/local/bin/geof /usr/local/share/geoflow/gfc-brecon/single/reconstruct.json "$@"

Before I post this new issue I read the previous issues like #14 , ldd gfp_gdal.so seems good and the installation steps are fine as well. So I have no idea how to fix these...

P.S. during the first I tried to build, I adapted a little bit in order to fix the error I had:

geoflow-bundle/plugins/gfp-basic3d/nodes_cityjson.cpp:672:57: error: ambiguous overload for ‘operator[]’ (operand types are ‘nlohmann::basic_json<>::value_type’ {aka ‘nlohmann::basic_json<>’} and ‘nlohmann::basic_json<>’)
  672 |             std::string optilod = feature["CityObjects"][ ref ] ["attributes"]["optimal_lod"];
      |                                                         ^

then adapted this line in nodes_cityjson.cpp to:
std::string optilod = feature["CityObjects"].find(ref).value()["attributes"]["optimal_lod"];

After this adaption, no error occurs during the build process.

Thanks for your attention in advance! Help wanted!

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

No branches or pull requests

1 participant