شروع کار
مپتور به صورت مجموعهای از بستههای نوگت با نام 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 فقط روی ویندوز ساخته میشوند.