رومان شوفالوف: "خطرت لي فكرة عمل عرض ثلاثي الأبعاد لخريطة OpenStreetMap"



Roman Shuvalov هو مطور ألعاب مستقل مقره في Togliatti وأصدر Generation Streets في وقت سابق من هذا العام ، استنادًا إلى بيانات OpenStreetMap. منذ وقت ليس ببعيد ، فتح جزءًا من كود مشروعه. لماذا فعل ذلك ، كيف ظهرت اللعبة ولماذا وقع الاختيار على OSM - أخبر رومان عن كل هذا في مقابلة.



- كيف ومتى سمعت عن مشروع OpenStreetMap؟



- حدث ذلك منذ حوالي 5 سنوات - في 2014-2015 ، عندما كنت أبحث عن حلول تسمح للمستخدمين بإنشاء خرائط لاحتياجاتهم الخاصة. في ذلك الوقت ، كان لدي بالفعل مشروع ويب صغير - خريطة طرق ومسارات غابة توجلياتي. تم إجراؤه على خدمة Yandex.Maps ، فوق الخلفية القياسية التي تم تركيب طبقة متجه بها كائنات أحتاجها. بالمناسبة ، تم إنشاء هذه الطبقة على أساس مسارات GPS التي سجلتها أنا وأعضاء نادي الدراجات لدينا. كان يشبه إلى حد ما خريطة حرارة Strava. في مرحلة ما ، أدركت أنني أريد شيئًا أكثر وبدأت أفكر في كيفية ترقية بطاقتي.







نتيجة لذلك ، تعلمت عن OpenStreetMap. عندما رأيته لأول مرة ، كنت مندهشا للغاية: لقد أدهشني الانفتاح والمرونة المذهلة للمشروع. لم أتمكن فقط من استخدام بياناتها الأولية بحرية ، ولكن أيضًا المشاركة في رسم الخريطة ، وهو أمر مهم جدًا بالنسبة لي.



تدريجيًا ، باستخدام مسارات GPS التي أملكها ، قمت برسم غابة Togliatti والبنية التحتية المرتبطة بها في OSM . بعد أن قمت بعمل التجسيد الخاص بي ، يمكن رؤيته على خريطة الدراجات لمنطقة سامارا... تكمن خصوصيته في أنه حتى في المقاييس الصغيرة (بدءًا من 10) يتم عرض المسارات والأشياء الأخرى التي يمكن أن تكون مفيدة لراكب الدراجة. أثناء العرض القياسي في المقياس العاشر وحتى المقياس الثاني عشر ، تحتوي الخريطة على تفاصيل منخفضة نوعًا ما ، وهو ما يُلاحظ بشكل خاص عند محاولة إنشاء طريق للدراجات عبر الحقول والغابات.





خريطة الدراجات لمنطقة سمارة. الممرات والمستوطنات الصغيرة مرئية حتى على نطاق واسع.



- لماذا انتهى بك الأمر بالبقاء في المشروع؟ بعد كل شيء ، يمكنهم فقط رسم المسارات التي تحتاجها وهذا كل شيء.



- يعد رسم خريطة في OSM نشاطًا خطيرًا ، حيث إنه يسبب الإدمان بشكل لا يصدق ، ومن ثم يصعب إيقافه. كيف يحدث ذلك عادة؟ حددت المسار ، لكنني رأيت أن هناك مبنى قريبًا ، لكنه لم يكن على الخريطة. مضاف. ثم أدركت أنه لا يزال هناك رصيف ، وخلفه طريق ... وهكذا. أنت مدفوع بالشعور بالجمال: تريد أن يكون كل شيء جميلًا ، ليس فقط في المكان الذي تعيش فيه ، ولكن في كل مكان. لهذا بقيت في المشروع. صحيح ، الآن لا أرسم بقدر ما اعتدت ، لكنني ما زلت أواصل ببطء جعل OSM أكثر دقة. في الأساس ، أقوم بتصحيح الأخطاء الطفيفة أو تحديث الخريطة - أقوم بإضافة كائنات جديدة تظهر تدريجياً في الموقع الذي يثير اهتمامي.



- لماذا أنت مهتم برسم الخرائط؟ لا تزال هواية غير عادية.



