cosmiq / cw-geodata Goto Github PK
View Code? Open in Web Editor NEWCosmiQ Works Geospatial Processing Toolkit for Machine Learning
Home Page: https://cw-geodata.readthedocs.io
License: Apache License 2.0
CosmiQ Works Geospatial Processing Toolkit for Machine Learning
Home Page: https://cw-geodata.readthedocs.io
License: Apache License 2.0
Starting from @avanetten's https://github.com/cosmiq/apls/src/graphTools.py, re-write code to load a graph from a geojson/write a graph to a geojson.
Depends on #3. Set up a readthedocs.yml and readthedocs_environment.yml to build docs for cw-geodata.readthedocs.io (once that's created).
@avanetten, do you think you could do this? If not, can you drop me a quick example file to build a graph from alongside a pickled graph object to compare it to? Ideally from a low-density tile or something like that so that I can include the files in the testing submodule.
Thanks!
We need a docs front page to describe what the package does and where its different functionalities are located, as well as links to the various different usage resources (cookbook recipes, API docs, etc.)
@avanetten, I think you/we might have code to do this already for a variety of formats (TFRecord, COCO, Darknet) - can we try to port this in?
Tests currently don't import the right things - from the old structure.
The version is probably now stable enough for a public beta accessible from PyPI.
@avanetten, do you think you could implement this functionality? I think we essentially need something that will take in geojson or competition-formatted footprints, or bounding boxes in other formats, and convert them to DarkNet format for YOLT/SIMRDWN. If you'd rather not do it, just point me to where it's implemented already and I'll add it in.
It would be great to be able to create TFRecords from data (and potentially vice versa) for improved compatibility with the TF Object Detection API. @avanetten, do you have code to do this already for SIMRDWN?
@avanetten , If you get a chance to drop me a sample submission from SN3 I'd appreciate it - I just want to make sure I know what the exact submission format is so I can get the interconversion right. Thanks!
Usages that need documenting:
May make sense to wait to do these until the entire 0.1.0 codebase is complete so I can add more to the list.
Create scripts and add setup.py entry points for CLI functions to complete various tasks through this repo.
This will likely be a meta-issue to organize various tasks for this repo.
The current implementation of cw_geodata.vector_label.graph
is rather slow. It needs to be sped up at some point.
We currently have some tools implemented in https://github.com/spacenetchallenge/ml-export-tool and https://github.com/spacenetchallenge/ml-lambda-api, but it would be good to port those over to CosmiQ and clean up the functionality.
osmnx is a fantastic package, but it's a bit hard to work with due to limited documentation of what resides in its node
and path
dictionaries, and it's tricky to get installed (particularly if you're using conda). It's also making it impossible to get the readthedocs built. We only use it for working with graphs in cw_geodata.vector_label.graph
, so I'm going to remove the dependency and re-write vector_label.graph
to remove the need for it.
cw_geodata.vector_label.polygon.geojson_to_px_gdf
im_path : str
Path to a georeferenced image (ie a GeoTIFF) that geolocates to the
same geography as the geojson
(s). If a directory, the bounds of each
GeoTIFF will be loaded in and all overlapping geometries will be
transformed.
Based on my reading of this I assumed I could feed a directory containing multiple tif images, which fails.
The submodule names are inconsistent with the common geospatial scheme of "raster" and "vector" (which are unfortunately inconsistent with the common ML/CV nomenclature of "image" and "label"). Going to re-name them to rasterimage and vectorlabel, and create sub-modules beneath them for a lot of the functionality. The current "label" module is getting unwieldy and I still haven't added in road network/graph support.
I added functionality to convert raster images to vector masks, but we need something for the reverse process still. This will also be good to do for road networks (@avanetten).
The intersphinx references for a few packages are missing or incorrect (don't point to the directory or URL containing the objects.inv
file). We need to go through the documentation, find the broken links, and fix the intersphinx call in docs/conf.py.
@avanetten, I don't know if you already have this somewhere you want to leave it (e.g. APLS). If so, we can just import it from there; alternatively, if you'd rather port the code into cw-geodata we can probably put it in cw_geodata.vector_label.mask
.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.