Changelog
0.16.12 (2024-12-10)
Fix
- update mandatory xlsform fields logic
0.16.11 (2024-11-28)
Feat
- XLSForm move photo field outside verification group (#319)
- calculate coordinates of additional in xlsform entity (#312)
- sanitize column names to follow defined standards (#313)
Fix
- update labels and entities name in test cases following recent changes in update_xls_form (#317)
0.16.10 (2024-11-06)
0.16.9 (2024-10-18)
Fix
- create_if and update_if column in entity sheet (#307)
0.16.8 (2024-09-30)
Fix
- remove multiple duplicates in choice sheets
0.16.7 (2024-09-24)
Fix
- xlsform: do not filter duplicates from choices sheet
0.16.6 (2024-09-24)
Fix
- xlsform: remove 'does not exist' option from digitisation form
0.16.5 (2024-09-23)
Fix
- mandatory and digitisation xlsform logic
Refactor
- remove logic for appending task_ids to choices in xlsform
0.16.5rc0 (2024-09-23)
Fix
- also return the xFormId from append_mandatory_fields, add logs
- mandatory-fields-xlsform: omit questions on entity preselect, make feature selection mandatory
Refactor
- small tweak to mandatory fields xlsform
0.16.4 (2024-09-20)
Fix
- start work matching xlsform translation columns
- minor fixes to xlsforms, add group to digitisation form
- append a dummy task_id entry to xlsform if not specified
Refactor
- refactor update_xlsform for readability + minor bugfixes
0.16.3 (2024-09-19)
Fix
- common field xlsforms + library combo fully working
Refactor
- rename fmtm forms --> common forms
0.16.2 (2024-09-18)
Fix
- handle all XLSForm manuipulation in update_xlsform.py (#299)
0.16.1 (2024-09-16)
Fix
- made digitisation_correct read_only field (#297)
0.16.0 (2024-09-11)
Feat
- xlsforms: created separate group verification for digitisation form (#294)
0.15.0 (2024-08-27)
Feat
- function to append mandatory fields into fmtm custom xls form (#289)
- created a function to get submission photo by its submission id (#284)
Fix
- Fix writing nodes with no tags, ie... what the way references, and only write the note for ways (#290)
- don't add the note about duplication, that should be done at a higher level (#287)
0.14.3 (2024-08-08)
Fix
- regex pattern to find spaces in placeholders of tms url (#283)
0.14.2 (2024-08-05)
Refactor
- check if place holders in custom tms url contains any space within (#281)
0.14.1 (2024-07-30)
Fix
- generating pmtiles with different file extensions, update XLSForm ordering (#278)
- improve validation for OdkDataset.createDataset properties
Refactor
- clarify in logs the projectId is for ODK
0.14.0 (2024-07-29)
Feat
- endpoint to create dataset and bulk upload entities (#276)
- add support for moving tiles (#272)
Fix
- Add support for ways when importing an OSM XML file (#275)
- Fix typo, usfs not usgs, add quering the relations table (#274)
0.13.0 (2024-07-12)
Fix
- update xlsforms to hide required choices tab values
- add minzoom and maxzoom params to basemapper to allow view past zoom 18 (#267)
- self.data is now a list to be consistent with the other parsers (#264)
Refactor
- delete unused scripts and update the docs (#269)
- remove test_conflation prior to odk_merge drop
0.12.4 (2024-06-20)
Fix
- final fix to xlsforms, remove 'essential' group for entity by intent
0.12.3 (2024-06-20)
Fix
- bug where task_id filter did not work on xlsforms
0.12.2 (2024-06-20)
Fix
- xlsform separate task_filter and task_id fields
0.12.1 (2024-06-19)
Fix
- update entity xlsforms with working save_to field for status
- json2osm invalid merge, fix syntax
0.12.0 (2024-06-19)
Feat
- in memory BytesIO GeoJSON for boundary param basemapper (#261)
Fix
- remove groups from xlsforms (essential, verification), entity breakage
0.11.2 (2024-06-10)
Fix
- make digitization_correct question mandatory
0.11.1 (2024-06-07)
Fix
- rename healthcare.xls form to health.xls (osm tag = healthcare)
- bug in CSVDump where parsing fails if value is None
0.11.0 (2024-06-05)
Feat
- update buildings xlsform & add healthcare entity form
- add support for select_multiple in XLSForms (#257)
Fix
- improve Amenities XLSForm & data model (#256)
0.10.2 (2024-05-24)
Fix
- add support to optionally append to the mbtiles file (#255)
0.10.1 (2024-05-24)
Fix
- replace entity buildings.xls to allow top level entity loading
0.10.0 (2024-05-22)
Feat
- add support for geotrace (#254)
Fix
- tile id extraction for pmtiles correct x/y ordering
0.9.2 (2024-04-29)
Fix
- remove notes column from entities sheet (pyxform error)
0.9.1 (2024-04-26)
Fix
- update buildings form, show all features unless task selected
0.9.0 (2024-04-23)
Feat
- create new entities-based xlsforms for registration/buildings
Refactor
- move existing xlsforms to archived dir (replace with entities)
0.8.2 (2024-04-19)
Fix
- add error handling if connecting to OdkCentral fails
- improve handling if entities fail during bulk upload
0.8.1 (2024-04-15)
Fix
- add missing OdkEntity.getEntity method for get by uuid
0.8.0 (2024-04-12)
Feat
- support odata filters for OdkEntity.getEntityData
- add OdkEntity.getEntityCount method to get total entities
Refactor
- improve typing, docstrings, logging for OdkCentralAsync
- update logging during OdkCentral.OdkForm form creation
0.7.2 (2024-04-11)
Fix
- revert broken basemapper.py and tests
0.7.1 (2024-04-11)
Fix
- update entities registration form to include status field
- remove usage of requests from validate.py in prep for dep removal
Refactor
- remove missed print statements from OdkCentralAsync
0.7.0 (2024-04-03)
Feat
- add OdkCentralAsync for async entities workflow (#253)
Fix
- only get cpu cores in getAllSubmissions method
0.6.1 (2024-03-25)
Fix
- add standardised entity registration form
0.6.0 (2024-03-24)
Feat
- v1 entities implementation in OdkCentral.py (#245)
Refactor
- use logger.basicConfig for verbose flag (#244)
0.5.4 (2024-03-19)
Fix
- updated the error message for invalid odk-credentials (#241)
- method to update review state of submission (#236)
0.5.3 (2024-03-05)
Fix
- odk: upload media failing validation if extension stripped accidentally
- argparse parsing of bbox string
- default outdir to current working dir
- optional bbox as space separated and comma separated
- add correct typing for bbox var and return types
0.5.2 (2024-03-04)
Fix
- regression: upload Media uploading test data instead of real data
0.5.1 (2024-02-29)
Fix
- rename form_fields --> formFields and handle all http errors (#230)
0.5.0 (2024-02-28)
Feat
- add media upload filename validation against xform
- allow passing bytesio object for createForm & uploadMedia
- add media upload filename validation against xform
- allow passing bytesio object for createForm & uploadMedia
Fix
- minor fixes to OdkForm
- mediaUpload for xform geojson
- return form name regardless of if exists or not
- minor fixes to OdkForm
- mediaUpload for xform geojson
- return form name regardless of if exists or not
0.4.4 (2024-02-26)
Fix
- do not index xform path for form name
0.4.3 (2024-02-26)
Fix
- more flexible parsing of xform name for uploadMedia
0.4.3rc0 (2024-02-13)
Fix
- error handling in submission downloadThread (#227)
0.4.2 (2024-01-30)
Fix
- update OdkAppUser qrcode & create methods
- replace HTTPBasicAuth with session tokens
- return types for OdkCentral submission methods
- work with wildcsrds with spaces
- Add tile filespec if it's an empty image
0.4.1 (2024-01-18)
Fix
- For ODK, make sure there is always a label & title
- Fix logging, and fix polygon vs centroid
- Be less verbose with debugging
- Improve the values for the tags so it actually works
- Add filter_data api doc
Refactor
- return full submissions detail
- add param debug log during basemap generation
0.4.0 (2023-12-05)
Feat
- basic kivy ui to download basemaps
Fix
- Fix merge conflict
- Make sure ref exists before trying to use it from a dict
- Add default variables
0.3.8 (2023-11-18)
Fix
- Make less verbose
- Always escape the value for embedded quotes
- Fix bug with referencing an out of scope variable
- Use geojson instead of json to read in the boundary file
- Don't call OsmFile.footer, it's now handled by a destructor
- Add link to XLSForm design doc
0.3.7 (2023-10-23)
Fix
- Add simple test case for creating imagery basemaps
- Accumulate all tiles for all zoom levels
- Use boundary file that is a single Feature in addition to a FeatureCollection
- Pass the config file to the YAML parser
- Add USGS reference numbers for highways
- custom tms download logic (tile ordering)
- bug pmtile generation if file exists in first dir
- create basemap directory automatically
0.3.6 (2023-10-09)
Fix
- update all data-models to latest osm-rawdata syntax
- update indexes for xlsforms and data_models
- update xlsforms index
Refactor
- update rootdir refs to variables
0.3.6rc3 (2023-10-09)
Fix
- Merge in rawdata branch
- Drop extraneous parameter
- Set title and label always
- Use the right path to the xforms library
- Add name and name:em to keep
- xlocation accepted in the conflation if present
- Update for current reality, andd a few more programs
- Update doc to match code changes
- Add make_data_extract API doc
- Improve how the boundary gets parese dand passed as a parameter
- Use the new config class instead of parsing the YAML file
- ikport uriParser
- Enale logging
0.3.6rc2 (2023-09-11)
Fix
- json2osm handle polygons and points (#192)
- Update raw-osmdata to 0.1.1
- add osm-rawdata dependency
- Major refactoring to use the new osm-rawdata module
- Add join_or tag which is now required in the enhanced YAML format
- Use optional env variable for the raw data API
- initialize variable
- Arg, change the raw data URI again
- json2osm calling via api
- The URL for raw data has changed
- Add config file for waterways
0.3.6rc1 (2023-09-07)
Fix
- json2osm via cmdline + programatically
0.3.6rc0 (2023-09-01)
Feat
- complete overhaul of docs, mkdocstrings
Fix
- csv parsing for test
- Delete the UML images for clean
- Generate PDFs from the primary markdown files in docs/about
- Drop unused main.py file
- Add support for doxygen API docs
- fix typo in url for data flow diagram
- Add new data flow charts
- Use new imagery.yaml file for sources instead of hardcoding them all
- Add USGS topo map as a source
- Improve parsing to cover more than one format
- Add support for a custom TMS URL
- Add missing test data file
- Improve processing of Rwanda submissions, capture OSM ID and improve the conversion config file
- list forms api
- filespec made optional in the filterdata class
- text 78 was present, it is now removed
- indentation on odk_merge
- typing issues and imports
- Fix listForms(), the parameter name changed
- Add trailing comma to all function parameter blocks
- Add the deep tech docs
- fix typo in parameter name
- Add the more obscure utilities to the API docs
- Add more API wrappers
- Add mkdocs code comments
- Add mkdocs code comments
- Fix broken indent in debugging code, it was only being executed with -v
- Add standalone script for osm2favorites
- Add mkdocs code comments
- Add mkdocs code comments
- Add mkdocs code comments
- Add mkdocs code comments
- Add mkdocs comments
- Add mkdocs code comments
- Add bash wrapper for basemapper.py
- Update a few mkdocs comments so mkdocs serve is happy
- Minor updates to mkdoc comment, fix indentation
- Add mkdocs code comments
- Add more docs, organize top level links
- Replace lines of code that got deleted by accident
- Add mkdoc strings
- creating a project that already exists
- Add pySmartDL
Refactor
- update refs logging --> log
- remove mkgendocs config
0.3.5 (2023-08-11)
Fix
- Add mercantile
- indentation error in basemapper
0.3.4 (2023-08-06)
Feat
- get extended details of a project
- get form full details
- Handle geometries better in the other json variant from Central
Fix
- Improve methods to test data contents for tags
- Add more real tests
- conflateThread() takes an additional argument now
- Add some real tests for conversion
- Add test data for JSON to OSM conversion
- disable warnings from depenancies when running pytest
- getAllSubmissions() now takes an optional argument, which is the list of XForms
- Use flatfic module instead of traversing it ourselves
- comment out debug message
- handle uid/user in attrs better
- add flatdict module
- use a flattened dictionary instead of traversing everything ourselves
- use lower case for string matching, it's faster than fuzzy matching
- Minor update
- all tags should be in lower case
- if node is not present, return False in loadFIle in osmfile class
- load file in osmfile class
- no of threads missing some data at the end
- Add comment on commented out code block
- Drop escaping - in regex
- Trap bad auth with the ODK Central server
- Add timer to see how long it takes to process the data
- Add support to download all submissions for all tasks in a project
- Remove large block of commented out code
- Add support to download all submissions for all tasks in a project
- main, not moon
- Add new XLSForm for highways
- chunk set to 1 when the chunk value is 1
- fix indenting mistake that prevented display forms
- Add support to the underpass query to return linestrings
- Add support for highways
- handle XLSForms that don't use a data extract
- Add support for highways
- highways use ways_line, not ways_poly
- Add config file for highway query
0.3.3 (2023-07-25)
Fix
- uncomment my stupid mistakes
- Add the new conflatin doc to the sidebar
- Add doc on how this project does conflation
- fix minor type
- Add make_data_extract to scripts
- Add more content
- Now that there are multiple postgres connections, clip all of them
- Handle no data returned errors
- Addd main() so it can be called when run standalone
- Add standalone scripts so all programs can be run from the install package
- Fix type in maion
- make a main function to they can run standalone
- Add a main function to this can run standalone from the installed python package
- Add new user manual to the sidebar
- Add new user manual
- Refactor to use an array of database connections, one for each thread to avoid proble
- Not all data has a timestamp, and it gets set anyone to the current time
- Major refactoring to support conflation with either postgis or the data extract used for FMTM
- keep more tags for the output file
- add more tags to keep for the output file
- Add newline after writing
- Add government_menu to ignore
- Add tests for conflating with a database
- Add test prpoject boundary
- Improve test cases so they can find the test data files under pytest
- Update test data, and add test case for odk_merge
- Add section on importing the data into postgres
- use log so it works in FMTM, get the feature version in SQL queries
- Add support for using a GeoJson data extract as the conflation source
- Implement writing the OSM XML output file
- There are weird capitalization in the keywords
- Put the modified warning in a note instead of fixme
- Handle errors if there is no forms or project
- handle xlsfile better
- osmfile.footer() is now called by a destructor
- Don't escape spaces
- Implement conflating a POI against ways
- Add a destructor so the footer gets added when class is deleted
- Make output file optional
- Conversion from gdal is done, startin gto implement threads
- output files go into current dir, not /tmp
- escape is now a standalone function
- Make infile a required argument
- escape is now a standalone function so it can be used by other classes
- Update test cases since now data files get installed
- Add function for parsing database URIs, add test case for URI parser
- parse the OSM XML file if the data is in a dict
- THis gets processed lower down, so this is duplicate code
- Don't pass bogus config file
- Fix support to use Google imagery
- Fix support for bing imagery
- Update section on setting the default in Collect from OSM data
- Drop outfile from calling PostgresClient()
- Add roof:shape and roof:levels to keep
- Add shop to keep
0.3.2 (2023-06-27)
Fix
- Convert the currt JSON format as downloaded from FMTM
- Fix processing of the ignore section
- Always write the value as a sting
- Remove the sldes.xls file
- Also use an optional user and password for database access
0.3.1 (2023-06-21)
Fix
- For polygons in the data file, just use the centroids
- Add one to the ending zoom level so range() stops loosing the last zoom level
- Display usage() if no arguments are given
- Add qualifiers to limit the shops that get returned
0.3.1rc2 (2023-06-01)
Fix
- Add utility that generates a fovorites file for Osmand
- Trap error for no output file and print usage()
- Add accuracy to ignore section
- Fix message in usage
- Added Osmand extensions for styling the favorites
- Write GPX file with Osmand specific styling
- Convert a GeoJson file into a favorites.gpx file for Osmand complete with all the tags
- Delete geometry tag from input datata stream so it doesn't casue confusion later
- Add support for processing either GeoJson (usually from odk2geojson) or JSON from Central
- Make timestamp for filename longer
- Change gosm to osm-fieldwork. Oops
- New program that converts the ODK XML instance files off your phone and turns it into good GeoJson for JOSM
- Disable debug message
- Major refactoring, it actually works now
- Always grab all the submissions
Refactor
- improve logging for OdkCentral + createProject
0.3.1rc1 (2023-05-18)
Fix
- xform in getSubmissions function
- output file in osm extracts
- add a default value
- use type for parameters to methods
- Use type for all parameters to methods
- conversion now returns a dict
- Remove accidental map-icons submodule, use types with all method parameters
- Drop paren
- Use line not linestring as a type, turn data into a dict from queryRemote()
- Default to using the underpass database for raw OSM data
- Remove debug message
- Add XLSForms for camping and small town amenity mapping
- Changes made while camping, mostly minor tweaks
- Remove stamp file
- Extract the metadata from the XLSForm
- Use the warmup location if there isn't one for the geopoint
- Add json as an input source
- Download the josn file of submissions from Central
- add more tags to ignore
- Process the json file from Central and write OSM XML and Geojsaon files
- return a dict instead of a list
- Convert the JSON fike from ODATA into OSM
- Process the defaults from the XLSFile
- process all rows to get the fields, as not all files have the same ones
- COnvert openfire tpo leisure=firepit, which is more common
- If the extract would be empty, write dummy entry so ODK Collect will still launch
- Fix logging
- Write dummy geojson file if there ios nothing in the extract
- fix logging setup, readoing CSV file
- use yaml as the config file if it exists
- Add support for generating variants of an XLSForm
- Add new non humanitarian XLSForms
- add support for amenities XLSForm
- Update the column names in all XLSForms to use the same name so they can all be scanned for the title and ID
- Add config file for amenities
- Add XLSForm for historical sites
- When querying a local database, collect all results
- Add support for new camping form
- refactor the groups of survey questions
- Add OSM map-icons as submodule
- fix typo in comment
0.3.1rc0 (2023-05-04)
Fix
- got queryLocal(), get all the nodes and ways
- Process ODK_CENTRAL_SECURE correctly as the value from the end is a string, but the default is a bool
- Updates to layout, play with fancy colors
- Add method to extract the data extract filename, the XLSFOrm ID, and the XLSForm title from the spreadsheet
- Make default values work so we don't break the FMTM frontend
- Add content about name conflicts when using data extracts
- delete downloaded zip file after extracting the data file
- Implement uploading to Central
- minor changes
- Fix xform target and suffix rules to work with the name changes to avoid conflicts with OSM tags
- rename to avoid name conflict with OSM tag
- Fix typo in keyword
- Rename place to places to avoid a name conflict with an OSM tag
- when run standalone, the xform doesn't have to be changed, and fix wrong error message
- Updated so all the columns are in the same order, cleanup high lighting
- minor formatting changes
- rename t oplaces to avoid a conflict with the OSM place tag
- The yaml config filenane should match the xlsform, not the category
- rename file to avoid a nanme conflict with healthcare OSM tag
- Extract the XForm title and the name of the data extract from the XLSFoem
- Filter the types of waste amenities wanted, otherwise we get all amenities
- Rename to avoid naming conflicts with an OSM tag
- Rename natural to nature to avoid name conflicts with OSM
- Make the XLSForm for a category configurable via a YAML file to avoid name conflicts
- renamed to avoid a name conflict with the waste OSM tag
- rename landuse.yaml to landusage to avoid a name conflict with the landuse tag
- Add support to generate data extracts for all categories for testing
- rename landude.xls to landusage so the name doesn't conflict with the tag
- Update to support OSM data extracts, a few tewaks for the data models
- Add tag values to json file for remote database queries
- Improve command line for polygon vs centroid
- Enable reding tags to keep from yaml file
- Optionally output polygons instead of centroids when using a local postgres database
- Use python package to find xforms.yaml file
- Fix test cases to work with pythohn package
- add healthcare_type
- use list_name with an underbar instead of space
- Updated to support data extracts
- Make the OSM tags to keep configurable in the yaml file
- When reading an environment variable that is a boolean, convert the string to a bool
- Add nsupport to extract either polygons of centroids. Add boundary polygon to the extract
- Support a option to specify the path to the taginfo db and output csv
- Update file with YAML file syntax and examples
- Update docs, some content pulled into new files
- Refacor the programs.md file, move large detailed content into there own files
0.2.0 (2023-03-31)
Feat
- rename repo odkconvert --> osm-fieldwork
Fix
- For querying Overpass, use either a file or a geojson dict
- fix merge conflicts
- Merge documentation changes from development branch
- modified all files, replacing odkconvert wth osm-fieldwork
- Add overpy
- Minor typo fix
- Refactor and update
0.1.1 (2023-03-29)
Fix
0.1.0 (2023-03-25)
Feat
- set ssl verify via environment variable, default true
- option to configure standalone odkconvert via env vars
- index for xform files, plus path
Fix
- update logging
- listProjects and findAppUser methods for OdkCentral, update logging
- relative imports --> absolute imports for packaging
- update verify=True for urllib to verify certs
- allow listProjects to fail gracefully if none exist
- typo for religious
- makefile zip bundle, pyproject version attr
- update paths for xforms.yaml, fix CSVDump.parse
Refactor
- rename xforms to xlsforms throughout code
- rename xform dir to xlsform, more descriptive
- rename xforms path var for clarity
- remove redundant csv output files from xforms
- update refs to xforms dir and odk_client.py
- rename XForms dir to lowercase xforms
- add includes to pyproject to bundle odkconvert dir
- missed yaml file for restructure
- rename test dir to pytest default (tests)
- restructure, move .py files to odkconvert dir