- على الأرجح ، يأتي هذا من رغبة داخلية في معرفة ما يدور حولك ، وأبعد بكثير مما تستطيع عيناك رؤيته. وكان لدي هذا الشعور دائمًا. أتذكر أنني في المدرسة الثانوية بالفعل جربت مع نظم المعلومات الجغرافية ، على سبيل المثال ، كتبت تطبيقًا في دلفي (في ذلك الوقت كان بإمكاني البرمجة فيه فقط) الذي بنى خريطة ثلاثية الأبعاد لمنطقة سامارا. علاوة على ذلك ، في ذلك الوقت لم تكن هناك مجموعات بيانات مفتوحة ، أو ببساطة لم أكن أعرف شيئًا عنها ، وبالتالي أخذت بيانات الارتفاع من أطلس ورقي عادي. قمت بمسحها ضوئيًا وقمت ببناء نموذج ثلاثي الأبعاد باستخدام بعض المكونات الإضافية. لذلك كنت مهتمًا برسم الخرائط ، أو بالأحرى تصور العالم المحيط ، لفترة طويلة.



- دعنا نتحدث عن لعبتك ثلاثية الأبعاد ، Generation Streets ، والتي تستند إلى بيانات OSM. كيف ولدت؟



- سألاحظ على الفور أنني أقوم بتطوير الألعاب منذ عام 2010. بالنسبة لهذه اللعبة بالذات ، قبل بضع سنوات ، خطرت لي فكرة عن طريق الصدفة - لعمل عرض ثلاثي الأبعاد لخريطة OSM. والكوكب كله مرة واحدة. نظرت إلى مشاريع مماثلة موجودة بالفعل ( F4map ، OSM Buildings ) ، لكن لسوء الحظ ، لم يرضيني أي منها - فهي تخطيطية للغاية. أردت تصييرًا أكثر واقعية: مع الزخارف ، والحطام البصري على شكل أشجار ، والفوانيس ، وما إلى ذلك. باختصار ، بهذا الهراء الذي لا نلاحظه عادةً ، ولكن بدونه لا يبدو العالم حياً.







- وكيف بدأت في التطور؟



- من البحث عن طريقة لمعالجة البيانات الجماعية ، حيث أردت أن أصنع الكوكب بأكمله مرة واحدة استغرق الأمر مني الكثير من الوقت. في البداية حاولت القيام بذلك من خلال قاعدة بيانات تعتمد على osm2vectortiles . لكنها لم تنجح لأن لدي جهاز كمبيوتر ضعيف.



في النهاية ، استقرت على برنامجين صغيرين: Osmconvert و Osmfilter . لعملهم ، رفع قاعدة البيانات غير مطلوب. يأخذون بيانات OSM بتنسيق PBF ويسمحون لك بقص القطع المطلوبة من خلال معلمات سطر الأوامر. وهكذا ، أتيحت لي الفرصة لتقطيع الكوكب بأكمله إلى بلاطات دون مشاكل لا داعي لها.



لكنني واجهت على الفور ما يلي: تنسيق PBF ليس مناسبًا تمامًا لتوليد تصيير ثلاثي الأبعاد ، وبالتالي كان من الضروري تحويله إلى تنسيق مناسب لهذا. للقيام بذلك ، كان علي أن أكتب العديد من الأدوات المساعدة ، الكود المصدري الذي وضعته بالفعل بموجب ترخيص مجاني على GitHub. وهي تستند جزئيًا إلى مكتبة ogr2ogr .



ونتيجة لذلك ، تمكنت من إنشاء تنسيق تجانب المتجه الخاص بي ، والذي أعتقد أنه مناسب جدًا للقراءة داخل العارض وإنشاء نماذج ثلاثية الأبعاد. بالإضافة إلى ذلك ، يسمح لك بدمج البلاط في أرشيفات كبيرة ، مما يبسط تخزينها. بفضل هذه الميزة ، ليس لدي بلايين من الملفات ، ولكن فقط بضع مئات.







- لماذا قررت ابتكار التنسيق الخاص بك؟ أفترض أن هناك بالفعل حلول جاهزة.



- نعم ، أنت على حق: التنسيقات الجاهزة موجودة بالفعل ، بما في ذلك الأشكال المتجهة ، على سبيل المثال ، من Mapbox ، ولكن النقطة المهمة هي أنها تركز على صورة مسطحة - ثنائية الأبعاد. ولديهم ميزة واحدة غير سارة: إذا اصطدم المبنى بتقاطع البلاط ، فسيتم قطعه. بالنسبة لي ، كان هذا غير مقبول على الإطلاق ، لأنه لكي أتمكن لاحقًا من صنع نموذج ثلاثي الأبعاد للمبنى ، يجب أن يكون كاملًا. لم يكن هناك حل جاهز لهذه المشكلة. أعتقد أنه ببساطة لم يصادف أحد هذا من قبل. لذلك قررت أن أفعل شيئًا خاصًا بي.







- هل يمكنك مشاركة إحصائيات لعبتك؟ ما هي المراجعات؟



