Busabase
Busabase는 AI 에이전트를 위한 오픈소스(MIT) 데이터베이스 및 작업 공간입니다
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
메이커가 쓴 소개는 위의 한 줄이 전부입니다. 더 자세한 내용은 저장소 README에서 읽을 수 있습니다. 저장소 README ↗
README 전체를 불러오는 중입니다.
README 전문 보기 ↗Turns the City of Guelph Trees inventory -- the street and park trees the City owns or shares on a property line, 42,712 on 2026-10-09 -- into map-tile layers that OpenStreetMap mappers can add to the JOSM and iD editors as a reference overlay, plus a gap page showing where OSM has no trees at all and which mapped trees lack the species and girth the City records.
Live layer and how to add it: https://guelph-maps.github.io/guelph-trees-layer/
Part of the guelph-maps organisation. It is a
clone of guelph-bus-stops-layer
(live): the same
download -> slim -> compare -> vector -> raster -> site -> publish pipeline,
the same ArcGIS service, the same Overpass, link-gate and publish rules. What
differs follows from the scale and from what a tree carries:
Why build it at all: the import audit
found OSM's ~50,000 Guelph trees are almost all one mapper's hand-tracing of
bare natural=tree -- genus on 3, species on 12 -- and that only 19% of the
City's trees have an OSM tree within 5 m. Half the city has none.
/gaps/): a map of 250 m cells and a table of them,
drilling into one cell's trees, and its history page
(/gaps/history.html) charting the counts, one point per weekly run. Each
cell links to JOSM for its square, and each tree to openstreetmap.org,
iD and JOSM (needs JOSM running with Preferences → Remote Control
enabled).| Key | Example | Is it an OSM tag? |
|---|---|---|
genus | Quercus | yes |
species | Quercus rubra, Platanus x acerifolia | yes |
circumference | 0.94 | yes -- metres, DBH × π / 100 |
common_name | Red Oak | no -- often a cultivar's name ("Green Mountain Maple" is a sugar maple), so not species:en |
dbh_cm | 30 | no -- the City's trunk diameter, cm |
planted | 2014 | no |
owner | city, boundary | no |
address | 133 Clairfields Dr W | no -- the City's nearest address |
city_asset_id | FT10001 | no -- the City's inventory number. It is not on the tree, so it is not a ref |
objectid | 1 | no -- the ArcGIS row, for finding it again |
Names are converted once, in slim.taxon: capitals to OSM's case, hybrids
with a plain x (Platanus x acerifolia is on ~21,000 OSM trees, the ×
form on none), varieties back to their species, and "MALUS SPECIES" or a
quoted cultivar to the genus alone. Three City names cannot be right and are
corrected: RHAMUS and GYMNOCLADUS DIOCUS are misspellings, and the 31
CONIUM MACULATUM rows -- poison hemlock, a herb -- are called "HEMLOCK",
the eastern hemlock's name, so they get genus=Tsuga and no species. A DBH
over 300 cm (one row says 879) gets no circumference.
A word on copying. Individual-tree imports are contested in OSM, and copying species or girth off this overlay is, in effect, an attribute import. The City licence is compatible (below), but compatible is not consensus. The layer is a reference: add a tree you can see on imagery, a species you have verified. The landing page and the gap page both say so.
Overpass is asked for every natural=tree node in the city (nodes only -- a
tree mapped as an area is a wood). Each City tree is matched to an OSM tree
nearest-first and one-to-one within 5 m (MATCH_M): every pair within
5 m is sorted by distance and taken unless one side is spoken for. Street
trees stand 8-10 m apart, often closer, so "nearest OSM tree for each City
tree" would hand one node to two trees. The recalibration measured the gap at
3, 5 and 10 m and it barely moves; the radius is not doing the work.
Then the city is cut into 250 m cells (CELL_M), counted from the bounding
box's south-west corner:
| Cell status | Meaning |
|---|---|
empty_cell | ≥ 10 City trees (CELL_MIN_CITY) and no OSM tree at all |
thin_cell | ≥ 10 City trees, some OSM trees, but under half (THIN_SHARE) of the City's have one within 5 m |
covered | the rest with ≥ 10 City trees |
sparse | fewer than 10 City trees (off by default) |
thin_cell is decided by the matched share, not the counts. OSM's trees
include woodlots and back yards the City does not inventory, and a cell's
counts can agree while its trees do not -- the trap the audit's first tree
review fell into.
Inside a cell, per tree:
| Tree status | Meaning |
|---|---|
missing | no OSM tree within 5 m |
nospecies | matched, but the OSM tree has no genus, species or taxon, and the City knows the genus |
nogirth | matched, but the OSM tree has no circumference, and the City has a DBH |
A matched tree can need both. There is no osm_only: the 40,000-odd OSM
trees with no City tree beside them are woodlots, private land and campus, not
mistakes.
The page loads cells.geojson (~900 squares) on open and trees.json (the
per-tree rows, ~5 MB) only on the first drill-down, so it never draws 42,000
markers.
여기까지가 README 앞부분입니다. 나머지는 원문에서 읽을 수 있습니다. README 전문 보기 ↗