rabotnik-obm issueshttps://git.gfz-potsdam.de/globaldynamicexposure/rabotnik/rabotnik-obm/-/issues2024-01-15T16:14:20+01:00https://git.gfz-potsdam.de/globaldynamicexposure/rabotnik/rabotnik-obm/-/issues/30Wrong occupancy determination2024-01-15T16:14:20+01:00Danijel SchorlemmerWrong occupancy determinationBuilding https://www.openstreetmap.org/way/766474750 in Jordan is estimated to have a `COM6` occupancy while all other buildings around it are of `AGR` occupancy. All buildings only have the `building = yes` tag.
![image](/uploads/e27ef...Building https://www.openstreetmap.org/way/766474750 in Jordan is estimated to have a `COM6` occupancy while all other buildings around it are of `AGR` occupancy. All buildings only have the `building = yes` tag.
![image](/uploads/e27efdc99c46c815d827929a15e31736/image.png)
Blue: `COM6`; Green: `AGR`Danijel SchorlemmerDanijel Schorlemmerhttps://git.gfz-potsdam.de/globaldynamicexposure/rabotnik/rabotnik-obm/-/issues/29Preserving the evaluation history in a database2023-06-07T16:39:49+02:00Marius Kriegerowskimarius@gfz-potsdam.dePreserving the evaluation history in a databaseCurrently info on which rule lead to which result including tags, mappings, etc. is only logged to the terminal in verbose mode (`-v`).
The [custom-logging.py](https://git.gfz-potsdam.de/dynamicexposure/openbuildingmap/rabotnik-obm/-/b...Currently info on which rule lead to which result including tags, mappings, etc. is only logged to the terminal in verbose mode (`-v`).
The [custom-logging.py](https://git.gfz-potsdam.de/dynamicexposure/openbuildingmap/rabotnik-obm/-/blob/master/rabotnikobm/custom_logging.py) module provides a dedicated logger that dumps that information into a `tinyDB`. This is not the fastest database and slows down the process in production. However, there are other solutions which are way faster. (And the logger doesn't start and I dunno why... needs debugging.).
The current output of that logger is `JSON`. This is exactly what e.g. [MongoDB](https://www.mongodb.com/) is made for and this is super fast.
To conclude, instead of writing into a tinyDB replace this call to write the stream into a mongodb: https://git.gfz-potsdam.de/dynamicexposure/openbuildingmap/rabotnik-obm/-/blob/master/rabotnikobm/custom_logging.py#L38
/cc @cnievas @LaurensJNhttps://git.gfz-potsdam.de/globaldynamicexposure/rabotnik/rabotnik-obm/-/issues/28Add tests for the provided CSV file2022-05-31T15:23:06+02:00Marius Kriegerowskimarius@gfz-potsdam.deAdd tests for the provided CSV filerabotnik_obm_occupancy_test_cases.ods
c.f.:
2022_02_23_initial_simple_rules.txtrabotnik_obm_occupancy_test_cases.ods
c.f.:
2022_02_23_initial_simple_rules.txtMarius Kriegerowskimarius@gfz-potsdam.deMarius Kriegerowskimarius@gfz-potsdam.dehttps://git.gfz-potsdam.de/globaldynamicexposure/rabotnik/rabotnik-obm/-/issues/27Adding occupancy types to the list of overriding cases2022-06-24T18:53:17+02:00Cecilia NievasAdding occupancy types to the list of overriding casesAfter analysing the output for Attica, it looks like it could be beneficial to add the following occupancy types at the end of [overriding_occupancies.csv](https://git.gfz-potsdam.de/dynamicexposure/openbuildingmap/rabotnik-obm/-/blob/ma...After analysing the output for Attica, it looks like it could be beneficial to add the following occupancy types at the end of [overriding_occupancies.csv](https://git.gfz-potsdam.de/dynamicexposure/openbuildingmap/rabotnik-obm/-/blob/master/rabotnikobm/rules/gem_occupancy/mapping_data/overriding_occupancies.csv):
- AGR1
- AGR2
- AGR3
\fyi @mariushttps://git.gfz-potsdam.de/globaldynamicexposure/rabotnik/rabotnik-obm/-/issues/26Revision of RuleShoppingMall2023-06-07T16:40:57+02:00Cecilia NievasRevision of RuleShoppingMallGoing through the Attica OBM buildings, I've found the following case of a shopping mall that ends up classified as `UNK`:
## OSM ID 160067840
![osm_id_160067840_shopping_mall_UNK](/uploads/5dab95f12ee78f306c173bc5070d644e/osm_id_16006...Going through the Attica OBM buildings, I've found the following case of a shopping mall that ends up classified as `UNK`:
## OSM ID 160067840
![osm_id_160067840_shopping_mall_UNK](/uploads/5dab95f12ee78f306c173bc5070d644e/osm_id_160067840_shopping_mall_UNK.png)
Querying the OSM replication databases following the queries in [GetBuildingTagsOSMLands](https://git.gfz-potsdam.de/dynamicexposure/openbuildingmap/rabotnik-obm/-/blob/master/rabotnikobm/rules/get_osm_lands.py#L26) and [GetBuildingTagsOSMSpots](https://git.gfz-potsdam.de/dynamicexposure/openbuildingmap/rabotnik-obm/-/blob/master/rabotnikobm/rules/get_osm_spots.py#L26) returns:
```
osm_replication=> SELECT tags FROM osm_building_polygons WHERE osm_id = 160067840;
tags
-------------------------------------------------------------------------------------------------------------------------------------------------------------
"name"=>"Village Shopping and More Ρεντης", "shop"=>"mall", "website"=>"https://www.villageshopping.gr/", "building"=>"yes", "operator"=>"Village Roadshow"
(1 row)
osm_replication=> SELECT os.key, os.type FROM osm_building_polygons AS obp INNER JOIN osm_lands AS os ON ST_Contains(os.geometry, obp.geometry) WHERE obp.osm_id = 160067840;
key | type
---------+--------
landuse | retail
(1 row)
osm_replication=> SELECT os.key, os.type FROM osm_building_polygons AS obp INNER JOIN osm_spots AS os ON ST_Intersects(obp.geometry, os.geometry) WHERE obp.osm_id = 160067840;
key | type
---------+---------------------
shop | clothes
amenity | fast_food
shop | books
shop | jewelry
amenity | fast_food
amenity | ice_cream
amenity | cafe
amenity | restaurant
amenity | fast_food
amenity | cafe
amenity | cinema
shop | fashion_accessories
amenity | restaurant
(13 rows)
```
Can we please take a look in detail at why this is not resulting in `COM1`?
```
obm_buildings=> SELECT occupancy FROM obm_buildings WHERE osm_id = 160067840;
occupancy
-----------
UNK
(1 row)
```Marius Kriegerowskimarius@gfz-potsdam.deMarius Kriegerowskimarius@gfz-potsdam.dehttps://git.gfz-potsdam.de/globaldynamicexposure/rabotnik/rabotnik-obm/-/issues/25Changes to the occupancy mapping2022-06-24T18:52:55+02:00Cecilia NievasChanges to the occupancy mappingCollecting here potential modifications to the occupancy mapping. Will edit the issue adding points to each category when/if necessary:
- Add tags to [building_and_PoIs_tags.csv](https://git.gfz-potsdam.de/dynamicexposure/openbuildingma...Collecting here potential modifications to the occupancy mapping. Will edit the issue adding points to each category when/if necessary:
- Add tags to [building_and_PoIs_tags.csv](https://git.gfz-potsdam.de/dynamicexposure/openbuildingmap/rabotnik-obm/-/blob/master/rabotnikobm/rules/gem_occupancy/mapping_data/building_and_PoIs_tags.csv):
- `tourism:museum` --> `COM6`
- `man_made:storage_tank` --> `IND`
- `tourism:hotel` --> `RES3`
- Add tags to [landuse_tags.csv](https://git.gfz-potsdam.de/dynamicexposure/openbuildingmap/rabotnik-obm/-/blob/master/rabotnikobm/rules/gem_occupancy/mapping_data/landuse_tags.csv):
- None
- Change tags in [building_and_PoIs_tags.csv](https://git.gfz-potsdam.de/dynamicexposure/openbuildingmap/rabotnik-obm/-/blob/master/rabotnikobm/rules/gem_occupancy/mapping_data/building_and_PoIs_tags.csv):
- `leisure:sports_centre`: change result from `COM11|ASS2` to `COM11`
- `landuse:retail`: change result from `COM` to `COM1`
- Change tags in [landuse_tags.csv](https://git.gfz-potsdam.de/dynamicexposure/openbuildingmap/rabotnik-obm/-/blob/master/rabotnikobm/rules/gem_occupancy/mapping_data/landuse_tags.csv):
- `place:neighbourhood`: change result from `RES` to `UNDECIDABLE` (it leads to too many problems and in the end it seems to be used to mark neighbourhoods as administrative subdivisions, not as an indication of land use)
- `place:quarter`: change result from `RES` to `UNDECIDABLE` (it leads to too many problems and in the end it seems to be used to mark neighbourhoods as administrative subdivisions, not as an indication of land use)
- `place:suburb`: change result from `RES` to `UNDECIDABLE`, following the same logic
- `landuse:retail`: change result from `COM` to `COM1`
This isn't critical, but if other changes were needed in the code, it would be a good opportunity to do this.https://git.gfz-potsdam.de/globaldynamicexposure/rabotnik/rabotnik-obm/-/issues/24Is the overriding occupancies rule working well?2023-06-07T16:40:28+02:00Cecilia NievasIs the overriding occupancies rule working well?Going through the Attica OBM buildings, I've found the following cases that might require a revision:
## OSM ID 755328022 and other religious gathering buildings
![osm_id_755328022_and_other_religious_gathering](/uploads/a571bc6f6bdd8a...Going through the Attica OBM buildings, I've found the following cases that might require a revision:
## OSM ID 755328022 and other religious gathering buildings
![osm_id_755328022_and_other_religious_gathering](/uploads/a571bc6f6bdd8a287950bc180dfcc2aa/osm_id_755328022_and_other_religious_gathering.png)
In OSM, ID 755328022 is tagged as `amenity:place_of_worship`. According to [building_and_PoIs_tags.csv](https://git.gfz-potsdam.de/dynamicexposure/openbuildingmap/rabotnik-obm/-/blob/master/rabotnikobm/rules/gem_occupancy/mapping_data/building_and_PoIs_tags.csv), this is `ASS1` and according to [overriding_occupancies.csv](https://git.gfz-potsdam.de/dynamicexposure/openbuildingmap/rabotnik-obm/-/blob/master/rabotnikobm/rules/gem_occupancy/mapping_data/overriding_occupancies.csv), `ASS1` is an overriding occupancy and thus `ASS1` should be the final result, but it is currently `UNK`. I imagine it ends up being `UNK` because the polygon is enclosed by way 165380391, which has a `landuse:residential` tag, but I do not understand why the overriding occupancies rule hasn't taken over and led to `ASS1` being the result. The same happens with OSM ID 498881745 (also in the figure above). Interestingly, OSM ID 498881711, which is outside of the land use polygon, does end up being `ASS1`.
## OSM ID 755271021 and 755271022 (schools)
![osm_id_755271021_and_755271022](/uploads/bc1421be8ecd3c5124d0eb6b80a4f3bb/osm_id_755271021_and_755271022.png)
In the same village as the previous case, there are these two school buildings (`EDU2`) that also end up with occupancy `UNK`. They are also enclosed by the same `landuse:residential` polygon. `EDU2` is also one of the overriding occupancies in [overriding_occupancies.csv](https://git.gfz-potsdam.de/dynamicexposure/openbuildingmap/rabotnik-obm/-/blob/master/rabotnikobm/rules/gem_occupancy/mapping_data/overriding_occupancies.csv).
## OSM ID 327797564 and 327742459: airport terminals
![osm_id_327797564_and_327742459_airport](/uploads/62278eea5710b105194d4d7ec0b68f62/osm_id_327797564_and_327742459_airport.png)
These buildings have the tag `aeroway:terminal`. According to [building_and_PoIs_tags.csv](https://git.gfz-potsdam.de/dynamicexposure/openbuildingmap/rabotnik-obm/-/blob/master/rabotnikobm/rules/gem_occupancy/mapping_data/building_and_PoIs_tags.csv), this is `COM10`, i.e. "airport". According to [overriding_occupancies.csv](https://git.gfz-potsdam.de/dynamicexposure/openbuildingmap/rabotnik-obm/-/blob/master/rabotnikobm/rules/gem_occupancy/mapping_data/overriding_occupancies.csv), `COM10` is an overriding occupancy and thus `COM10` should be the final result, but it is currently `COM`. These buildings also have the tag `building:transportation` which, according to [building_and_PoIs_tags.csv](https://git.gfz-potsdam.de/dynamicexposure/openbuildingmap/rabotnik-obm/-/blob/master/rabotnikobm/rules/gem_occupancy/mapping_data/building_and_PoIs_tags.csv) is `COM8` or `COM9`. However, `COM10` is listed before `COM9` and `COM8` in [overriding_occupancies.csv](https://git.gfz-potsdam.de/dynamicexposure/openbuildingmap/rabotnik-obm/-/blob/master/rabotnikobm/rules/gem_occupancy/mapping_data/overriding_occupancies.csv) and it thus should not matter that these tags also exist, the result should still be `COM10`.
## OSM ID 225466293
```
osm_replication=> SELECT tags FROM osm_building_polygons WHERE osm_id = 225466293;
tags
-------------------
"building"=>"yes"
(1 row)
osm_replication=> SELECT os.key, os.type FROM osm_building_polygons AS obp INNER JOIN osm_lands AS os ON ST_Contains(os.geometry, obp.geometry) WHERE obp.osm_id = 225466293;
key | type
---------+--------
landuse | retail
(1 row)
osm_replication=> SELECT os.key, os.type FROM osm_building_polygons AS obp INNER JOIN osm_spots AS os ON ST_Intersects(obp.geometry, os.geometry) WHERE obp.osm_id = 225466293;
key | type
---------+------------
amenity | pharmacy
shop | electrical
shop | optician
amenity | cafe
amenity | police
(5 rows)
```
`amenity:police` should lead to `GOV2`, which is an overriding occupancy according to [overriding_occupancies.csv](https://git.gfz-potsdam.de/dynamicexposure/openbuildingmap/rabotnik-obm/-/blob/master/rabotnikobm/rules/gem_occupancy/mapping_data/overriding_occupancies.csv). Instead, the final result is `UNK`.
## OSM ID 505569764, hospital
```
osm_replication=> SELECT tags FROM osm_building_polygons WHERE osm_id = 505569764;
tags
-------------------
"building"=>"yes"
(1 row)
osm_replication=> SELECT os.key, os.type FROM osm_building_polygons AS obp INNER JOIN osm_lands AS os ON ST_Contains(os.geometry, obp.geometry) WHERE obp.osm_id = 505569764;
key | type
---------+-------------
landuse | residential
amenity | hospital
(2 rows)
osm_replication=> SELECT os.key, os.type FROM osm_building_polygons AS obp INNER JOIN osm_spots AS os ON ST_Intersects(obp.geometry, os.geometry) WHERE obp.osm_id = 505569764;
key | type
-----+------
(0 rows)
```
`amenity:hospital` should lead to `COM4`, which is an overriding occupancy according to [overriding_occupancies.csv](https://git.gfz-potsdam.de/dynamicexposure/openbuildingmap/rabotnik-obm/-/blob/master/rabotnikobm/rules/gem_occupancy/mapping_data/overriding_occupancies.csv). Instead, the final result is `UNK`.
```
obm_buildings=> SELECT occupancy FROM obm_buildings WHERE osm_id = 505569764;
occupancy
-----------
UNK
```
Note: In the images "old" refers to the occupancy in the 2019 database, "new" refers to the occupancy in 2022.Marius Kriegerowskimarius@gfz-potsdam.deMarius Kriegerowskimarius@gfz-potsdam.dehttps://git.gfz-potsdam.de/globaldynamicexposure/rabotnik/rabotnik-obm/-/issues/23Geometry not being retrieved and/or stored2022-05-25T16:46:13+02:00Cecilia NievasGeometry not being retrieved and/or stored```
obm_buildings=> SELECT COUNT(*) FROM obm_buildings WHERE geometry IS NULL;
count
--------
323543
(1 row)
obm_buildings=> SELECT COUNT(*) FROM obm_buildings WHERE geometry IS NOT NULL;
count
-------
5737
(1 row)
```
At the s...```
obm_buildings=> SELECT COUNT(*) FROM obm_buildings WHERE geometry IS NULL;
count
--------
323543
(1 row)
obm_buildings=> SELECT COUNT(*) FROM obm_buildings WHERE geometry IS NOT NULL;
count
-------
5737
(1 row)
```
At the same time:
```
obm_buildings=> SELECT COUNT(*) FROM obm_buildings WHERE quadkey IS NULL;
count
-------
0
(1 row)
```
So the centroid of the geometries are being retrieved for all buildings run so far.Marius Kriegerowskimarius@gfz-potsdam.deMarius Kriegerowskimarius@gfz-potsdam.dehttps://git.gfz-potsdam.de/globaldynamicexposure/rabotnik/rabotnik-obm/-/issues/22get building duplicate results2022-05-05T10:17:36+02:00Marius Kriegerowskimarius@gfz-potsdam.deget building duplicate results```
rabotnik_1 | [2022-05-04 21:45:52,287: ERROR/ForkPoolWorker-3114] Task rabotnikobm.assembly.run_task[ccc4c4ed-ffd9-461f-9dc8-939b3ba87f75] raised unexpected: AssertionError('one or zero matches was expected. Got \n`[...```
rabotnik_1 | [2022-05-04 21:45:52,287: ERROR/ForkPoolWorker-3114] Task rabotnikobm.assembly.run_task[ccc4c4ed-ffd9-461f-9dc8-939b3ba87f75] raised unexpected: AssertionError('one or zero matches was expected. Got \n`[(-10497228,), (-13291595,)]`\n instead')
rabotnik_1 | Traceback (most recent call last):
rabotnik_1 | File "/usr/local/lib/python3.9/dist-packages/celery/app/trace.py", line 451, in trace_task
rabotnik_1 | R = retval = fun(*args, **kwargs)
rabotnik_1 | File "/usr/local/lib/python3.9/dist-packages/celery/app/trace.py", line 734, in __protected_call__
rabotnik_1 | return self.run(*args, **kwargs)
rabotnik_1 | File "/srv/rabotnik-instance/rabotnikobm/assembly.py", line 29, in run_task
rabotnik_1 | rule.evaluate(building_id)
rabotnik_1 | File "/srv/rabotnik-instance/rabotnikobm/rules/get_building.py", line 66, in evaluate
rabotnik_1 | relation_id = self.storages.storage_from.expect_one(
rabotnik_1 | File "/usr/local/lib/python3.9/dist-packages/rabotnik/storages/base.py", line 100, in expect_one
rabotnik_1 | assert len(result) <= 1, f"one or zero matches was expected. Got \n`{result}`\n instead"
rabotnik_1 | AssertionError: one or zero matches was expected. Got
rabotnik_1 | `[(-10497228,), (-13291595,)]`
rabotnik_1 | instead
```Marius Kriegerowskimarius@gfz-potsdam.deMarius Kriegerowskimarius@gfz-potsdam.dehttps://git.gfz-potsdam.de/globaldynamicexposure/rabotnik/rabotnik-obm/-/issues/21Relation/difference between `GetPointsInBuilding` and `GetBuildingTagsOSMSpots`?2023-06-07T16:36:39+02:00Cecilia NievasRelation/difference between `GetPointsInBuilding` and `GetBuildingTagsOSMSpots`?What is the purpose of `GetPointsInBuilding` as a rule separate from `GetBuildingTagsOSMSpots`? The geometric operation carried out by both seems to be the same. If `GetPointsInBuilding` is not really needed, it might speed things up to ...What is the purpose of `GetPointsInBuilding` as a rule separate from `GetBuildingTagsOSMSpots`? The geometric operation carried out by both seems to be the same. If `GetPointsInBuilding` is not really needed, it might speed things up to not run it.
Moreover, I see that it is being called in [rabotnikobm/rules/__init__.py](https://git.gfz-potsdam.de/dynamicexposure/openbuildingmap/rabotnik-obm/-/blob/master/rabotnikobm/rules/__init__.py), but named as deactivated in the [README](https://git.gfz-potsdam.de/dynamicexposure/openbuildingmap/rabotnik-obm/-/tree/master).
Any thoughts/comments, @marius @fd, please?Marius Kriegerowskimarius@gfz-potsdam.deMarius Kriegerowskimarius@gfz-potsdam.dehttps://git.gfz-potsdam.de/globaldynamicexposure/rabotnik/rabotnik-obm/-/issues/20TypeError: 'bool' object is not iterable2022-05-04T11:00:27+02:00Marius Kriegerowskimarius@gfz-potsdam.deTypeError: 'bool' object is not iterable```
[2022-05-04 10:52:20,160: ERROR/ForkPoolWorker-21] Task rabotnikobm.assembly.run_task[b377fb93-20db-4e8a-ada7-ddd0c11ef65c] raised unexpected: TypeError("'bool' object is not iterable")
Traceback (most recent call last):
File "/Use...```
[2022-05-04 10:52:20,160: ERROR/ForkPoolWorker-21] Task rabotnikobm.assembly.run_task[b377fb93-20db-4e8a-ada7-ddd0c11ef65c] raised unexpected: TypeError("'bool' object is not iterable")
Traceback (most recent call last):
File "/Users/mariuskriegerowski/src/gfz/rabotnik/rabotnik-obm/venv/lib/python3.9/site-packages/celery/app/trace.py", line 451, in trace_task
R = retval = fun(*args, **kwargs)
File "/Users/mariuskriegerowski/src/gfz/rabotnik/rabotnik-obm/venv/lib/python3.9/site-packages/celery/app/trace.py", line 734, in __protected_call__
return self.run(*args, **kwargs)
File "/Users/mariuskriegerowski/src/gfz/rabotnik/rabotnik-obm/venv/lib/python3.9/site-packages/rabotnikobm/assembly.py", line 29, in run_task
rule.evaluate(building_id)
File "/Users/mariuskriegerowski/src/gfz/rabotnik/rabotnik-obm/venv/lib/python3.9/site-packages/rabotnikobm/rules/gem_occupancy/get_gem_occupancy.py", line 364, in evaluate
tags = GetGEMBuildingOccupancy.fetch_tags(building_id)
File "/Users/mariuskriegerowski/src/gfz/rabotnik/rabotnik-obm/venv/lib/python3.9/site-packages/rabotnikobm/rules/gem_occupancy/get_gem_occupancy.py", line 359, in fetch_tags
tags.extend(fetcher.evaluate(building_id=building_id))
TypeError: 'bool' object is not iterable
```https://git.gfz-potsdam.de/globaldynamicexposure/rabotnik/rabotnik-obm/-/issues/19fix deadlock in postgresql2022-05-02T10:01:42+02:00Marius Kriegerowskimarius@gfz-potsdam.defix deadlock in postgresqlhttps://www.cybertec-postgresql.com/en/postgresql-understanding-deadlocks/https://www.cybertec-postgresql.com/en/postgresql-understanding-deadlocks/https://git.gfz-potsdam.de/globaldynamicexposure/rabotnik/rabotnik-obm/-/issues/18"UNDECIDABLE" occupancy is being output2023-06-07T16:37:10+02:00Cecilia Nievas"UNDECIDABLE" occupancy is being outputFollow-up from https://git.gfz-potsdam.de/dynamicexposure/openbuildingmap/rabotnik-obm/-/merge_requests/41#note_108919.
E.g.:
```
obm_buildings=> SELECT storeys, floorspace, relation_id, quadkey, occupancy FROM obm_buildings WHERE osm_...Follow-up from https://git.gfz-potsdam.de/dynamicexposure/openbuildingmap/rabotnik-obm/-/merge_requests/41#note_108919.
E.g.:
```
obm_buildings=> SELECT storeys, floorspace, relation_id, quadkey, occupancy FROM obm_buildings WHERE osm_id=72494198;
storeys | floorspace | relation_id | quadkey | occupancy
---------+------------+-------------+--------------------+-------------
| | | 120212021300211002 | UNDECIDABLE
(1 row)
```
Can you please take a look at this, @marius?
\fyi @fdMarius Kriegerowskimarius@gfz-potsdam.deMarius Kriegerowskimarius@gfz-potsdam.dehttps://git.gfz-potsdam.de/globaldynamicexposure/rabotnik/rabotnik-obm/-/issues/17performance tweaking2022-05-02T08:51:20+02:00Marius Kriegerowskimarius@gfz-potsdam.deperformance tweakingdouble performace approx on komachi:
```
"--without-gossip",
"--without-mingle",
"--autoscale=50,3",
```double performace approx on komachi:
```
"--without-gossip",
"--without-mingle",
"--autoscale=50,3",
```https://git.gfz-potsdam.de/globaldynamicexposure/rabotnik/rabotnik-obm/-/issues/16debug building id 9818793252023-06-07T16:35:55+02:00Marius Kriegerowskimarius@gfz-potsdam.dedebug building id 981879325Marius Kriegerowskimarius@gfz-potsdam.deMarius Kriegerowskimarius@gfz-potsdam.dehttps://git.gfz-potsdam.de/globaldynamicexposure/rabotnik/rabotnik-obm/-/issues/15error converting to GEMOccupancy2022-05-04T21:47:16+02:00Marius Kriegerowskimarius@gfz-potsdam.deerror converting to GEMOccupancyAssertionError: could not convert 'COM3|ASS1' to GEMOccupancyAssertionError: could not convert 'COM3|ASS1' to GEMOccupancyMarius Kriegerowskimarius@gfz-potsdam.deMarius Kriegerowskimarius@gfz-potsdam.dehttps://git.gfz-potsdam.de/globaldynamicexposure/rabotnik/rabotnik-obm/-/issues/14Add data input from missing resources. (Follow-up from "Added occupancy mapper")2022-05-04T21:47:05+02:00Marius Kriegerowskimarius@gfz-potsdam.deAdd data input from missing resources. (Follow-up from "Added occupancy mapper")The following discussion from !32 should be addressed:
- [ ] @cnievas started a [discussion](https://git.gfz-potsdam.de/dynamicexposure/openbuildingmap/rabotnik-obm/-/merge_requests/32#note_104110): (+1 comment)
> I am not sure of...The following discussion from !32 should be addressed:
- [ ] @cnievas started a [discussion](https://git.gfz-potsdam.de/dynamicexposure/openbuildingmap/rabotnik-obm/-/merge_requests/32#note_104110): (+1 comment)
> I am not sure of what's the scope of this MR. This query is only retrieving tags applied at the building level from the `osm_building_relations` database (and limiting it to the building part designated as outline?), but this is not the only source of tags we have. We have:
> - `tags` column of the `osm_building_polygons` table, with format `"key"=>"value"`, whose content should be interpreted using `building_and_PoIs_tags.csv`;
> - `tags` column of the `osm_building_relations` table, with format `"key"=>"value"`, whose content should be interpreted using `building_and_PoIs_tags.csv`, but this table will only contain buildings that are defined as relations;
> - `class` and `key` columns of the `osm_lands` table, whose content should be interpreted using `landuse_tags.csv`; I'd infer that `class` corresponds to `value`, but it needs to be read differently from the `"key"=>"value"` concept;
> - `type` column of the `osm_spots` table, whose content should be interpreted using `building_and_PoIs_tags.csv`; I'd infer that `type` corresponds to `value`, and there is no `key` specified; it needs to be read differently from the `"key"=>"value"` concept.Marius Kriegerowskimarius@gfz-potsdam.deMarius Kriegerowskimarius@gfz-potsdam.dehttps://git.gfz-potsdam.de/globaldynamicexposure/rabotnik/rabotnik-obm/-/issues/13Test Eventlet as celery handler2023-06-07T16:35:31+02:00Marius Kriegerowskimarius@gfz-potsdam.deTest Eventlet as celery handlerMarius Kriegerowskimarius@gfz-potsdam.deMarius Kriegerowskimarius@gfz-potsdam.dehttps://git.gfz-potsdam.de/globaldynamicexposure/rabotnik/rabotnik-obm/-/issues/12Adopt log level handed over from celery2022-05-25T16:53:31+02:00Marius Kriegerowskimarius@gfz-potsdam.deAdopt log level handed over from celeryWe start in our dockerized enivronment the client instances with `celery -l INFO`. `docker-obm` should take the same loglevel as celery.
/cc @fd @mariusWe start in our dockerized enivronment the client instances with `celery -l INFO`. `docker-obm` should take the same loglevel as celery.
/cc @fd @mariushttps://git.gfz-potsdam.de/globaldynamicexposure/rabotnik/rabotnik-obm/-/issues/11Start assemblies separately from command line2021-10-21T11:56:40+02:00Marius Kriegerowskimarius@gfz-potsdam.deStart assemblies separately from command lineAdd optional sub-commands such as `rabotnikobm --obm` and `rabotnik --occupancy`.Add optional sub-commands such as `rabotnikobm --obm` and `rabotnik --occupancy`.Marius Kriegerowskimarius@gfz-potsdam.deMarius Kriegerowskimarius@gfz-potsdam.de