/// <summary> /// initialize a Gdal based raster layer /// </summary> /// <param name="name">Name of layer</param> /// <param name="path">location of image</param> public GdalRasterLayer(string name, string path) { base.Name = name; CustomRenderers.Clear(); CustomRenderers.Add(new GdalRenderer(this)); // add optimized custom gdal renderer if (path == null) { return; } var rasterFeatureProvider = new GdalFeatureProvider(); try { rasterFeatureProvider.Open(path); } catch (Exception e) { log.Error("Can't open raster file, path: " + path, e); } DataSource = rasterFeatureProvider; }
public NetworkCoverageLocationLayer() { //Coverage = coverage; renderer = new NetworkCoverageLocationRenderer(); DataSource = new NetworkCoverageFeatureCollection { NetworkCoverageFeatureType = NetworkCoverageFeatureType.Locations }; CustomRenderers.Add(renderer); }
public FeatureCoverageLayer(FeatureCoverageRenderer renderer) { featureCollection = new FeatureCollection(); // Use the VectorLayer with the custom featureRenderer to render this feature coverage (using values form the data store) Renderer = renderer; CustomRenderers.Add(renderer); AutoUpdateThemeOnDataSourceChanged = true; }
/// <summary> /// Called when [initialize]. /// </summary> internal void Init() { this.AppendRendererToName = this.settingsService.AutomaticallyAddRenderer; this.customRenderers = this.translator.Translate(this.settingsService.XamarinFormsCustomRenderersUri); if (this.customRenderers.Groups != null) { this.CustomRendererGroups = this.customRenderers.Groups.Select(customerRendererGroup => customerRendererGroup.Name).ToList(); } }
public NetworkCoverageSegmentLayer() { Name = "Cells"; DataSource = new NetworkCoverageFeatureCollection { NetworkCoverageFeatureType = NetworkCoverageFeatureType.Segments }; segmentRenderer = new NetworkCoverageSegmentRenderer(); CustomRenderers.Add(segmentRenderer); }
/// <summary> /// initialize a Gdal based raster layer /// </summary> /// <param name="name">Name of layer</param> /// <param name="path">location of image</param> public GdalRegularGridRasterLayer(string name, string path) { base.Name = name; var rasterFeatureProvider = new GdalFeatureProvider(); if (path != null) { rasterFeatureProvider.Open(path); } CustomRenderers.Clear(); CustomRenderers.Add(new RegularGridCoverageRenderer(this)); // add optimized custom gdal renderer DataSource = rasterFeatureProvider; }
/// <summary> /// initialize a Gdal based raster layer /// </summary> /// <param name="name">Name of layer</param> /// <param name="path">location of image</param> public GdalRasterLayer(string name, string path) { base.Name = name; CustomRenderers.Clear(); CustomRenderers.Add(new GdalRenderer(this)); // add optimized custom gdal renderer if (path == null) { return; } var rasterFeatureProvider = new GdalFeatureProvider(); rasterFeatureProvider.Open(path); DataSource = rasterFeatureProvider; FeatureEditor = new FeatureEditor(); }
public RegularGridCoverageLayer() { renderer = new RegularGridCoverageRenderer(this); CustomRenderers.Add(renderer); }
public virtual IEnumerable <IFeature> GetFeatures(IGeometry geometry, bool useCustomRenderers = true) { if (useCustomRenderers) { var customRenderer = CustomRenderers.FirstOrDefault(); if (customRenderer != null) { foreach (var feature in customRenderer.GetFeatures(geometry, this)) { yield return(feature); } yield break; } } var getAllMapFeatures = map == null || map.Envelope.Equals(geometry.EnvelopeInternal); // when all map features are asked - avoid time consuming geometry x geometry checks if (UseQuadTree) { var features = GetFeaturesUsingQuadTree(geometry.EnvelopeInternal); foreach (var feature in features) { // check if we're selecting subset of features, if so - use more robust intersection check (non-evelope based) if (!getAllMapFeatures) { // log.DebugFormat("Checking geometry intersection for feature: " + feature.Attributes["NAME"]); var g = feature.Geometry; if (CoordinateTransformation != null) { g = GeometryTransform.TransformGeometry(g, CoordinateTransformation.MathTransform); } if (g.Intersects(geometry)) { // log.DebugFormat("Intersected geometry found for feature: " + feature.Attributes["NAME"]); yield return(feature); } } else { yield return(feature); } } } else { var features = Enumerable.Empty <IFeature>(); var e = geometry.EnvelopeInternal; if (CoordinateTransformation != null) { // BUG: this will not work, migrate it features = DataSource.Features.Cast <IFeature>(); foreach (var feature in features) { var g = GeometryTransform.TransformGeometry(feature.Geometry, CoordinateTransformation.MathTransform); if (!g.EnvelopeInternal.Intersects(geometry.EnvelopeInternal)) { continue; } if (!getAllMapFeatures) { if (g.Intersects(geometry)) { yield return(feature); } } else { yield return(feature); } } } else { features = DataSource.Features.Cast <IFeature>().Where(feature => feature.Geometry != null && feature.Geometry.EnvelopeInternal.Intersects(e)); foreach (var feature in features) { if (!getAllMapFeatures) { if (feature.Geometry.Intersects(geometry)) { yield return(feature); } } else { yield return(feature); } } } } }
/// <summary> /// initialize a Gdal based raster layer /// </summary> /// <param name="name">Name of layer</param> /// <param name="path">location of image</param> public GdalRegularGridRasterLayer(string name, string path) : base(name, path) { CustomRenderers.Clear(); CustomRenderers.Add(new RegularGridCoverageRenderer(this)); // add optimized custom gdal renderer }
public NetworkCoverageSegmentLayer() { //Coverage = coverage; segmentRenderer = new NetworkCoverageSegmentRenderer(); CustomRenderers.Add(segmentRenderer); }