OSM Fa Fixer python script

یک نکته ای رو هم نباید نادیده گرفت. اصطلاح «ی» فارسی و «ي» عربی جای بحث داره. نباید شکل ظاهری حروف که وابسته به فونت هستند رو معیار قرار داد و فکر میکنم کد اسکی کاراکتر باید مبنا باشه در مورد اینکه کدوم حرف فارسی حساب میشه.
البته من وارد نیستم و دوستان بیشتر از من در جریان هستند فقط جهت یادآوری گفتم که اشتباه نشه.
در مورد حرف کاف هم همین موضوع صدق میکنه.

سلام به همه دوستان

آقا نوید من یه بررسی اجمالی روی این بسته های تغییر کردم که حدود ۱۴٬۰۰۰ تغییر هستن.

  • عمدهٔ مشکلات، تبدیل ارقام انگلیسی در عبارتهای انگلیسیه. (لیست این موارد) مثلا

way/565407682	block ۲ negin park
way/556221141	C۱۴
way/659910855	Kangan ۵th
way/88807959	wdhn ۱۷
way/383166306	Mehr ۱۱
way/670233150	falake ۱
way/355427286	کنار گذر محله C۱
way/539623157	مجتمع مسکونی مینو ۳ F-۲۱

  • بقیه مربوط به عربی میشه و در بین گره ها شایعه (لیست این موارد) و راه ها این مشکل را میشه گفت ندارن.

  • جالب اینکه حدود ۸۰٪ تغییرات روی معابر انجام شده. و میتونم بگم که با رفع مشکل انگلیسی، اصلاح معابر هیچ مشکل خاصی پیش نمیاره. یعنی ۸۰ درصد عارضه هایی که اصلاح میشن. چون عمدتا کاربران بومی ایجادشون میکنن.

  • از موارد باقیمانده، ده درصد باقیمانده راه ها و ده درصد هم گره ها هستن. که میشه تگ هایی رو که معمولا کاربران بومی ایجاد میکنن از این ۲۰٪ درآورد و تغییرشون داد، مثل تگ place. بقیه را بهتره دستی انجام بدیم و مثلا از کنارش به موضوع صفحه کلید کاربران هم بپردازیم.

  • در بعضی بسته های تغییر یکسری عارضه ها حذف شده که فکر کنم نباید مخلوط با این تغییرات باشه.

  • اگه اندازهٔ بسته های تغییر از یه حدی بالاتر نره، برای بررسی بهتره. مثلا نهایت ۵۰۰ تغییر در هر بسته یا چیزی در همین حدود

با سپاس از صبر و شکیبایی شما

ما مگه اصلا تو فارسی ك , ي داریم؟ بحث فونت نیست و برنامه معیار رو بر اساس فونت نمیذاره و در واقع انکودینگ کاراکتر ها رو بررسی میکنه. اگه من اشتباه میکنم و نکته ای رو اطلاع ندارم بهم گوش زد کنید لطفا.

سلام ایمان جان. این مشکل اوایل وجود داشت و الان توی برنامه برطرف شده هستش و دیگه پیش نمیاره همچین مشکلی رو. این مواردی هم که زحمت کشیدی لیست کردی یه برنامه بذاریم به صورت دستی اصلاح کنیم.

در رابطه با این موارد لیست رو دیدم ، برای حل این مشکلات باید یه لیست از کلمات کلیدی تهیه کنیم و تو دل برنامه بذارم که این موارد رو تغییری نده که از لیستی که شما لطف کردی گذاشتی میشه بهره برد و این کار خواهیم کرد.

مشکل انگلیسی منظورت اعداد انگلیسی هستش دیگه؟ بله دقیقا اکثرا بخاطر شماره گذاری خیابون ها هستش که درصد بیشتر مثلا همون ۸۰٪ که شما گفتی برای مسیر ها هستش. و بله خدا رو شکر توی موضوع تبدیل اعداد تا جایی که میدونیم مشکل خاصی نداریم. با این حال در حال حاضر من دارم روی برنامه تبدیل اعداد کار میکنم (جدا کردم برنامه ها رو) و بهبود های زیادی روش دادم که به زودی منتشر میشه.

