public static FeatureCollection ToGeoJSON(this VectorTileLayer vectortileLayer, int x, int y, int z)
        {
            var featureCollection = new FeatureCollection();

            foreach (var feature in vectortileLayer.VectorTileFeatures)
            {
                var geojsonFeature = feature.ToGeoJSON(x, y, z);
                if (geojsonFeature.Geometry != null)
                {
                    featureCollection.Features.Add(geojsonFeature);
                }
            }
            return(featureCollection);
        }
        public static List<VectorTileLayer> Parse(Stream stream)
        {
            var tile = Serializer.Deserialize<Tile>(stream);
            var list = new List<VectorTileLayer>();
            foreach (var layer in tile.Layers)
            {
                var extent = layer.Extent;
                var vectorTileLayer = new VectorTileLayer();
                vectorTileLayer.Name = layer.Name;
                vectorTileLayer.Version = layer.Version;
                vectorTileLayer.Extent = layer.Extent;

                foreach (var feature in layer.Features)
                {
                    var vectorTileFeature = FeatureParser.Parse(feature, layer.Keys, layer.Values, extent);
                    vectorTileLayer.VectorTileFeatures.Add(vectorTileFeature);
                }
                list.Add(vectorTileLayer);
            }
            return list;
        }
        public static List <VectorTileLayer> Parse(Stream stream)
        {
            var tile = Serializer.Deserialize <Tile>(stream);
            var list = new List <VectorTileLayer>();

            foreach (var layer in tile.Layers)
            {
                var extent          = layer.Extent;
                var vectorTileLayer = new VectorTileLayer();
                vectorTileLayer.Name    = layer.Name;
                vectorTileLayer.Version = layer.Version;
                vectorTileLayer.Extent  = layer.Extent;

                foreach (var feature in layer.Features)
                {
                    var vectorTileFeature = FeatureParser.Parse(feature, layer.Keys, layer.Values, extent);
                    vectorTileLayer.VectorTileFeatures.Add(vectorTileFeature);
                }
                list.Add(vectorTileLayer);
            }
            return(list);
        }