شروع کار

مپتور به صورت مجموعه‌ای از بسته‌های نوگت با نام IRI.Maptor.* منتشر می‌شود. لایه‌ای را که نیاز دارید انتخاب کنید: هستهٔ مستقل از رابط کاربری برای هندسه و قالب‌ها، آداپتورهای زیرساخت برای پایگاه‌های داده، یا کنترل نقشهٔ WPF.

۱. نصب یک بسته

# موتور مکانی هسته: مدل هندسی، تحلیل، خواندن و نوشتن قالب‌ها
dotnet add package IRI.Maptor.Core.Spatial

# خواندن و نوشتن Shapefile
dotnet add package IRI.Maptor.Core.ShapefileFormat

# نمایشگر نقشه و کنترل‌های WPF (net8.0-windows)
dotnet add package IRI.Maptor.Presentation.Wpf

فهرست کامل، همراه با README هر کتابخانه، در صفحهٔ بسته‌ها آمده است.

۲. خواندن یک شیپ‌فایل و اندازه‌گیری

using IRI.Maptor.Core.ShapefileFormat;
using IRI.Maptor.Core.Spatial.Analysis;

var features = Shapefile.ReadAsFeature("roads.shp");

foreach (var feature in features)
{
    var length = SpatialUtility.GetSphericalLength(feature.TheGeometry);
    Console.WriteLine($"{feature.Id}: {length:N0} m");
}

۳. قرار دادن نقشه در یک پنجرهٔ WPF

کوچک‌ترین برنامهٔ کامل، نمونهٔ Hello map است — یک App.xaml که دیکشنری‌های منابع مپتور را ادغام می‌کند، یک MapViewer در پنجره، و چهار خط مقداردهی اولیه:

var presenter = new HelloMapViewModel();                       // زیرکلاس MapViewModelBase

presenter.InitializeSettings(ProxySettings.Default, BaseMapSettings.Default,
    new MapSettings { InitialExtent = BoundingBoxes.WebMercator_Europe }, GeneralSettings.Default);

await MapInitializationHelper.InitializeMapAsync(map, this, presenter);

DataContext = presenter;
presenter.SelectedMapProvider = TileMapProviderFactory.GoogleRoadMap;

پس از آن، گالری WPF در هر صفحه یک قابلیت را اضافه می‌کند: راهنمای نقشه، پنجرهٔ رفتن به مختصات، شناسایی عوارض، ترسیم، نشانگرها، اندازه‌گیری و بومی‌سازی.

۴. ساخت از روی کد منبع

git clone https://github.com/hosseinnarimanirad/Maptor.git
cd Maptor
dotnet build

به .NET 8 SDK نیاز دارد؛ پروژه‌های WPF فقط روی ویندوز ساخته می‌شوند.

قدم بعدی

  • بسته‌ها — همهٔ کتابخانه‌ها همراه با README.
  • نمونه‌ها — برنامه‌های قابل اجرا، هر کدام در یک پوشه.
  • گیت‌هاب — کد منبع، مسائل، انتشارها.