- منذ النشرالألعاب على Steam (الوصول المبكر - أكتوبر 2018 ، الإصدار "الكامل" - فبراير 2020) تم تنزيلها من قبل حوالي 3 آلاف شخص. بالنسبة لهذا النوع من الألعاب ، تعتبر لعبة indie جيدة جدًا. من المهم أيضًا مراعاة النقطة التالية: اللعبة ذات أسلوب لعب ضعيف. وأدركت على الفور أنه في إطار هذا المشروع لن أتمكن من جعله أكثر متعة. لذلك فهو ما هو عليه.



الاهتمام الرئيسي في هذه اللعبة هو أن المستخدم لديه الفرصة لتنزيل منطقة مثيرة للاهتمام له على كوكب الأرض والسفر إلى هناك. معظم الألعاب ليس لديها هذا الخيار. على سبيل المثال ، يفرح أولئك الذين يعيشون في نيويورك بانتظام لأن لعبة أخرى قد ظهرت والتي تم فيها إعادة إنشاء هذه المدينة بتفاصيل كافية. ومن غير المرجح أن ينتظر أولئك الذين يعيشون في Togliatti اللعبة التي تم إنشاؤها في مواقع مدينتهم. هذا بالضبط ما أراهن عليه.



ولكن نظرًا لأن الكثيرين ، بالإضافة إلى القدرة على تنزيل مدينتهم ، توقعوا أيضًا طريقة لعب مصممة بعناية ، فقد تلقيت العديد من المراجعات السلبية حول هذا الجزء. هم عن جدارة. كنت مستعدًا في البداية لهذا ، نظرًا لأن لعبتي لا تتعلق باللعب ، بغض النظر عن مدى غرابة الأمر ، ولكن حول تصور البيانات والقدرة على الطيران في أي مكان في العالم.







- تستخدم لعبتك بيانات OSM. هل من الممكن تحريره من خلاله؟



- في البداية ، أردت تضمين محرر OSM ، لكن بعد تجربة صغيرة قررت عدم القيام بذلك. لفترة من الوقت ، أتيحت الفرصة للمستخدمين لإجراء تعديلات. لم تذهب هذه التعديلات مباشرة إلى OSM ، بل "استقرت" في قاعدة البيانات المحلية. اتضح أن اللاعبين بعيدون عن عالم OSM ، وبالتالي تفاعلوا بشكل غير مسؤول للغاية مع الخريطة. الآن أفكر في تعطيل هذا المحرر التجريبي ، وإرسال كل من يريد الذهاب إلى JOSM.



- على حد علمي ، لقد فتحت رمز لعبتك ونشرته بموجب ترخيص مفتوح. لماذا فعلت هذا؟ هل كان من الصعب اتخاذ هذا القرار؟



- لم أفتح اللعبة بأكملها ، ولكن فقط الكود المسؤول عن إنشاء نماذج ثلاثية الأبعاد. أولاً ، لقد فعلت ذلك من أجل مشاركة عملي مع المجتمع ، حيث شعرت بدين معين له ، لأنني استخدمت مصدرًا مفتوحًا ، كتبه مبرمجون آخرون. ثانيًا ، على الأرجح ، لن أقوم بإجراء تغييرات جدية على هذا المنتج ، لكن في نفس الوقت أفترض أنه قد يكون ذا فائدة لشخص ما وحتى شخص ما سيتعهد بتطويره. ثالثًا ، أريد استخدام الكود الخاص بي ومساعدة الأشخاص في حل مشكلاتهم. كما ترى ، سيكون هناك المزيد من المشاريع المتعلقة بالعرض ثلاثي الأبعاد ، وربما تشمل مسقط رأسي في Togliatti.







- ما الذي يعجبك في OSM؟



- أحب الترخيص المفتوح والقدرة على الحصول على البيانات ، وليس فقط البلاط الجاهز. على سبيل المثال ، لقد صنعت لعبة فيديو. لن تسمح لي أي خدمة خرائط أخرى بالقيام بذلك بسهولة. كحد أدنى ، سيكون عليك الاتصال بالمطورين وطلب البيانات الأولية. ولست متأكدًا من أن عمالقة الصناعة كانوا سيقابلونني في منتصف الطريق. أخذت على الفور الكوكب بأكمله وقمت بتنزيله وفعلت كل ما أحتاجه به.

أحب أيضًا أن أي شخص يمكنه المشاركة في المشروع وجعل الخريطة أكثر دقة. محرر JOSMليس بهذه الصعوبة. وفي الوقت نفسه ، لا تحتاج إلى الانتظار حتى يتم قبول تعديلاتك أو الموافقة عليها - بمجرد إرسالها ، يتم وضعها على الفور في قاعدة البيانات الرئيسية ، مما يعني أنه يمكنك استخدامها على الفور لتلبية احتياجاتك. على سبيل المثال ، قم بتحديث الخريطة في المستكشف الخاص بك.



- ما الذي لا يعجبك؟



