philipbelesky / caribou Goto Github PK
View Code? Open in Web Editor NEWCaribou is a Grasshopper plugin for parsing downloaded Open Street Map data into Rhino geometry. Caribou is currently in beta.
License: GNU Lesser General Public License v3.0
Caribou is a Grasshopper plugin for parsing downloaded Open Street Map data into Rhino geometry. Caribou is currently in beta.
License: GNU Lesser General Public License v3.0
Pickup/rework earlier efforts to use geolibrary or similar to handle the translation from lat/lon
to X/Y
space with the option to specify a projection standard. At the same time, integration with Rhino's EarthAnchorPoint would provide value (including an elevation specification?).
When doing fine-grained feature extraction, you often select a subfeature or set of subfeatures. However, when all the features are collapsed in the UI, there is no indicator of which features have subfeature selections. Another column could be added to that UI to track/indicate these cases. This could be a simple radio-style indicator, or could perhaps count the number of selections.
Mapbox and Google Maps' API would likely provide better data than OSM, particularly for data such as building heights. They would also offer the option to do terrain imports.
Currently the docs' YouTube link goes to a blank listing.
It would be useful to identify building ways that don't have any form of height tag - e.g. so that they can be manually extruded in Grasshopper with a random/fixed value.
Other importers, such as Blender-OSM create distinct roof shape geometries based on the relevant OSM tags.
Relatively self-explanatory; made difficult by the fact that metadata is very sparse for tree
items (despite the options available. Geometry outputs should probably cover both planimetric and volumetric forms.
From benchmarks, most of the work done in the component is in parsing through the XML file rather than in geometry creation. This is particularly noticeable in the Way component given it must traverse all Node
and Way
types. Options for improvement could include
way
nodes first, then route back to the nodes
for faster checking if they are relevantlatlon
to XY
with some sort of mass vector transformationOften you would want to do further filtering upon the data extracted from the Nodes/Ways/Buildings components. This might include filtering based on more precise metadata that is not in the defined features/subfeatures list. It also might include filtering by particular metadata ranges, e.g. surface
is asphalt
or concrete;
maxspeed<=
50`. This can be achieved with standard Grasshopper components, per the examples file, but is cumbersome.
A dedicated component could also provide better affordances, such as providing a Selection-Component-like UI to list all possible metadata that could be the basis of further filtering.
For many geometries/entities in a map, the meta-data is attached to the relation
grouping rather than to the nodes
or ways
. E.g. this map depicts a pier structure made up of two ways
; however those ways are tag-less so they don't show up when parsed with the Ways Component.
The current parsers could relatively easily pickup these relations, but it is unclear how to handle their metadata outputs given the existing structure. At a minimum, they could work within the existing structure by just assigning all tags from the relation
to the ways
(in effect duplicating them).
That naïve option strips any relationship between the child-ways/nodes and is complicated by structures such as multipolygons. A more thorough rework would be to reconfigure the tree structure to add another level of depth for the relation. E.g. {query, relation, geometry|metadata}
rather than just {query, geometry|metadata}
.
Hi, i faced with a problem while making gh definition.
I'm using "extract ways" node to extrude building, but I found, that it didn't extract all buildings from file.
For sure I opened same file in QGIS and missing buildings was there.
So I'm wandering where is problem (I tried to select all features for node, didn't help)
(img1 after adding missing buildings)
(img2 after baking definition)
(not related to #18)
Generating the building volumes can very rarely go awry and make slightly incoherent shapes.
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.