/// <summary> /// Get information about species observations that has /// changed. /// /// Scope is restricted to those observations that the /// user has access rights to. There is no access right /// check on deleted species observations. This means /// that a client can obtain information about deleted /// species observations that the client has not /// received any create or update information about. /// /// Max 25000 species observation changes can be /// retrieved in one web service call. /// Exactly one of the parameters changedFrom and /// changeId should be specified. /// </summary> /// <param name="clientInformation">Information about the client that makes this web service call.</param> /// <param name="changedFrom">Start date and time for changes that should be returned.</param> /// <param name="isChangedFromSpecified">Indicates if parameter changedFrom should be used.</param> /// <param name="changedTo"> /// End date and time for changes that should be /// returned. Parameter changedTo is optional and works /// with either parameter changedFrom or changeId. /// </param> /// <param name="isChangedToSpecified">Indicates if parameter changedTo should be used.</param> /// <param name="changeId"> /// Start id for changes that should be returned. /// The species observation that is changed in the /// specified change id may be included in returned /// information. /// </param> /// <param name="isChangedIdSpecified">Indicates if parameter changeId should be used. </param> /// <param name="maxReturnedChanges"> /// Requested maximum number of changes that should /// be returned. This property is used by the client /// to avoid problems with resource limitations on /// the client side. /// Max 25000 changes are returned if property /// maxChanges has a higher value than 25000. /// </param> /// <param name="searchCriteria"> /// Only species observations that matches the search /// criteria are included in the returned information. /// This parameter is optional and may be null. /// There is no check on search criteria for /// deleted species observations. </param> /// <param name="coordinateSystem">Coordinate system used in returned species observations. </param> /// <param name="speciesObservationSpecification"> /// Specify which subset of the data that should be /// returned for each species observation. /// All information for each species observation is /// returned if this parameter is null. /// This parameter is currently not used. /// </param> /// <returns> /// Information about changed species observations. /// </returns> public WebSpeciesObservationChange GetSpeciesObservationChange(WebClientInformation clientInformation, DateTime changedFrom, Boolean isChangedFromSpecified, DateTime changedTo, Boolean isChangedToSpecified, Int64 changeId, Boolean isChangedIdSpecified, Int64 maxReturnedChanges, WebSpeciesObservationSearchCriteria searchCriteria, WebCoordinateSystem coordinateSystem, WebSpeciesObservationSpecification speciesObservationSpecification) { using (ClientProxy client = new ClientProxy(this, 5)) { return(client.Client.GetSpeciesObservationChange(clientInformation, changedFrom, isChangedFromSpecified, changedTo, isChangedToSpecified, changeId, isChangedIdSpecified, maxReturnedChanges, searchCriteria, coordinateSystem, speciesObservationSpecification)); } }
/// <summary> /// Get requested species observations. /// Scope is restricted to those observations /// that the user has access rights to. /// Species observations are returned in a format /// that is compatible with Darwin Core 1.5. /// Max 25000 observations with information /// can be retrieved in one call. /// </summary> /// <param name="clientInformation">Information about the client that makes this web service call.</param> /// <param name="speciesObservationIds">Id for species observations to get.</param> /// <param name="coordinateSystem"> /// Coordinate system used in returned species observations. /// </param> /// <param name="speciesObservationSpecification"> /// Specify which subset of the data that should be /// returned for each species observation. /// All information for each species observation is /// returned if this parameter is null. /// This parameter is currently not used. /// </param> /// <returns>Species observations.</returns> public WebSpeciesObservationInformation GetSpeciesObservationsByIds(WebClientInformation clientInformation, List <Int64> speciesObservationIds, WebCoordinateSystem coordinateSystem, WebSpeciesObservationSpecification speciesObservationSpecification) { using (ClientProxy client = new ClientProxy(this, 5)) { return(client.Client.GetSpeciesObservationsByIds(clientInformation, speciesObservationIds, coordinateSystem, speciesObservationSpecification)); } }
/// <summary> /// Check that data is valid. /// </summary> /// <param name="speciesObservationSpecification">Species observation specification.</param> public static void CheckData(this WebSpeciesObservationSpecification speciesObservationSpecification) { if (speciesObservationSpecification.IsNotNull() && speciesObservationSpecification.Fields.IsNotEmpty()) { foreach (WebSpeciesObservationFieldSpecification fieldSpecification in speciesObservationSpecification.Fields) { fieldSpecification.CheckNotNull("fieldSpecification"); fieldSpecification.CheckData(); } } }
/// <summary> /// Get information about species observations /// that matches the search criteria. /// This method provides paging functionality of the result. /// Max page size is 10000 species observations. /// Scope is restricted to those observations /// that the user has access rights to. /// </summary> /// <param name="clientInformation">Information about the client that makes this web service call.</param> /// <param name="searchCriteria">The species observation search criteria.</param> /// <param name="coordinateSystem"> /// Coordinate system used in geometry search criteria /// and returned species observations. /// </param> /// <param name="pageSpecification"> /// SpecificationId of paging information when /// species observations are retrieved. /// </param> /// <param name="speciesObservationSpecification"> /// Specify which subset of the data that should be /// returned for each species observation. /// All information for each species observation is /// returned if this parameter is null. /// This parameter is currently not used. /// </param> /// <returns>Information about requested species observations.</returns> public List <WebSpeciesObservation> GetSpeciesObservationsBySearchCriteriaPage(WebClientInformation clientInformation, WebSpeciesObservationSearchCriteria searchCriteria, WebCoordinateSystem coordinateSystem, WebSpeciesObservationPageSpecification pageSpecification, WebSpeciesObservationSpecification speciesObservationSpecification) { using (ClientProxy client = new ClientProxy(this, 5)) { return(client.Client.GetSpeciesObservationsBySearchCriteriaPage(clientInformation, searchCriteria, coordinateSystem, pageSpecification, speciesObservationSpecification)); } }
/// <summary> /// Get information about species observations /// that matches the search criteria. /// Max 25000 observations with information /// can be retrieved in one call. /// Max 1000000 observation ids can be retrieved in one call. /// </summary> /// <param name="clientInformation">Information about the client that makes this web service call.</param> /// <param name="searchCriteria">Species observation search criteria.</param> /// <param name="coordinateSystem">Coordinate system used in geometry search criteria /// and returned species observations. </param> /// <param name="speciesObservationSpecification"> /// Specify which subset of the data that should be /// returned for each species observation. /// All information for each species observation is /// returned if this parameter is null. /// </param> /// <param name="sortOrder"> /// Defines how species observations should be sorted. /// This parameter is optional. Random order is used /// if no sort order has been specified. /// This parameter is currently not used. /// </param> /// <returns>Information about requested species observations.</returns> public WebSpeciesObservationInformation GetSpeciesObservationsBySearchCriteria(WebClientInformation clientInformation, WebSpeciesObservationSearchCriteria searchCriteria, WebCoordinateSystem coordinateSystem, WebSpeciesObservationSpecification speciesObservationSpecification, List <WebSpeciesObservationFieldSortOrder> sortOrder) { using (ClientProxy client = new ClientProxy(this, 5)) { return(client.Client.GetSpeciesObservationsBySearchCriteria(clientInformation, searchCriteria, coordinateSystem, speciesObservationSpecification, sortOrder)); } }
/// <summary> /// Get sum of the fields that are defined in property Fields /// or property Specification. /// </summary> /// <param name="speciesObservationSpecification">Species observation specification.</param> public static List <WebSpeciesObservationFieldSpecification> GetFields(this WebSpeciesObservationSpecification speciesObservationSpecification) { List <WebSpeciesObservationFieldSpecification> fieldSpecifications; fieldSpecifications = new List <WebSpeciesObservationFieldSpecification>(); if (speciesObservationSpecification.IsNotNull()) { fieldSpecifications.Merge(speciesObservationSpecification.Fields); switch (speciesObservationSpecification.Specification) { case SpeciesObservationSpecificationId.All: // No field specifications is the same as all fields. fieldSpecifications = new List <WebSpeciesObservationFieldSpecification>(); break; case SpeciesObservationSpecificationId.DarwinCore: fieldSpecifications.Merge(SpeciesObservationClassId.Conservation, SpeciesObservationPropertyId.ActionPlan); fieldSpecifications.Merge(SpeciesObservationClassId.Conservation, SpeciesObservationPropertyId.ConservationRelevant); fieldSpecifications.Merge(SpeciesObservationClassId.Conservation, SpeciesObservationPropertyId.Natura2000); fieldSpecifications.Merge(SpeciesObservationClassId.Conservation, SpeciesObservationPropertyId.ProtectedByLaw); fieldSpecifications.Merge(SpeciesObservationClassId.Conservation, SpeciesObservationPropertyId.ProtectionLevel); fieldSpecifications.Merge(SpeciesObservationClassId.Conservation, SpeciesObservationPropertyId.RedlistCategory); fieldSpecifications.Merge(SpeciesObservationClassId.Conservation, SpeciesObservationPropertyId.SwedishImmigrationHistory); fieldSpecifications.Merge(SpeciesObservationClassId.Conservation, SpeciesObservationPropertyId.SwedishOccurrence); fieldSpecifications.Merge(SpeciesObservationClassId.DarwinCore, SpeciesObservationPropertyId.AccessRights); fieldSpecifications.Merge(SpeciesObservationClassId.DarwinCore, SpeciesObservationPropertyId.BasisOfRecord); fieldSpecifications.Merge(SpeciesObservationClassId.DarwinCore, SpeciesObservationPropertyId.BibliographicCitation); fieldSpecifications.Merge(SpeciesObservationClassId.DarwinCore, SpeciesObservationPropertyId.CollectionCode); fieldSpecifications.Merge(SpeciesObservationClassId.DarwinCore, SpeciesObservationPropertyId.CollectionID); fieldSpecifications.Merge(SpeciesObservationClassId.DarwinCore, SpeciesObservationPropertyId.DataGeneralizations); fieldSpecifications.Merge(SpeciesObservationClassId.DarwinCore, SpeciesObservationPropertyId.DatasetID); fieldSpecifications.Merge(SpeciesObservationClassId.DarwinCore, SpeciesObservationPropertyId.DatasetName); fieldSpecifications.Merge(SpeciesObservationClassId.DarwinCore, SpeciesObservationPropertyId.DynamicProperties); fieldSpecifications.Merge(SpeciesObservationClassId.DarwinCore, SpeciesObservationPropertyId.Id); fieldSpecifications.Merge(SpeciesObservationClassId.DarwinCore, SpeciesObservationPropertyId.InformationWithheld); fieldSpecifications.Merge(SpeciesObservationClassId.DarwinCore, SpeciesObservationPropertyId.InstitutionCode); fieldSpecifications.Merge(SpeciesObservationClassId.DarwinCore, SpeciesObservationPropertyId.InstitutionID); fieldSpecifications.Merge(SpeciesObservationClassId.DarwinCore, SpeciesObservationPropertyId.Language); fieldSpecifications.Merge(SpeciesObservationClassId.DarwinCore, SpeciesObservationPropertyId.Modified); fieldSpecifications.Merge(SpeciesObservationClassId.DarwinCore, SpeciesObservationPropertyId.Owner); fieldSpecifications.Merge(SpeciesObservationClassId.DarwinCore, SpeciesObservationPropertyId.OwnerInstitutionCode); fieldSpecifications.Merge(SpeciesObservationClassId.DarwinCore, SpeciesObservationPropertyId.References); fieldSpecifications.Merge(SpeciesObservationClassId.DarwinCore, SpeciesObservationPropertyId.ReportedBy); fieldSpecifications.Merge(SpeciesObservationClassId.DarwinCore, SpeciesObservationPropertyId.ReportedDate); fieldSpecifications.Merge(SpeciesObservationClassId.DarwinCore, SpeciesObservationPropertyId.Rights); fieldSpecifications.Merge(SpeciesObservationClassId.DarwinCore, SpeciesObservationPropertyId.RightsHolder); fieldSpecifications.Merge(SpeciesObservationClassId.DarwinCore, SpeciesObservationPropertyId.SpeciesObservationURL); fieldSpecifications.Merge(SpeciesObservationClassId.DarwinCore, SpeciesObservationPropertyId.Type); fieldSpecifications.Merge(SpeciesObservationClassId.DarwinCore, SpeciesObservationPropertyId.ValidationStatus); fieldSpecifications.Merge(SpeciesObservationClassId.Event, SpeciesObservationPropertyId.Day); fieldSpecifications.Merge(SpeciesObservationClassId.Event, SpeciesObservationPropertyId.End); fieldSpecifications.Merge(SpeciesObservationClassId.Event, SpeciesObservationPropertyId.EndDayOfYear); fieldSpecifications.Merge(SpeciesObservationClassId.Event, SpeciesObservationPropertyId.EventDate); fieldSpecifications.Merge(SpeciesObservationClassId.Event, SpeciesObservationPropertyId.EventID); fieldSpecifications.Merge(SpeciesObservationClassId.Event, SpeciesObservationPropertyId.EventRemarks); fieldSpecifications.Merge(SpeciesObservationClassId.Event, SpeciesObservationPropertyId.EventTime); fieldSpecifications.Merge(SpeciesObservationClassId.Event, SpeciesObservationPropertyId.FieldNotes); fieldSpecifications.Merge(SpeciesObservationClassId.Event, SpeciesObservationPropertyId.FieldNumber); fieldSpecifications.Merge(SpeciesObservationClassId.Event, SpeciesObservationPropertyId.Habitat); fieldSpecifications.Merge(SpeciesObservationClassId.Event, SpeciesObservationPropertyId.Month); fieldSpecifications.Merge(SpeciesObservationClassId.Event, SpeciesObservationPropertyId.SamplingEffort); fieldSpecifications.Merge(SpeciesObservationClassId.Event, SpeciesObservationPropertyId.SamplingProtocol); fieldSpecifications.Merge(SpeciesObservationClassId.Event, SpeciesObservationPropertyId.Start); fieldSpecifications.Merge(SpeciesObservationClassId.Event, SpeciesObservationPropertyId.StartDayOfYear); fieldSpecifications.Merge(SpeciesObservationClassId.Event, SpeciesObservationPropertyId.VerbatimEventDate); fieldSpecifications.Merge(SpeciesObservationClassId.Event, SpeciesObservationPropertyId.Year); fieldSpecifications.Merge(SpeciesObservationClassId.GeologicalContext, SpeciesObservationPropertyId.Bed); fieldSpecifications.Merge(SpeciesObservationClassId.GeologicalContext, SpeciesObservationPropertyId.EarliestAgeOrLowestStage); fieldSpecifications.Merge(SpeciesObservationClassId.GeologicalContext, SpeciesObservationPropertyId.EarliestEonOrLowestEonothem); fieldSpecifications.Merge(SpeciesObservationClassId.GeologicalContext, SpeciesObservationPropertyId.EarliestEpochOrLowestSeries); fieldSpecifications.Merge(SpeciesObservationClassId.GeologicalContext, SpeciesObservationPropertyId.EarliestEraOrLowestErathem); fieldSpecifications.Merge(SpeciesObservationClassId.GeologicalContext, SpeciesObservationPropertyId.EarliestPeriodOrLowestSystem); fieldSpecifications.Merge(SpeciesObservationClassId.GeologicalContext, SpeciesObservationPropertyId.Formation); fieldSpecifications.Merge(SpeciesObservationClassId.GeologicalContext, SpeciesObservationPropertyId.GeologicalContextID); fieldSpecifications.Merge(SpeciesObservationClassId.GeologicalContext, SpeciesObservationPropertyId.Group); fieldSpecifications.Merge(SpeciesObservationClassId.GeologicalContext, SpeciesObservationPropertyId.HighestBiostratigraphicZone); fieldSpecifications.Merge(SpeciesObservationClassId.GeologicalContext, SpeciesObservationPropertyId.LatestAgeOrHighestStage); fieldSpecifications.Merge(SpeciesObservationClassId.GeologicalContext, SpeciesObservationPropertyId.LatestEonOrHighestEonothem); fieldSpecifications.Merge(SpeciesObservationClassId.GeologicalContext, SpeciesObservationPropertyId.LatestEpochOrHighestSeries); fieldSpecifications.Merge(SpeciesObservationClassId.GeologicalContext, SpeciesObservationPropertyId.LatestEraOrHighestErathem); fieldSpecifications.Merge(SpeciesObservationClassId.GeologicalContext, SpeciesObservationPropertyId.LatestPeriodOrHighestSystem); fieldSpecifications.Merge(SpeciesObservationClassId.GeologicalContext, SpeciesObservationPropertyId.LithostratigraphicTerms); fieldSpecifications.Merge(SpeciesObservationClassId.GeologicalContext, SpeciesObservationPropertyId.LowestBiostratigraphicZone); fieldSpecifications.Merge(SpeciesObservationClassId.GeologicalContext, SpeciesObservationPropertyId.Member); fieldSpecifications.Merge(SpeciesObservationClassId.Identification, SpeciesObservationPropertyId.DateIdentified); fieldSpecifications.Merge(SpeciesObservationClassId.Identification, SpeciesObservationPropertyId.IdentificationID); fieldSpecifications.Merge(SpeciesObservationClassId.Identification, SpeciesObservationPropertyId.IdentificationQualifier); fieldSpecifications.Merge(SpeciesObservationClassId.Identification, SpeciesObservationPropertyId.IdentificationReferences); fieldSpecifications.Merge(SpeciesObservationClassId.Identification, SpeciesObservationPropertyId.IdentificationRemarks); fieldSpecifications.Merge(SpeciesObservationClassId.Identification, SpeciesObservationPropertyId.IdentificationVerificationStatus); fieldSpecifications.Merge(SpeciesObservationClassId.Identification, SpeciesObservationPropertyId.IdentifiedBy); fieldSpecifications.Merge(SpeciesObservationClassId.Identification, SpeciesObservationPropertyId.TypeStatus); fieldSpecifications.Merge(SpeciesObservationClassId.Identification, SpeciesObservationPropertyId.UncertainDetermination); fieldSpecifications.Merge(SpeciesObservationClassId.Location, SpeciesObservationPropertyId.Continent); fieldSpecifications.Merge(SpeciesObservationClassId.Location, SpeciesObservationPropertyId.CoordinateM); fieldSpecifications.Merge(SpeciesObservationClassId.Location, SpeciesObservationPropertyId.CoordinatePrecision); fieldSpecifications.Merge(SpeciesObservationClassId.Location, SpeciesObservationPropertyId.CoordinateSystemWkt); fieldSpecifications.Merge(SpeciesObservationClassId.Location, SpeciesObservationPropertyId.CoordinateUncertaintyInMeters); fieldSpecifications.Merge(SpeciesObservationClassId.Location, SpeciesObservationPropertyId.CoordinateX); fieldSpecifications.Merge(SpeciesObservationClassId.Location, SpeciesObservationPropertyId.CoordinateY); fieldSpecifications.Merge(SpeciesObservationClassId.Location, SpeciesObservationPropertyId.CoordinateZ); fieldSpecifications.Merge(SpeciesObservationClassId.Location, SpeciesObservationPropertyId.Country); fieldSpecifications.Merge(SpeciesObservationClassId.Location, SpeciesObservationPropertyId.CountryCode); fieldSpecifications.Merge(SpeciesObservationClassId.Location, SpeciesObservationPropertyId.County); fieldSpecifications.Merge(SpeciesObservationClassId.Location, SpeciesObservationPropertyId.DecimalLatitude); fieldSpecifications.Merge(SpeciesObservationClassId.Location, SpeciesObservationPropertyId.DecimalLongitude); fieldSpecifications.Merge(SpeciesObservationClassId.Location, SpeciesObservationPropertyId.FootprintSpatialFit); fieldSpecifications.Merge(SpeciesObservationClassId.Location, SpeciesObservationPropertyId.FootprintSRS); fieldSpecifications.Merge(SpeciesObservationClassId.Location, SpeciesObservationPropertyId.FootprintWKT); fieldSpecifications.Merge(SpeciesObservationClassId.Location, SpeciesObservationPropertyId.GeodeticDatum); fieldSpecifications.Merge(SpeciesObservationClassId.Location, SpeciesObservationPropertyId.GeoreferencedBy); fieldSpecifications.Merge(SpeciesObservationClassId.Location, SpeciesObservationPropertyId.GeoreferencedDate); fieldSpecifications.Merge(SpeciesObservationClassId.Location, SpeciesObservationPropertyId.GeoreferenceProtocol); fieldSpecifications.Merge(SpeciesObservationClassId.Location, SpeciesObservationPropertyId.GeoreferenceRemarks); fieldSpecifications.Merge(SpeciesObservationClassId.Location, SpeciesObservationPropertyId.GeoreferenceSources); fieldSpecifications.Merge(SpeciesObservationClassId.Location, SpeciesObservationPropertyId.GeoreferenceVerificationStatus); fieldSpecifications.Merge(SpeciesObservationClassId.Location, SpeciesObservationPropertyId.HigherGeography); fieldSpecifications.Merge(SpeciesObservationClassId.Location, SpeciesObservationPropertyId.HigherGeographyID); fieldSpecifications.Merge(SpeciesObservationClassId.Location, SpeciesObservationPropertyId.Island); fieldSpecifications.Merge(SpeciesObservationClassId.Location, SpeciesObservationPropertyId.IslandGroup); fieldSpecifications.Merge(SpeciesObservationClassId.Location, SpeciesObservationPropertyId.Locality); fieldSpecifications.Merge(SpeciesObservationClassId.Location, SpeciesObservationPropertyId.LocationAccordingTo); fieldSpecifications.Merge(SpeciesObservationClassId.Location, SpeciesObservationPropertyId.LocationId); fieldSpecifications.Merge(SpeciesObservationClassId.Location, SpeciesObservationPropertyId.LocationRemarks); fieldSpecifications.Merge(SpeciesObservationClassId.Location, SpeciesObservationPropertyId.LocationURL); fieldSpecifications.Merge(SpeciesObservationClassId.Location, SpeciesObservationPropertyId.MaximumDepthInMeters); fieldSpecifications.Merge(SpeciesObservationClassId.Location, SpeciesObservationPropertyId.MaximumDistanceAboveSurfaceInMeters); fieldSpecifications.Merge(SpeciesObservationClassId.Location, SpeciesObservationPropertyId.MaximumElevationInMeters); fieldSpecifications.Merge(SpeciesObservationClassId.Location, SpeciesObservationPropertyId.MinimumDepthInMeters); fieldSpecifications.Merge(SpeciesObservationClassId.Location, SpeciesObservationPropertyId.MinimumDistanceAboveSurfaceInMeters); fieldSpecifications.Merge(SpeciesObservationClassId.Location, SpeciesObservationPropertyId.MinimumElevationInMeters); fieldSpecifications.Merge(SpeciesObservationClassId.Location, SpeciesObservationPropertyId.Municipality); fieldSpecifications.Merge(SpeciesObservationClassId.Location, SpeciesObservationPropertyId.Parish); fieldSpecifications.Merge(SpeciesObservationClassId.Location, SpeciesObservationPropertyId.PointRadiusSpatialFit); fieldSpecifications.Merge(SpeciesObservationClassId.Location, SpeciesObservationPropertyId.StateProvince); fieldSpecifications.Merge(SpeciesObservationClassId.Location, SpeciesObservationPropertyId.VerbatimCoordinates); fieldSpecifications.Merge(SpeciesObservationClassId.Location, SpeciesObservationPropertyId.VerbatimCoordinateSystem); fieldSpecifications.Merge(SpeciesObservationClassId.Location, SpeciesObservationPropertyId.VerbatimDepth); fieldSpecifications.Merge(SpeciesObservationClassId.Location, SpeciesObservationPropertyId.VerbatimElevation); fieldSpecifications.Merge(SpeciesObservationClassId.Location, SpeciesObservationPropertyId.VerbatimLatitude); fieldSpecifications.Merge(SpeciesObservationClassId.Location, SpeciesObservationPropertyId.VerbatimLocality); fieldSpecifications.Merge(SpeciesObservationClassId.Location, SpeciesObservationPropertyId.VerbatimLongitude); fieldSpecifications.Merge(SpeciesObservationClassId.Location, SpeciesObservationPropertyId.VerbatimSRS); fieldSpecifications.Merge(SpeciesObservationClassId.Location, SpeciesObservationPropertyId.WaterBody); fieldSpecifications.Merge(SpeciesObservationClassId.MeasurementOrFact, SpeciesObservationPropertyId.MeasurementAccuracy); fieldSpecifications.Merge(SpeciesObservationClassId.MeasurementOrFact, SpeciesObservationPropertyId.MeasurementDeterminedBy); fieldSpecifications.Merge(SpeciesObservationClassId.MeasurementOrFact, SpeciesObservationPropertyId.MeasurementDeterminedDate); fieldSpecifications.Merge(SpeciesObservationClassId.MeasurementOrFact, SpeciesObservationPropertyId.MeasurementID); fieldSpecifications.Merge(SpeciesObservationClassId.MeasurementOrFact, SpeciesObservationPropertyId.MeasurementMethod); fieldSpecifications.Merge(SpeciesObservationClassId.MeasurementOrFact, SpeciesObservationPropertyId.MeasurementRemarks); fieldSpecifications.Merge(SpeciesObservationClassId.MeasurementOrFact, SpeciesObservationPropertyId.MeasurementType); fieldSpecifications.Merge(SpeciesObservationClassId.MeasurementOrFact, SpeciesObservationPropertyId.MeasurementUnit); fieldSpecifications.Merge(SpeciesObservationClassId.MeasurementOrFact, SpeciesObservationPropertyId.MeasurementValue); fieldSpecifications.Merge(SpeciesObservationClassId.Occurrence, SpeciesObservationPropertyId.AssociatedMedia); fieldSpecifications.Merge(SpeciesObservationClassId.Occurrence, SpeciesObservationPropertyId.AssociatedOccurrences); fieldSpecifications.Merge(SpeciesObservationClassId.Occurrence, SpeciesObservationPropertyId.AssociatedReferences); fieldSpecifications.Merge(SpeciesObservationClassId.Occurrence, SpeciesObservationPropertyId.AssociatedSequences); fieldSpecifications.Merge(SpeciesObservationClassId.Occurrence, SpeciesObservationPropertyId.AssociatedTaxa); fieldSpecifications.Merge(SpeciesObservationClassId.Occurrence, SpeciesObservationPropertyId.Behavior); fieldSpecifications.Merge(SpeciesObservationClassId.Occurrence, SpeciesObservationPropertyId.CatalogNumber); fieldSpecifications.Merge(SpeciesObservationClassId.Occurrence, SpeciesObservationPropertyId.Disposition); fieldSpecifications.Merge(SpeciesObservationClassId.Occurrence, SpeciesObservationPropertyId.EstablishmentMeans); fieldSpecifications.Merge(SpeciesObservationClassId.Occurrence, SpeciesObservationPropertyId.IndividualCount); fieldSpecifications.Merge(SpeciesObservationClassId.Occurrence, SpeciesObservationPropertyId.IndividualID); fieldSpecifications.Merge(SpeciesObservationClassId.Occurrence, SpeciesObservationPropertyId.IsNaturalOccurrence); fieldSpecifications.Merge(SpeciesObservationClassId.Occurrence, SpeciesObservationPropertyId.IsNeverFoundObservation); fieldSpecifications.Merge(SpeciesObservationClassId.Occurrence, SpeciesObservationPropertyId.IsNotRediscoveredObservation); fieldSpecifications.Merge(SpeciesObservationClassId.Occurrence, SpeciesObservationPropertyId.IsPositiveObservation); fieldSpecifications.Merge(SpeciesObservationClassId.Occurrence, SpeciesObservationPropertyId.LifeStage); fieldSpecifications.Merge(SpeciesObservationClassId.Occurrence, SpeciesObservationPropertyId.OccurrenceID); fieldSpecifications.Merge(SpeciesObservationClassId.Occurrence, SpeciesObservationPropertyId.OccurrenceRemarks); fieldSpecifications.Merge(SpeciesObservationClassId.Occurrence, SpeciesObservationPropertyId.OccurrenceStatus); fieldSpecifications.Merge(SpeciesObservationClassId.Occurrence, SpeciesObservationPropertyId.OccurrenceURL); fieldSpecifications.Merge(SpeciesObservationClassId.Occurrence, SpeciesObservationPropertyId.OtherCatalogNumbers); fieldSpecifications.Merge(SpeciesObservationClassId.Occurrence, SpeciesObservationPropertyId.Preparations); fieldSpecifications.Merge(SpeciesObservationClassId.Occurrence, SpeciesObservationPropertyId.PreviousIdentifications); fieldSpecifications.Merge(SpeciesObservationClassId.Occurrence, SpeciesObservationPropertyId.Quantity); fieldSpecifications.Merge(SpeciesObservationClassId.Occurrence, SpeciesObservationPropertyId.QuantityUnit); fieldSpecifications.Merge(SpeciesObservationClassId.Occurrence, SpeciesObservationPropertyId.RecordedBy); fieldSpecifications.Merge(SpeciesObservationClassId.Occurrence, SpeciesObservationPropertyId.RecordNumber); fieldSpecifications.Merge(SpeciesObservationClassId.Occurrence, SpeciesObservationPropertyId.ReportedBy); fieldSpecifications.Merge(SpeciesObservationClassId.Occurrence, SpeciesObservationPropertyId.ReproductiveCondition); fieldSpecifications.Merge(SpeciesObservationClassId.Occurrence, SpeciesObservationPropertyId.Sex); fieldSpecifications.Merge(SpeciesObservationClassId.Occurrence, SpeciesObservationPropertyId.Substrate); fieldSpecifications.Merge(SpeciesObservationClassId.Project, SpeciesObservationPropertyId.IsPublic); fieldSpecifications.Merge(SpeciesObservationClassId.Project, SpeciesObservationPropertyId.ProjectCategory); fieldSpecifications.Merge(SpeciesObservationClassId.Project, SpeciesObservationPropertyId.ProjectDescription); fieldSpecifications.Merge(SpeciesObservationClassId.Project, SpeciesObservationPropertyId.ProjectEndDate); fieldSpecifications.Merge(SpeciesObservationClassId.Project, SpeciesObservationPropertyId.ProjectID); fieldSpecifications.Merge(SpeciesObservationClassId.Project, SpeciesObservationPropertyId.ProjectName); fieldSpecifications.Merge(SpeciesObservationClassId.Project, SpeciesObservationPropertyId.ProjectOwner); fieldSpecifications.Merge(SpeciesObservationClassId.Project, SpeciesObservationPropertyId.ProjectStartDate); fieldSpecifications.Merge(SpeciesObservationClassId.Project, SpeciesObservationPropertyId.ProjectURL); fieldSpecifications.Merge(SpeciesObservationClassId.Project, SpeciesObservationPropertyId.SurveyMethod); fieldSpecifications.Merge(SpeciesObservationClassId.ResourceRelationship, SpeciesObservationPropertyId.RelatedResourceID); fieldSpecifications.Merge(SpeciesObservationClassId.ResourceRelationship, SpeciesObservationPropertyId.RelationshipAccordingTo); fieldSpecifications.Merge(SpeciesObservationClassId.ResourceRelationship, SpeciesObservationPropertyId.RelationshipEstablishedDate); fieldSpecifications.Merge(SpeciesObservationClassId.ResourceRelationship, SpeciesObservationPropertyId.RelationshipOfResource); fieldSpecifications.Merge(SpeciesObservationClassId.ResourceRelationship, SpeciesObservationPropertyId.RelationshipRemarks); fieldSpecifications.Merge(SpeciesObservationClassId.ResourceRelationship, SpeciesObservationPropertyId.ResourceID); fieldSpecifications.Merge(SpeciesObservationClassId.ResourceRelationship, SpeciesObservationPropertyId.ResourceRelationshipID); fieldSpecifications.Merge(SpeciesObservationClassId.Taxon, SpeciesObservationPropertyId.AcceptedNameUsage); fieldSpecifications.Merge(SpeciesObservationClassId.Taxon, SpeciesObservationPropertyId.AcceptedNameUsageID); fieldSpecifications.Merge(SpeciesObservationClassId.Taxon, SpeciesObservationPropertyId.Class); fieldSpecifications.Merge(SpeciesObservationClassId.Taxon, SpeciesObservationPropertyId.DyntaxaTaxonID); fieldSpecifications.Merge(SpeciesObservationClassId.Taxon, SpeciesObservationPropertyId.Family); fieldSpecifications.Merge(SpeciesObservationClassId.Taxon, SpeciesObservationPropertyId.Genus); fieldSpecifications.Merge(SpeciesObservationClassId.Taxon, SpeciesObservationPropertyId.HigherClassification); fieldSpecifications.Merge(SpeciesObservationClassId.Taxon, SpeciesObservationPropertyId.InfraspecificEpithet); fieldSpecifications.Merge(SpeciesObservationClassId.Taxon, SpeciesObservationPropertyId.Kingdom); fieldSpecifications.Merge(SpeciesObservationClassId.Taxon, SpeciesObservationPropertyId.NameAccordingTo); fieldSpecifications.Merge(SpeciesObservationClassId.Taxon, SpeciesObservationPropertyId.NameAccordingToID); fieldSpecifications.Merge(SpeciesObservationClassId.Taxon, SpeciesObservationPropertyId.NamePublishedIn); fieldSpecifications.Merge(SpeciesObservationClassId.Taxon, SpeciesObservationPropertyId.NamePublishedInID); fieldSpecifications.Merge(SpeciesObservationClassId.Taxon, SpeciesObservationPropertyId.NamePublishedInYear); fieldSpecifications.Merge(SpeciesObservationClassId.Taxon, SpeciesObservationPropertyId.NomenclaturalCode); fieldSpecifications.Merge(SpeciesObservationClassId.Taxon, SpeciesObservationPropertyId.NomenclaturalStatus); fieldSpecifications.Merge(SpeciesObservationClassId.Taxon, SpeciesObservationPropertyId.Order); fieldSpecifications.Merge(SpeciesObservationClassId.Taxon, SpeciesObservationPropertyId.OrganismGroup); fieldSpecifications.Merge(SpeciesObservationClassId.Taxon, SpeciesObservationPropertyId.OriginalNameUsage); fieldSpecifications.Merge(SpeciesObservationClassId.Taxon, SpeciesObservationPropertyId.OriginalNameUsageID); fieldSpecifications.Merge(SpeciesObservationClassId.Taxon, SpeciesObservationPropertyId.ParentNameUsage); fieldSpecifications.Merge(SpeciesObservationClassId.Taxon, SpeciesObservationPropertyId.ParentNameUsageID); fieldSpecifications.Merge(SpeciesObservationClassId.Taxon, SpeciesObservationPropertyId.Phylum); fieldSpecifications.Merge(SpeciesObservationClassId.Taxon, SpeciesObservationPropertyId.ScientificName); fieldSpecifications.Merge(SpeciesObservationClassId.Taxon, SpeciesObservationPropertyId.ScientificNameAuthorship); fieldSpecifications.Merge(SpeciesObservationClassId.Taxon, SpeciesObservationPropertyId.ScientificNameID); fieldSpecifications.Merge(SpeciesObservationClassId.Taxon, SpeciesObservationPropertyId.SpecificEpithet); fieldSpecifications.Merge(SpeciesObservationClassId.Taxon, SpeciesObservationPropertyId.Subgenus); fieldSpecifications.Merge(SpeciesObservationClassId.Taxon, SpeciesObservationPropertyId.TaxonConceptID); fieldSpecifications.Merge(SpeciesObservationClassId.Taxon, SpeciesObservationPropertyId.TaxonConceptStatus); fieldSpecifications.Merge(SpeciesObservationClassId.Taxon, SpeciesObservationPropertyId.TaxonID); fieldSpecifications.Merge(SpeciesObservationClassId.Taxon, SpeciesObservationPropertyId.TaxonomicStatus); fieldSpecifications.Merge(SpeciesObservationClassId.Taxon, SpeciesObservationPropertyId.TaxonRank); fieldSpecifications.Merge(SpeciesObservationClassId.Taxon, SpeciesObservationPropertyId.TaxonRemarks); fieldSpecifications.Merge(SpeciesObservationClassId.Taxon, SpeciesObservationPropertyId.TaxonSortOrder); fieldSpecifications.Merge(SpeciesObservationClassId.Taxon, SpeciesObservationPropertyId.TaxonURL); fieldSpecifications.Merge(SpeciesObservationClassId.Taxon, SpeciesObservationPropertyId.VerbatimScientificName); fieldSpecifications.Merge(SpeciesObservationClassId.Taxon, SpeciesObservationPropertyId.VerbatimTaxonRank); fieldSpecifications.Merge(SpeciesObservationClassId.Taxon, SpeciesObservationPropertyId.VernacularName); break; case SpeciesObservationSpecificationId.MapMinimum: fieldSpecifications.Merge(SpeciesObservationClassId.DarwinCore, SpeciesObservationPropertyId.Id); fieldSpecifications.Merge(SpeciesObservationClassId.Location, SpeciesObservationPropertyId.CoordinateX); fieldSpecifications.Merge(SpeciesObservationClassId.Location, SpeciesObservationPropertyId.CoordinateY); break; case SpeciesObservationSpecificationId.None: // No field specifications to add. break; } } return(fieldSpecifications); }