jongough / ocpn_draw_pi

OpenCPN general drawing plug in
7 stars 17 forks source link

Ocpn_draw 1.8.44 gpx import and export issue(s), leading to crashes #544

Open GroteStern opened 7 months ago

GroteStern commented 7 months ago

Hi, first of all a happy 2024 and thanks for the OpenCPN plugin ocpn-draw. After a small learning curve I now know how to use this plugin for my purposes. But I have also encouter one or maybe a few issues with importing and exporting from and to gpx. Exporting of line- or point objects results in a gpx-file which, read by e.g. Notepad++ shows content, but will result in a zero object situation when importing in opencpn (draw or route- and track manager) or an other GIS-software like VikingGPS of QGIS. Importing a gpx file results in also a zero (0-) object situation. Importing as layer leads to a crash of the plugin and OpenCPN stops (and ask te start in safe mode after this crash). Mostly I can restart OpenCPN after a few trials. I hope you understand what is going on and can repair this. With regards, Michiel Firet, the Netherlands

jongough commented 7 months ago

The OD export creates a gpx file which OD understands but other software, including OCPN will not understand. The idea is to allow saving and restoration of objects for OD and allows them to be passed to others to use. These files have been used to mark marine park areas of different types around the east coast of Australia. They are freely available and are useful to avoid getting fined to incursions into restricted areas, restricted fishing and restricted anchorages.

There was a problem with the new version where layers may cause a crash of OCPN when in the OD Manager. This should have been fixed with OD 1.8.46.0 and it should be installable now.

GroteStern commented 7 months ago

I want to use the 'export gpx' feature as you discribe in your comment, make it available for other Ocpn_draw users. In my case a lot of sailing information and restrictions in the (Dutch) Wadden Sea. But the export to gpx works, but the import again in Ocpn_draw (either as areas or (text)points, or as a (tempory) layer) results to a zero objects situation. So, something goes wrong somewhere???

GroteStern commented 7 months ago

Additional info. Importing the exported gpx into ocpn_draw on an other device works! I only have to copy/install the usericons in the subfolder by hand. So, the problem occurs when trying to import on the same device (to the same xml?).

jongough commented 7 months ago

In OD 1.8.46.0 I have created both boundaries and points and exported them. I deleted the paths and points then did an import for the exports and it worked fine. I then deleted the paths and points again and in the layers clicked 'New temporary Layer' and selected the exported paths and that created the layer with the paths in it. So for me it seems to be working.

If you import the file without first deleting the original paths/points you will see no effect, but you can import into a layer and see that that worked.

I have tested on win10 and ubuntu 22.04 using OD 1.8.44.0 & 1.8.46.0 (the 44 version may crash in layers if you try to sort the list, this is fixed in 46). What platform are you doing this testing on and what version of OCPN are you using?

GroteStern commented 7 months ago

Hi, I am using opencpn 5.8.4-0+1637c28 (the latest) and ocpn_draw 1.8.44.0 (the latest available via the plugin installer of OpenCPN) on W10. I did a try importing after deleting path and points first, to see what's happening. Importing works (now) after first deleting the boundery or point. But. Importing a boundary again works. I have 'exported selected' and then importing that boundery (just one in that gpx). But importing a second time results in a second boundery, similar to the first one. So its doubles. Not a big issue, but confusing when I want to offer a huge amount of information in one gpx for using by others (routes and marks on the Dutch Wadden Sea). Instructions must then be clear. With points some else is happening. Exporting selected works fine. Importing of that gpx the first time works also fine. But, importing the second time the same gpx results in deleting that point (without warning). Importing a third time brings the point back, and so on.

So what I see is that importing a boundary doesn't check on doubles (if that should be possible) and importing points does check on doubles and delete that item in stead of importing.

I asume I have to manual copy the UserIcons folder to the other device. My laptop has a high screen resolution, so icons that work well on the desktop are to small on the laptop. I have to found a workaround for that. I think of better name of the individual icons and prepare several sets of icons with different sizes. So that the user can change the iconsize manual by renaming the right (sub)folder. Now my icons are size-dependent. I have to change that. I asume text search-replace in the xml or gpx file will do the job in batch. I'll go try that.

I will wait for 1.8.46 to get rid of the crashes. No big deal.