اینو نفهمیدم منظورت چیه دقیقا ببخشید.

مطمدنی کل عارضه حذف شده توی این چنجست ها؟! احتمالا موقع آپلود تغییرات با برنامه
josm
ولیدیتور برنامه خطایی رو پیغام داده و من به صورت دستی اصلاحاتی رو افزون بر اصلاحت اسکریپت انجام دادم و بعد آپلود کردم که احتمالا علت اینکه بعضی عاضه ها پاک شده این هستش. اگه چندتا لینک به عنوان مثلا میگفتی خوب بود…

لزوم انجام اینکار رو متوجه نمیشم چون در آخر تعداد تغییرات یکی هستش ولی خورد شده توی بسته های کوچیک تر. که از طرفی هم انجام اینکار توی اسکریپت سخت هستش و اینکه برای آپلود کردن تک تکش طاقت فرسا میشه. حالا در آینده شاید تدبیری براش پیدا کردیم.

در نهایت اعلام میکنم فعلا دارم روی اسکریپت اصلاح اعداد کار میکنم و بعد از نهایی شدن و استارت کارش میرم سراغ اسکریپت اصلاح حروف. یه مقدار کمبود وقت آزاد شاید باعث بشه این روند طول بکشه به همین دلیل از دوستانی که میتونند برای ویکی سازی این اسکریپت کمک کنند درخواست کمک میکنم.

با تشکر از پیگیری دوستان که دل گرم کننده است

در واقع یه راهکار پیشنهادی دیگه برای کم شدن اشتباه هاست. قبل از این بند، درباره معابر گفتم که چون معمولا کاربران بومی ایجادشون میکنن مشکل خاصی توش پیش نیامده. حالا از اینجا ایده گرفتم و گفتم که ببینیم کدام تگها را معمولا کاربران غیربومی ایجاد میکنن اونها را فاکتور بگیریم تا تغییر نکنن. مثلا

amenity
tourism

را معمولا کاربران غیربومی هم ایجاد میکنن در نتیجه مستعد اون مشکلات هستن. ولی

place
landuse

را کاربران غیربومی معمولا ایجاد نمیکنن و در نتیجه اون مشکلات روی این عارضه ها پیش نمیاد. حالا به عنوان مثال این دو تگ آخری را فاکتور بگیریم تا تغییر نکنن و دستی بررسی کنیم.

یا مثلا مشکل عربی عمدتا روی گره ها اتفاق میفته. از دلایل عمده اش اینه که کاربران غیربومی ایجادشون میکنن. حالا ما بیایم گره ها را اصلا دست نزنیم و دستی بررسی کنیم.

صرفا یک راهکار پیشنهادی برای کم شدن موارد اشتباه هست.

البته شما راهکار کلمات کلیدی را دارین که شاید همون جوابگو باشه.

واقعیتش اینها را دقیق بررسی نکردم و صرفا از روی شمارنده ای که در سایت

osmcha

دیدم گفتم. درسته انگار عارضه ای حذف نشده و گره ها ادغام شدن یا چنین چیزی. ولی بهتره که موارد غیرمرتبط با اسکریپت را دخیل نکنیم و بعد از بارگذاری تغییرات اسکریپت، اینها در یک بستهٔ دیگه بارگذاری بشن. بهتر نیست؟

صرفا برای اینکه کاربر انسان راحت تر بتونه تغییرات را مرور کنه. ولی حالا اولویت زیادی هم شاید نداشته باشه

راهکار جالبی نیست چون در صد خطای بالایی داره و یه سری چیزا که باید فیکس بشه نمیشه اینطوری و برعکس. به نظرم همون راهکار کلمات کلیدی جامع تر هستش و این موارد رو پوشش میده

درسته چشم از این به بعد به این مورد دقت میکنیم.

لزومش توی اینه که بررسیش راحتتر میشه و ویکی هم همین رو گفته.

مثلا خوبه اکسریپت برای هر استان جدا جدا اجرا بشه تا بشه راحت بعدا بررسی کرد