- وفرة وعلامات غير منهجية. هذا ليس دائما جيدا بالإضافة إلى ذلك ، حان الوقت للتوصل إلى شيء مع تعويضات. في بعض الأحيان تفتح مدينة وتدرك أن شخصًا ما رسمها دون مراعاة هذا الفارق الدقيق. وأنت لا تعرف ماذا تفعل: نقل كل شيء أو الاستمرار في الرسم في الإزاحة الخطأ؟ بالطبع ، أنا أفهم أن العالم غير كامل ، عليك أن تتخطى بعض المشاكل. بشكل عام ، فإن OSM لها مزايا أكثر من عيوبها.



- ما الذي يمكن عمله بشكل أفضل؟



- أرغب في رؤية محرر ويب جيد. نعم ، يوجد بالفعل معرف ، لكنه موجه نحو المبتدئين. أريد شيئًا أكثر راحة. أيضًا ، يبدو لي أنه سيكون أفضل بكثير إذا كانت الكائنات الموجودة داخل OSM مرتبطة ببعضها البعض بطريقة أو بأخرى. الآن إذا تم إجراء أي تغييرات على شكل المبنى أو تغير موضع الطريق الذي يمر بالجوار ، فلن يؤثر هذا التغيير على الكائنات المجاورة بأي شكل من الأشكال. حتى لو بعد التغيير ، على سبيل المثال ، بدأ الطريق يمر فوق الجزء العلوي من المنزل. لا أعرف بالضبط كيف يمكن تنفيذ مثل هذا التفاعل ، لكني أود أن تكون المعلومات حول التبعيات متاحة. ثم ، على سبيل المثال ، لن تنكسر طرق النقل العام إذا تم تعديل الطريق. أفترض أن هذا سيجعل بيانات OSM أكثر ملاءمة للتحرير والاستخدام الإضافي.



- هل تستخدم OSM في حياتك الشخصية؟ للعمل؟ إلى جانب اللعبة.



- في الحياة اليومية، وذلك باستخدام الملاحين المحمول OruxMaps و maps.me . كلاهما غير متصل بالإنترنت ، أي أنهما يسمحان لك بالعمل مع الخريطة بدون الإنترنت ، وتستند خرائطهما إلى OSM. ما يعجبني OruxMaps هو أنه يتيح لك أيضا لاستخدام الخرائط الخاصة بك في ناقلات mapsforge شكل .



- ما نصيحتك للمبتدئين؟ أو أولئك الذين يفكرون فقط: الانخراط في المشروع أم لا.



- إذا كنت تستخدم أي متصفح متنقل يعتمد على OSM ، ففكر في البدء في جعل الخريطة التي تستخدمها ، بالمناسبة ، أكثر دقة. بعد كل شيء ، لا يعرف الكثيرون أنه يمكن تحرير الخريطة ، علاوة على ذلك ، مباشرة من الهاتف.

بالنسبة لأولئك الذين هم بالفعل على دراية بـ OSM وحتى الرسم البياني قليلاً ، فإن النصيحة الأولى والرئيسية هي قراءة WikiOSM قبل تحرير الخريطة . تقريبا كل شيء هناك. سيوفر لك هذا الكثير من الأخطاء ، كما سيسمح لك بتبني ثقافة رسم الخرائط وزيادة وعيك بمسؤوليتك تجاه أولئك الذين سيستخدمون الخريطة التي تعدلها بعد ذلك. لا تنس أبدًا أن بيانات OSM تُستخدم في عدد كبير من المشاريع ، وبالتالي حاول دائمًا الحفاظ على مستوى عالٍ من جودة البيانات المدخلة.



- ماذا ستقول في نهاية الحديث؟



- قد يبدو بصوت عالٍ ، في الوقت الحالي ، يعد OSM مشروع رسم الخرائط الوحيد المفتوح والمجاني في العالم. إنه بديل مستقل لخدمات رسم الخرائط التجارية. لهذا السبب تحتاج إلى المشاركة فيه وتطويره بكل طريقة ممكنة. بعد كل شيء ، إذا لم يعد OpenStreetMap موجودًا ، فسنضطر جميعًا إلى استخدام الخرائط التجارية وفقًا للشروط التي سيفرضها علينا شخص ما. ويمكنك نسيان الاستخدام المجاني للبيانات الجغرافية.






يتواصل المشاركون الروس في OpenStreetMap في دردشة Telegram وفي المنتدى .

هناك أيضًا مجموعات على الشبكات الاجتماعية فكونتاكتي ، فيسبوك ، لكنها تنشر الأخبار بشكل أساسي.



انضم إلى OSM!






المقابلات السابقة:
, , , , , , , , , , , , , , , , , wowik, SviMik, , , , , , aka BANO.notIT, , , , , .




All Articles