private static void TileNorway() { var layer = new TiledVectorLayer("test2", WebMercator.BoundingBox1, 39135.75848201024 * 4); var store = new DiskTileStore(layer); store.Wipe(); var tiler = new VectorTiler(store, layer); var filename = FileLocator.FindFileInTree(@"data\norway.geojson"); FeatureCollection norway = JsonConvert.DeserializeObject <FeatureCollection>(File.ReadAllText(filename)); List <OmrådeMedGeometry> partOfNorway = new List <OmrådeMedGeometry>(); foreach (var feature in norway.Features) { partOfNorway.Add(new OmrådeMedGeometry(new Område(3581, AreaType.Land), DotSpatialGeometry.From(feature))); } foreach (var omg in partOfNorway) { omg.Område.Number = -5; } for (int zoom = 0; zoom < 6; zoom++) { foreach (OmrådeMedGeometry polygon in partOfNorway) { tiler.Update(polygon.Område, polygon.Geometry, zoom); } } }
public override void Execute(NinServiceContext context) { Values = SqlServer.GetAreaLayerValues(AreaType, Number); var layer = Config.Settings.Map.FindLayer(MapLayerName); var store = new Cache <VectorQuadTile>(new DiskTileStore(layer)); var tiler = new VectorTiler(store, layer); var areas = SqlServer.GetAreas(AreaType, 0, Number); ZoomFactor zf = layer.GetZoomFactors(AreaType); string allAffected = ""; foreach (var area in areas) { for (int zoom = zf.Minimum; zoom <= zf.Maximum; zoom++) { var distanceTolerance = layer.SimplificationToleranceAtZoom0 * Math.Pow(0.25, zoom); var fullRes = DotSpatialGeometry.From(area.Geometry); Geometry simpler = VectorTiler.Simplify(fullRes, distanceTolerance); if (simpler.IsEmpty) { continue; } var område = Map.Tiles.Geometri.Område.Fra(area); Log.v("TILE", $"Area type {område.Type} #{område.Number}: {fullRes.Coordinates.Count} => {simpler.Coordinates.Count} (zoom {zoom})"); var affected = tiler.Update(område, simpler, zoom); if (allAffected.Length > 0) { allAffected += ","; } allAffected += affected; } } Affected = allAffected; }
public TileToDisk() { var layer = new TiledVectorLayer("test2", WebMercator.BoundingBox1, 39135.75848201024 * 4); var store = new DiskTileStore(layer); store.Wipe(); tiler = new VectorTiler(store, layer); }
public TilePolygonTest() { var layer = new TiledVectorLayer("", bbox, 39135.75848201024 * 4) { TileOverlapRatio = 0 }; store = new TestTileStore(layer); tiler = new VectorTiler(store, layer); }
public TileRangeTest() { TiledVectorLayer layer = new TiledVectorLayer("", bbox, 39135.75848201024 * 4); tiler = new VectorTiler(new TestTileStore(layer), layer); }