
بسم الله
اگه به حوزه نقشه و GIS علاقه داشته باشید احتمالا محصولهای زیادی رو دیدید. «مکاننگار» یا «Maptor» هم یکی از اوناست اما با یه سری تفاوتها:
📍یه کتابخانه مخصوص کار با نقشه و دادههای مکانی (نقطه/خط/چندضلعی) هست که رو بستر داتنت ۸ و به زبان C# نوشته شده. اصطلاحا به این کتابخانهها «مکانمحور» یا «GIS»ای گفته میشه.
📍یه کتابخانه یا «بستر نرمافزاری» متنباز هست که استفاده از اون تحت مجوز متنباز MIT هیچ محدودیتی نداره.
📍توابع، کلاسها و امکانات لازم برا خوندن فرمتهای مکانی، اتصال به پایگاه داده، تبادل اطلاعات مکانی، تبدیل بین انواع قالبهای مکانی مثل Shapefile, GeoJson, WKB, WKT, EsriJsonGeometry، تبدیل بین انواع سیستمهای مختصاتی و سیستمهای تصویر مثل UTM، کار با نقشههای گوگل و Bing، ترسیم نقطه/خط/چندضلعی، اندازهگیری فاصله و مساحت و طول و عرض جغرافیایی، نمایش و کار با نقشه، و انجام تحلیلهای مکانی رو داره.
📍یه کامپوننت نقشه داره برای پروژههای دسکتاپی که با تکنولوژی WPF آماده شده. برای پروژههای تحت وب هم اونقدر امکانات داره که شما رو تا حدی از سرورهای نقشهای مثل geoserver، بینیاز میکنه.
📍«مکاننگار» یه نرمافزار خاص نیست. یه کتابخانه هست که با کمک اون میتونید نرمافزارهای مبتنی بر نقشه خودتون رو توسعه بدید. مثلا «نرمافزار نقشهیار»، یکی از محصولهایی هست که رو بستر «مکاننگار» توسعه داده شده.
سال ۹۱ بعد از دوره ارشد و قبل از سربازی، ۲-۳ ماه یه شرکت مشغول بودم که نمایندگی یه محصول GISای ترکیهای رو داشت. اون زمان با تمام وجود حس کردم که وابستگی نرمافزاری به یه محصول خارجی چقدر میتونه دیگران رو نسبت به کشور ما تو موضع قدرت قرار بده و با این روش در بهترین حالت برا همیشه شاگرد دیگران باقی میموندیم. برا همین به مستقل شدن تو این حوزه که با پروژه سربازی چند سال پیشم شروع شده بود، مطمئنتر شدم.
نه قراره با ESRI مسابقه بدیم و نه با هیچ محصول دیگهای مقایسه بشیم. فقط قراره اگه هر جای کشور نیاز به محصول GISای بود بتونیم راهحل بدیم. روی پای خودمون بایستیم. دستمون تو جیب خودمون باشه. اجازهمون هم دست دیگران نباشه. حتی بتونیم راهحلها رو توی فضای بینالمللی هم ارائه کنیم. گیر مجوز استفاده فلان شرکت خارجی نباشیم. بابت استفاده از یه محصول قفل شکسته سرمون پایین نباشه. از تجربیات بقیه استفاده کنیم و تجربیات خودمون رو هم اشتراک بذاریم.
از اینا که بیشتر حواشی هستن بگذریم، لذت فهمیدن، تجربهکردن و دیدن نتیجه عملی تئوریها با پیادهسازی الگوریتمها و دادهساختارها و دست و پنجه نرمکردن با معماریها و اصول مهندسی نرمافزار اونقدر لذت داره که نشه به این سادگی از این مسیر گذشت. بنابر این، اصلا جای خاصی قرار نیست بریم. فقط از مسیر میخوایم لذت ببریم :) در کنارش گرههایی هم بدست ما باز میشه. انشاالله.
ایدهال ترین حالت برا یه توسعه دهنده متنباز اینه که بتونه مشارکت و سرمایهگذاری خوبی رو برا پروژه جذب کنه و مسیر توسعه اون رو سرعت بده. خوبی این مسیر اینه که آجر به آجر رو روی هم میذاریم و هر بار که یه مساله حل میشه دیگه برا همیشه حل شده و بعدا صرفا در صورتی که لازم شد اون رو بهبود میدیم.
✨ اگه برنامهنویس و علاقهمند به برنامهنویسی GIS هستید: میتونید کدها رو از گیتهاب بگیرید، بخونید، کامنتبذارید و تغییرات خودتون رو pull request بزنید. برا آموزش میتونید صفحه Maptor رو توی لینکداین دنبال کنید. در آینده نزدیک کم کم آموزشهای بیشتری رو آماده میکنم.
✨ اگه تیم برنامهنویسی بخش دولتی یا خصوصی هستید: اگه میخواید نرمافزار خودتون رو توسعه بدید میتونید از این بستر استفاده کنید، و امتیاز نهایی محصولی که توسعه میدید هم برا خودتون هست. اگه نیاز به مشاوره، آموزش یا پشتیبانی هم داشتید میتونید با من تماس بگیرید.
✨ اگه مدیر بخش دولتی یا خصوصی هستید: اگه دنبال نرمافزار GISای هستید اما تیم برنامهنویسی ندارید میتونید اون رو سفارش بدید که بر پایه این کتابخانه برا شما توسعه داده بشه. مزیت استفاده از مکاننگار اینه که به عنوان سرمایهگذار، تو امتیاز نهایی نرمافزاری که تولید بشه شما شریک میشید. سورس کد و تمام نیازمندیهای نرمافزاری هم به شما تحویل داده میشه و هر زمان تیم توسعه تشکیل بدید این امکان هست که خودتون توسعه نرمافزار رو ادامه بدید.
✨ اگه دانشجو هستید: از مکاننگار برا نمایش خروجیهای مقاله، پایاننامه ارشد یا رساله دکترا میتونید استفاده کنید.
✨ پروژههای شخصی: برا پروژههای شخصی مثل پروژههای سربازی که به نمایش نقشه نیاز دارن، هم میتونید از مکاننگار استفاده کنید. با توجه به بومی بودن اون معمولا گزینه جذابی برای ارائه پروژههای سربازی هست که امکانات خودتون رو روش بالا بیارید.
همین جا هم میتونید من رو از نظر خودتون مطلع کنید. اگه پیشنهادی دارید یا جایی برای شما مبهمه نظر بذارید.
ممنون از شما
باقی لینکها رو تو کامنت گذاشتم