Comments (10)
good news—the OData output is already a JSON format, and in OData geographic data values are outputted in conformance to GeoJSON!
from central.
curious. well, in general i am reluctant to add five million export formats and formulations to support.. i'd sooner provide eg kettle or other translation systems from OData to other desired formats.
from central.
Personally, I can use JSON or CSV just fine.
And I agree that figuring out how to do GeoJSON in a convenient, consistently useful way is hard (surveys with more than one geopoint, surveys with a geopoint but not for all questions, etc).
from central.
@clint-tseng do you have a suggested process for using the OData field in a context when a data cleaning step is needed? Like does PowerBI or an other tool make it easy to do an edit and export from there? Or maybe you'd recommend going through a JSON to CSV converter (since directly downloading the CSV provides geo data in ODK format rather than GeoJSON).
Are tools that don't speak OData specifically but have some kind of JSON ingestion likely to be able to do something with the OData output? For example, something like QGIS ( https://webgeodatavore.com/add-geojson-content-in-qgis-short-recipes.html)? My understanding is that those will generally require a GeoJSON-only feed (as opposed to JSON with embedded geoJSON).
@danbjoseph it would help to know more about what an ideal workflow might be for you and what tools you'd like to use for analysis to decide what, if any, action is needed.
from central.
outside of a JSON container format i would not recommend employing GeoJSON as an atomic storage value. WKT is a much more fluent geography standard for inline text formats like CSV. in general, though, most data cleaning tools are very agnostic to the container format—and i'm not following why that question is coming up in this context.
GeoJSON is really wishy washy. the main issue with making our data "more geojsony" than it is now is not actually the container so much as it is the fact that we don't necessarily understand what data values to associate with which geography. what are we supposed to do, for instance, if there are ten flat fields in a form and three of them are geopoints? where do the remaining seven properties get assigned?
without a deeper semantic knowledge of the data going into the form, these questions can't be answered by either aggregate nor central.
from central.
in general, though, most data cleaning tools are very agnostic to the container format—and i'm not following why that question is coming up in this context.
I'm asking because a reason users may want geo-focused exports is because they don't expect to use the raw data in analysis and in that case it's not clear what to do with the OData feed.
what are we supposed to do, for instance, if there are ten flat fields in a form and three of them are geopoints? where do the remaining seven properties get assigned?
There's a broader conversation going on at https://forum.opendatakit.org/t/add-a-geojson-export-to-briefcase-and-aggregate/15184. @danbjoseph is more knowledgeable in this area and can likely provide more background. My understanding is that users find it useful to have just the geo data without any link to the form content.
from central.
going through all Central issues and reading this again;
i am still interested in figuring out a solution here that preserves OData as the base export format. i understand the approach taken by Aggregate but it puts a lot of onus upon the eventual consumer to correlate the geographic information with the datapoints associated with each geographic feature. this is not really the norm in geospatial processing, as cartographic information is usually built upon these auxiliary pieces of data (eg color code points by category, size them by some data value, etc).
i am not trying to be and trying not to be the Central Czar, but i do try to advocate consistently for careful, sustainable solutions that benefit all users, regardless of technical data-processing ability. perhaps if we have a few voices in this thread that need to use geospatial tools with their Central-based data, but do not have the ability to do this already with the data we currently provide (which a lot of our more vocal users could do, albeit at an inconvenience), we can begin to work out what that solution might look like.
from central.
The answer could possibly be "go through Briefcase."
from central.
Recent post on the forum: https://forum.getodk.org/t/geopoint-data-import-records-to-qgis-using-virtual-layers/34969
The GeoJSON export could accept a parameter to specify a field name for the geometry, or use the first geofield as default.
from central.
Not that R-literate users need much help in this direction, but the recently updated ruODK vignette "spatial" provides working examples for spatial data.
Talking points:
- Which of possibly many geofields will become the feature's geometry? Answer: the user has to decide.
- How to go from ODK Central WKT or GeoJSON output to spatially enabled data structures in R (e.g. objects of class
sf
) and maps - working examples provided.
from central.
Related Issues (20)
- Unexpected problem processing entity when form is updated to allow entity creation HOT 3
- Form draft appears among linked forms HOT 1
- Update infrastructure dependencies for v2024.2
- Update translations for v2024.2
- Update frontend dependencies for v2024.2
- Update backend dependencies for v2024.2
- Update usage information metrics for v2024.2
- Client audit "user" and "change reason" columns are not included in audit export HOT 2
- Fix small issues with entity upload modal
- Prebuild Frontend
- Query to get a form's submission encryption keys can sometimes take a long time HOT 1
- Add more info about deleted forms to API docs
- Content-Type header missing in some responses HOT 3
- Entity CSV response from client form list request may not have the correct caching headers HOT 1
- Padding around QR code popover
- Identify attached entity lists in the manifest response
- QR code enhancements HOT 2
- Submission deletion
- Add an element in the mediaFile block for Entity Lists in the OpenRosa manifest to specify a URL to get Entity information HOT 4
- When offline runs of multiple Entity-related submissions come in out of order, there are conflicts and Entity state can be broken HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from central.