رفتن به نوشته‌ها

دسته: MongoDB (مونگو دی‌بی)

فصل جدید؛ داده‌های geospatial

یکی از ویژگی های منحصر به فرد MongoDB قابلیت جست و جوی مکان های مختلف است. منظور من واقعا مکان های مختلفی مانند «رستوران ها تا شعاع 500 متر» و غیره است. geospatial از ترکیب دو کلمه ی geo (پیشوند به معنی «جغرافیا») و spatial (فضایی) تشکیل شده است بنابراین داده های geospatial به این قسمت اشاره دارند و در این فصل می خواهیم به کار با این نوع داده ها بپردازیم. برای شروع این جلسه از یک پایگاه داده ی جدید به نام awesomeplaces استفاده می کنم: use awesomeplaces حالا باید از google maps تعدادی از مکان های مختلف را پیدا کنیم تا با آن ها در پایگاه داده ی خود کار کنیم. مثلا من با آکادمی علوم کالیفرنیا شروع می کنم: https://www.google.com/maps/place/California+Academy+of+Sciences/@37.7692285,-122.468455,16z/data=!3m1!5s0x80858743a90cd067:0xba7e223a6834f740!4m5!3m4!1s0x80858743acfb4421:0x1b8487cfc077cab9!8m2!3d37.7698645!4d-122.4660949 حتما می دانید که در google maps زمانی که روی یک محل خاص کلیک کنید، مختصات آن در URL نمایش داده می شود. به طور مثال در URL بالا پس از علامت @ دو عدد داریم که با ویرگول از هم جدا شده اند: @37.7692285,-122.468455, اولین عدد پس از @ عرض جغرافیایی (latitude) و دومین عدد طول جغرافیایی (longitude) می باشد. بنابراین می توانیم از این مختصات استفاده کرده و محل را ذخیره کنیم. هشدار: مختصات به دست آمده بر اساس مرکز صفحه نمایش شما است بنابراین حتی اگر محلی را انتخاب کنید اما آن محل در گوشه ی صفحه ی شما باشد، باز هم مختصات نقطه ای به شما داده می شود که در وسط صفحه نمایش شما باشد. البته این موضوع برای ما مشکلی ایجاد نمی کند و مهم یادگیری فنون کار است نه به دست آوردن اعداد دقیق!