Dear ODK users !
I have a form collecting geoshapes.
unfortunatly i missed the area() fonction to gather the geoshapes areas within the form...
is there any chance to calculate area from outside Collect with geoshapes data ?
I wish I could through a csv with the geoshapes in a tool that returns the calculated areas.
i'll be fine with updating my database after the calculation !
Does any one knows about such a tool ?
I'm thinking about making a form with a repeat question that could pool those data to calculate the areas within collect to make the calculation, but that would be an odd maner to do that over 1800 lines ! then i'll maybe have to swipe the screen 1800 times also.
Thanks for your help !
I've tried to sideload the geoshapes in .csv file.
this works for geopoints, but not for geoshapes because they are comma separated and Collect will only accept comma separated csv. that ends with a mismatch in reading values. I tried to quote the geoshapes with " or ' but with no luck ! any other idea will be greatly appreciate !
Do you still have the mobile device?
If so, here's a try.
Connect the device to your PC
Navigate to the following folder in the end device (BLA-29 is my device)
Copy the forms, instances, and metadata folders.
Paste this into any Windows folder.
If you have installed Java on your PC, download the current ODK Briefcase.jar file and open it
After you have completed the settings, go to the "pull" tab and select collect directory there
Navigate to the windows folder
Start the "pull" export
Then switch to the "Export" tab.
Select a target storage for your export file and export the data.
The target directory should now contain at least one csv and one "media" folder. If you clicked "yes" at geojson, a corresponding file is also available.
You can open this with QGIS and export it in another format (e.g. shp).
If all of the geometries aren't there (this happens often to me), then I have another workflow in qGIS using the csv file for you. Just call.
That helped me to understand how geoshapes are working !
Well I don't know what database ODK uses, but i'm using SMAP server that comes with a postgresql DB.
Neil, from SMAP gave me some clue that it embeds postgis fonction to calculate areas on the server.
then I could look at the doc and found that a simple line could calculate and add the data to my table:
connected to the DB with psql:
UPDATE Target_table_name SET area_to_calculate = ST_Area(the_geom::geography);
This uses the ST_Area fonction of postgis to calculate the area and put the result in the new colomn area_to_calculate.
Then it's uptodate on my server !
Thanks for your help