01-26-2017 04:06 AM
Dear Community,
Found some non-optimal performance issue in M.App Enterprise, regarding the BI-Wizard geometry data (geojson), and would like to share with you directly, instead of the community.
Background Information:
Dataset (shapefile, epsg:3758) with ~20.000 polygons loaded in PostgresSQL. This dataset has a precision of 1 meter (each co-ordinate is 1 meter precise). To make sure that the precision is taken over by PostgresSQL I did run the following SQL statement after I loaded the dataset in PostgresSQL: UPDATE li_ge SET the_geom = ST_SnapToGrid(the_geom, 1);
Performance Issue:
Attached is a screenshot. I loaded the developer window of firefox before selecting the dataset. The GeoJSON generated from the database is 125 MB big, which take a lot of time loading. I selected the GeoJSON and found out that the coordinates are in WGS84 with a precision around 1.11 picometer (see the coordinate from the geojson in the screenshot and the precision table, I created). In my case de coordinates in the geojson have per ordinate 10 digits of unmeaning full information, which makes the dataset ~3 times lager then it should be.
Precision Table in WGS84 coordinates:
At the equator 1 degree is around 111km
1 degree = ~111km
0.1 degree = ~11.1km
0.01 degree = ~1.11km
0.001 degree = ~0.111km = 111m
0.0001 degree = ~11.1m
0.00001 degree = ~1.11m
0.000001 degree = ~0.111m
0.0000001 degree = ~0.0111m = 1.11cm
0.00000001 degree = ~0.00111m = 11.1mm
0.0000000001 degree = ~0.000111m = 1.11mm
0.00000000001 degree = ~0.0000111m = 0.111mm
0.000000000001 degree = ~0.00000111m = 0.0111mm
0.0000000000001 degree = ~0.000000111m = 1 micrometer
0.00000000000001 degree = ~0.0000000111m = 0.111 micrometer
0.000000000000001 degree = ~0.00000000111m = 0.0111 micrometer
0.0000000000000001 degree = ~0.000000000111m = 1.11 picometer
A possible solution:
Because each dataset is different (for instance a municipality polygon has a precision of 10m and building polygons has a precision of 1cm), the user should define the precision per vector dataset. This case the optimal coordinates are served and performance is multiple times better. The gain of performance is good for creating new BI Smart M.Apps, but also for user of the created BI-Smart M.Apps.
Best Regards,
Wim
Solved! Go to Solution.
02-24-2017 05:19 AM
Will be solved in future releases.
04-04-2017 01:06 AM
Dear tpaul,
Is it correct that this isn't fixed in the M.App Enterprise 16.1 BETA release?
Thank you,
Wim
04-04-2017 02:29 AM
Dear Wim,
The fix is already applied to 16.1.
Regards,
Markus
04-04-2017 06:43 AM
Dear Markus,
I agree, it is fixed! Have have succesfull tested this feature.
I have loaded a vector in wgs84 with correct precision in the database and this precision in taken over in the GeoJSON which is loaded in the BI Smart M.Ap (browser app)
Thanks you and Best Regards,
Wim