@Dāvis Kļaviņš Te kaut kas dīvains botam notika: https://www.openstreetmap.org/way/1141085510/history https://www.openstreetmap.org/way/1141085509/history Tos rich bija iezīmējis nenorādot tegus bet adrešu punktu apvienojot pirms tam https://osmcha.org/changesets/132306678/ , tad bots izņēma way bet atstāja punktus. Varbūt protams to var uzskatīt par garbage in garbage out. Bet tomēr laikam tie punkti palikušie pāri kaut kā dīvaini.
Ah, es tur laikam building tagu kaut kā pamanījos nepielikt?
Jā, šādus gadījumus laikam labāk būtu marķēt kā labojamus, ne automātiski dzēst. Latgalē līdzīgas dažas mājas paspēju salabot pirms bota, bet varbūt arī tur kaut kas tagad ir padzēsts.
Liels paldies par pamanīšanu :)
Opā. Ceļus nodzēsa, bet ceļu nodes palika...
untagged nodes
Nu ja, es jau par to
Būtu vienkārši way ar nodiem nodzēsis, visi kopā pasmietos, ka tu pats vainīgs, ka tegus nenorādīji :grinning_face_with_smiling_eyes:
Hehe, tā kā līdzīgas kļūdas esmu redzējis arī citur, laikam būtu labi šādus nedzēst, bet kaut kā par tiem ziņot.
Varbūt var integrēt kā ziņas te.
Šīs divas ēkas atliku atpakaļ un salaboju trūkstošo tagu :)
Mēģināšu atcerēties pielikt, lai nodes arī nodzēš šādos gadījumos. Kāpēc notiek, ir skaidrs. Ziņojumu sūtīšana uz Zulip šobrīd būtu par daudz prasīts. :)
Vai var atstāt ceļus, bet pagaidām vismaz lokāli failā samest manuālai salabošanai?
Bota ietvaros vienkārši satīrītu, lai smuki izskatās. Dzēstajam var vaicājumu pret vēsturiskajiem datiem rakstīt, kas atgriež. OSM jau bezgalīgi daudz lietu, ko var labot.
It kā jā, bet ceļu dzēšana bieži norādīs uz kādām kļūdām nesenā ēku zīmēšanā.
Pēc tam tās atrast būtu manuāls darbs, un man nenāk prātā viegls veids, kā to izdarīt ar online rīkiem (Overpass, OSMCha vai citiem).
Skriptā ielaboju, ka nodes turpmāk pāri nepaliks: https://github.com/Davis-Klavins/osm-latvia-bot/commit/343ee5db852a3b20fa03251d6e8eca96c091156a
Ja nu var ceļu dzēšanu vismaz samest failā un te ielikt, apņemos paskatīties tos gadījumus :)
Uzrakstīju vaicājumu pret vēsturi, bez jau izlabotajiem bija nodzēsti vēl tikai divi ceļi - 458061405 un 546276896. Pirmais gadījums dīvains, tikai līnija bijusi. Otrajā gadījumā ēku pēc adreses uzzīmēju no jauna. Abiem atstātās nodes @HellMap jau bija nokopis. PostgreSQL vaicājums:
WITH c
AS (
SELECT *
,LAG(way_nodes) OVER (
PARTITION BY id ORDER BY version
) way_nodes_prev
,LAG(tags) OVER (
PARTITION BY id ORDER BY version
) tags_prev
FROM history.ways
WHERE id IN (
SELECT id
FROM history.ways
WHERE user_id = 15008076
AND deleted = 'D'
)
)
,b
AS (
SELECT c.id
,c.changeset_id
,c.tstamp
,COALESCE(c.tags, c.tags_prev) tags
,COALESCE(c.way_nodes, c.way_nodes_prev) way_nodes
FROM c
INNER JOIN (
SELECT id
,MAX(version) AS version
FROM c
GROUP BY id
) b ON c.id = b.id
AND c.version = b.version
WHERE c.deleted = 'D'
)
SELECT *
FROM b
WHERE NOT tags ? 'addr:interpolation'
ORDER BY tstamp;
Burvīgi, liels paldies :)
BTW, ar JOSM pluginu var taisīt arī "undelete" - nesen pamēģināju un labi strādāja.
Tikai līnijai viegls skaidrojums - tas ir "jeijei66" dāvinājums, kurš pēc tam atrāvās "The changesets are reverted".
Dāvis Kļaviņš said:
PostgreSQL vaicājums:
Kodam būtu labi lietot "code block" formatēšanu:
WITH c
AS (
SELECT *
,LAG(way_nodes) OVER (
PARTITION BY id ORDER BY version
) way_nodes_prev
,LAG(tags) OVER (
PARTITION BY id ORDER BY version
) tags_prev
FROM history.ways
WHERE id IN (
SELECT id
FROM history.ways
WHERE user_id = 15008076
AND deleted = 'D'
)
)
,b
AS (
SELECT c.id
,c.changeset_id
,c.tstamp
,COALESCE(c.tags, c.tags_prev) tags
,COALESCE(c.way_nodes, c.way_nodes_prev) way_nodes
FROM c
INNER JOIN (
SELECT id
,MAX(version) AS version
FROM c
GROUP BY id
) b ON c.id = b.id
AND c.version = b.version
WHERE c.deleted = 'D'
)
SELECT *
FROM b
WHERE NOT tags ? 'addr:interpolation'
ORDER BY tstamp;
GUI nemanīju, meklēt, kā manuāli ietērpt, bija slinkums.
Desktop un Web klientos ir :question: poga ar formatēšanas padomiem.
Dāvis Kļaviņš said:
Ziņojumu sūtīšana uz Zulip šobrīd būtu par daudz prasīts. :)
Kā izrādījās, tas nav nekas sarežģīts. Dokumentācijā ir piemēri, kā to darīt ar Python/JavaScript vai no komandrindas. Ir arī GitHub Action, ko es izmantoju #programmēšanas pulciņš > Osmalyzer Workflow.
Heh, varbūt tādi ziņojumi noderētu - zīmējot ēkas atkal bija trāpījusies viena bez building tagiem - https://www.openstreetmap.org/way/1212228240/history .
Bots to izdzēsa un atstāja untagged nodes :)
Jā, ziņojumu sūtīšanu uz Zulip tik tiešām ir vienkārši realizēt, pieliku. Turpmāk pie bota izpildes atnāks saraksts ar dzēstajām ēkām un relācijām. Diemžēl punkti joprojām paliek neizdzēsti, jo, lai arī PostgreSQL salaboju (ar iepriekšējajiem labojumiem nebija gana), smarter-sort.py (oriģināls) nespēj OsmChange failu sakārtot tā, kā dokumentācijā aprakstīts, un joprojām dzēstie punkti ir pirms dzēstajiem ceļiem. Uzrakstīju biļeti, bet neceru uz kādu atbildi, jo tos skriptus faktiski neviens neuztur - vairāk nekā divus gadus uz problēmām nav nekādu atbilžu. Alternatīvas smarter-sort.py, kas spētu sakārtot tā, kā nepieciešams augšupielādei, neatrodu. Varbūt kādam, kas Python labāk pārzina, ir vēlme papētīt. :)
Super, paldies :)
Cik bieži kaut kas tiek dzēsts? Varbūt labāk atsūtīt paziņojumu un neizdzēst - tad būs vieglāk manuāli salabot.
Tādi gadījumi līdz šim ir daži gadā un visi tādi, kur aizmirsti building tagi, līdz ar to, jā, labāk ir nedzēst. Izlaboju attiecīgi. Adrešu tagi gan tiek noņemti, caurskatīšanai ir objekti bez tagiem (relāciju gadījumā tikai tips), jo tā ir vieglāk uzturēt apstrādes kodu (pietika tikai komentēt atsevišķas vietas). Var jau mierīgi tos adrešu tagus manuāli klāt nekopēt, bots tāpat pieliks, kur liekami.
Super, liels paldies :)
Last updated: Dec 22 2024 at 05:10 UTC