public virtual GeoJsonObject ConvertFeature(KmlFeature feature, IStyleProvider provider) { switch (feature) { case KmlDocument document: throw new NotImplementedException(); //return ConvertDocument(document, provider ?? document.StyleSelectors); case KmlFolder folder: return(ConvertFolder(folder, provider)); case KmlPlacemark placemark: return(ConvertPlacemark(placemark, provider)); default: throw new KmlException("Unsupported feature " + feature.GetType()); } }
protected virtual void ConvertFolder(KmlFolder folder, GeoJsonFeatureCollection collection, KmlFeature feature, IStyleProvider provider) { switch (feature) { case KmlPlacemark placemark: collection.Add(ConvertPlacemark(placemark, provider)); break; case KmlDocument document: // Why would you have a document in a folder? (although it seems legal according to the specification) case KmlFolder childFolder: // Why would you have folder in another folder? (although it seems legal according to the specification) default: throw new KmlException("Unsupported feature " + feature.GetType()); } }