private static GpsPoint FromFeature(Feature feature) { if (feature == null) return null; if (!feature.IsEditing) feature.StartEditing(); var gpsPoint = new GpsPoint { Feature = feature }; gpsPoint.LoadAttributes(); GpsPoints[gpsPoint.Guid] = gpsPoint; return gpsPoint; }
private static Observation FromFeature(Feature feature) { if (feature == null) return null; if (!feature.IsEditing) feature.StartEditing(); var observation = new Observation { Feature = feature }; bool existing = observation.LoadAttributes(); Observations[observation.Guid] = observation; //load birdgroups. must becalled after updating Observations[], to avoid an infinite loop: obs->bird->obs->bird->... if (existing) observation.LoadBirdGroups(); return observation; }
private static BirdGroupFeature FromFeature(Feature feature) { if (feature == null) return null; if (!feature.IsEditing) feature.StartEditing(); var birdGroup = new BirdGroupFeature { Feature = feature }; birdGroup.LoadAttributes(); BirdGroups[birdGroup.Guid] = birdGroup; return birdGroup; }
private static TrackLog FromFeature(Feature feature) { if (feature == null) return null; if (!feature.IsEditing) feature.StartEditing(); feature.Geometry = new Polyline(); var trackLog = new TrackLog { Feature = feature }; trackLog.LoadAttributes(); TrackLogs[trackLog.Guid] = trackLog; return trackLog; }