فکر هم نمیکنم کار سختی باشه، فقط یه تک
“ISO3166-2”=“IR-{code ostan}”
هست دیگه

شما به بار اسکریپت رو بنویس،
یه لیست از اون کدهای
IR-*
تهیه بکن. بهش بگو تک به تک اجرا کن آپلود کن و برو سراغ بعدی.

اینطوری تفکیک بین چنجستها هم راحت منیشه.

سلام. در حالِ حاضر تو این ورژن ، برنامه مستقیما هیچ ارتباطی با سرورهای آورپس نداره و کوئری به صورت دستی داخل
josm
اجرا میشه و ازش خروجی گرفته میشه. پس برنامه فعلا نمیتونه خودکار اینکار رو انجام بده. بخاطر همین بهش میگیم اسکریپت وگرنه میشد ربات اگه خودش دانلود کنه اصلاح کنه و آپلود هم بکنه

با سلام خدمت تمامی دوستان. ربات جدید
FaNumberFixerBot
برای اولین با ورژن 4.2 اجرا شد و خوشبختانه مورد استقبال همگی توی گروه قرار گرفت. شماره چنجست مربوطه:
https://www.openstreetmap.org/changeset/71222381

* جدول بررسی تغییرات اعمال شده *

صفحه ویکی

گیت لب

خسته نباشی نوید و دمت گرم

Hi dear Navid;
Thanks for your nice efforts for OSM Iran, specially this useful Bot, I have a suggestion… Is it possible to add a space before the numbers that preceding character is a letter?

سلام نوید عزیز
ممنون از تمام تلاشهای خوبی که برای جامعه ا اس ام ایران انجام میدی، من یک پیشنهاد دارم… امکانش هست قبل از عددهایی که کاراکتر قبلشون یک حرف هست (یعنی بلافاصله به حرف قبل چسبیدن) یک فاصله اضافه کنی مثلا <گل۱۱> بشه <گل ۱۱>. ممنون

An interesting suggestion!

یک پیشنهاد جالب!

مخزن این اسکریپت به گیت لب منتقل شده است:
https://gitlab.com/OSMIran/FaNumberFixer
با تشکر از سوشا عزیز

سلام به همگی.
این مسأله اسمهایی که ممکنه ذاتا عربی باشند، زیاد مهم نیست. چون حتّی اگر ي عربي در هوتيل به ی فارسی بصورت هوتیل تبدیل بشه، چون پیش فرض ما اینه که کاربران نقشه ایران فارسی زبان هستند، مشکلی واسه اونها پیش نمیاد. فقط ممکنه اگر یک عرب بیاد هوتيل رو سرچ کنه، چون ی در کیبرد گوشی کاربر عرب زبان بصورت ي عربي هست، ممکنه سیستم نتیجهای نشونش نده. برای حل این مشکل کافیه نیروی انسانی داوطلب ایرانی در شهرهای مذهبی و توریستی کشور که معمولا مقصد عرب زبانها است، جاهایی مثل هتل و اماکن گردشکری را دستی چک کنه و اونهاییشون که اسم عربی داخل تگ name دارند رو درست کنه و اسم عربی را به تگ name:ar منتقل کنه.
ضمنا راهکار اساسیتر اینه که OSM مثل گوگل بیاد توی الگوریتم جستجوی خودش کاری کنه که هوتيل چه با ی فارسی وارد بشه و چه با ي عربي، در هر صورت همه هوتیلها با هر نوع ی را را نمایش بده.
یک راهکار خیلی اساسی که به نظرم باید توسط OSM اجرا بشه، اینه که اصلا تگ name رو از کل سیستم OSM حذف کند و کاربران مجبور بشوند که زبان تگ name را بصورت name:ar , name:fa , name:en انتخاب کنند بعد اسم مکان یا معبر را فقط با تگ مشخص شده وارد کنند. اینجوری OSM میتونه جلوی وارد شدن ي عربی را در تگ فارسی بگیرد. میتونه کاری کنه که توی تگ انگلیسی، به زبان فرانسه ننویسند و… این راهکار آخر میتواند خیلی از مشکلات زبانی در نقشه را حل کند.