GeoJSON برای نقشه‌های وب: یک راهنما

2026-03-02
geojsonleafletmapboxنقشه‌های وبjavascript

GeoJSON قالب اصلی تبادل داده‌های مکانی در وب است. همهٔ کتابخانه‌های محبوب نقشه‌برداری — Leaflet، Mapbox GL JS، OpenLayers، deck.gl — به‌صورت بومی از GeoJSON پشتیبانی می‌کنند. با osm2cdr.ru می‌توانید هر ناحیه‌ای از OpenStreetMap را در چند ثانیه به GeoJSON خروجی بگیرید.

ساختار GeoJSON

فایل GeoJSON یک JSON معمولی با اشیائی از نوع FeatureCollection است. هر Feature شامل یک هندسه (نقطه، خط، چندضلعی) و ویژگی‌ها (properties) است — برچسب‌های OpenStreetMap: نام، نوع عنصر، نشانی و دیگر صفت‌ها.

چگونه به Leaflet متصل کنیم

ساده‌ترین راه برای نمایش GeoJSON روی نقشهٔ وب:

fetch('/data/moscow-buildings.geojson')
  .then(r => r.json())
  .then(data => L.geoJSON(data, {
    style: { color: '#3388ff', weight: 1, fillOpacity: 0.3 }
  }).addTo(map));

اعمال سبک بر اساس ویژگی‌ها

GeoJSON خروجی‌گرفته‌شده از osm2cdr.ru برچسب‌های OSM را حفظ می‌کند: highway، building، amenity، natural و دیگران. این امکان را می‌دهد عناصر را بر اساس نوع سبک‌دهی کنید:

L.geoJSON(data, {
  style: function(feature) {
    if (feature.properties.building) return { color: '#e74c3c' };
    if (feature.properties.natural === 'water') return { color: '#3498db' };
    return { color: '#95a5a6' };
  }
});

بهینه‌سازی برای داده‌های بزرگ

GeoJSON برای نواحی کوچک و متوسط (تا ۵۰ کیلومتر²) عالی کار می‌کند. برای پهنه‌های بزرگ:

ابزارهای کار با GeoJSON

← همهٔ راهنماها