Skip to content
Andres Gomez Casanova edited this page Jul 8, 2025 · 15 revisions

Welcome to the OSM-Notes-profile wiki!

Here, you can find the documentation of many components or decisions made during the development of this software.

Notes created per year

Year Count
2013 93,267
2014 199,247
2015 196,618
2016 343,083
2017 409,395
2018 374,414
2019 391,642
2020 423,410
2021 497,526
2022 493,198
2023 532,970
2024 501,100
2025 257,027
select extract(year from created_at), count(1) from notes group by extract(year from created_at) order by extract(year from created_at);

Notes closed per year

Year Count
2013 61,260
2014 155,445
2015 161,812
2016 226,907
2017 295,789
2018 319,071
2019 346,410
2020 391,146
2021 446,421
2022 475,220
2023 575,926
2024 497,041
2025 270,164
(n/a) 490,302
select extract(year from closed_at), count(1) from notes group by extract(year from closed_at) order by extract(year from closed_at);

2023 has been the year of the closed note!

Comments per year

Year Count
2013 183,123
2014 411,144
2015 425,191
2016 651,623
2017 898,260
2018 807,753
2019 872,567
2020 927,146
2021 1,066,706
2022 1,093,306
2023 1,260,139
2024 1,174,167
2025 622,562
select extract(year from created_at), count(1) from note_comments group by extract(year from created_at) order by extract(year from created_at);

Million id

note_id | created_at
---------+--------------------- 1000000 | 2017-05-18 08:41:38 3000000 | 2022-01-06 22:23:42 2000000 | 2019-11-18 12:32:07 4000000 | 2023-11-24 10:24:11

select note_id, created_at from notes where note_id % 1000000 = 0;

Very long OSM notes

Bigger than 1 MB.

select length(body), note_id, sequence_action from note_comments_text order by length(body) desc;

Internal XML with many double quotes:

select (CHAR_LENGTH(body) - CHAR_LENGTH(REPLACE(body, '"', ''))) 
    / CHAR_LENGTH('"') from note_comments_text order by (CHAR_LENGTH(body) - CHAR_LENGTH(REPLACE(body, '"', ''))) 
    / CHAR_LENGTH('"') desc;
notes=# select note_id, (CHAR_LENGTH(body) - CHAR_LENGTH(REPLACE(body, '"', ''))) 
    / CHAR_LENGTH('"') from note_comments_text order by (CHAR_LENGTH(body) - CHAR_LENGTH(REPLACE(body, '"', ''))) 
    / CHAR_LENGTH('"') desc;

Reopened consecutive

Open a created note

Empty note

Close closed note

11696
19523
90515
108035
114364
196947
196950
296551
307131
307132
307133
307134
365932
407995
543398
672748
673802
673802
718083
792869
804307
804307
874449
885766
895632
897632
897632
897659
911354
914697
914889
914889
927231
934313
965882
974079
980878
992406
1000606
1014385
1025601
1025601
1048781
1062157
1064539
1081564
1083091
1100984
1106277
1112320
1112320
1114346
1116658
1116658
1120958
1124864
1137285
1137285
1137285
1154324
1158256
1158256
1159574
1167699
1180388
1180388
1185545
1186869
1186869
1199129
1199129
1219963
1219963
1230186
1230650
1231684
1231684
1232898
1242337
1242924
1246674
1246674
1256771
1257684
1258997
1258997
1258997
1260350
1260350
1263859
1263859
1267964
1287447
1287447
1287447
1306116
1309270
1313337
1364021
1368023
1368023
1368023
1385085
1388806
1415149
1415667
1431175
1431175
1431175
1431329
1433326
1471367
1494736
1507229
1543085
1562364
1997074
2479671
2698375
2846587
2888758
3606829
3664013
3887439
3895068
4194291
4198796
4212065
4212065
4267223

Difference in created_at between note and opening comment

Seconds Note id Note created_at Comment created_at
84 3291195 2022-07-30 19:15:58 2022-07-30 19:17:22
65 1680216 2019-02-13 22:28:42 2019-02-13 22:29:47
61 1349475 2018-04-05 06:31:50 2018-04-05 06:32:51
30 4084111 2024-01-24 06:49:09 2024-01-24 06:49:39
30 3316160 2022-08-15 21:26:25 2022-08-15 21:26:55
30 2777295 2021-07-30 01:46:14 2021-07-30 01:46:44
24 4084109 2024-01-24 06:00:51 2024-01-24 06:01:15
23 4084106 2024-01-24 05:21:26 2024-01-24 05:21:49
20 1455554 2018-07-15 17:10:24 2018-07-15 17:10:44
select cast(extract(epoch from (c.created_at - n.created_at)) as integer), n.note_id, n.created_at, c.created_at from notes n join note_comments c on n.note_id = c.note_id where c.event = 'opened' and n.created_at <> c.created_at and extract(epoch from (c.created_at - n.created_at)) <> 1 order by extract(epoch from (c.created_at - n.created_at)) desc;

Datetimes where there are frequent differences in created_at between notes and comments.

  • 2024-01-23 05:26:26
  • 2024-01-24 03:12:17
  • 2024-05-21 18:00:00
  • 2024-01-30 17:51:26
  • 2024-05-22 06:09:13
  • 2025-02-25 06:39:07
  • 2025-04-21 19:24:20

image imagen imagen

https://prometheus.openstreetmap.org/d/ST-7bi5Gz/api-database?orgId=1&from=2025-04-21T18:00:00.000Z&to=2025-04-21T20:59:59.000Z&timezone=utc&var-instance=$__all&var-master=snap-01&var-slaves=$__all&refresh=1m