OptionalModelObject ReverseTranslator::translateSiteLocation( const WorkspaceObject & workspaceObject ) { if( workspaceObject.iddObject().type() != IddObjectType::Site_Location ) { LOG(Error, "WorkspaceObject is not IddObjectType: Site:Location"); return boost::none; } Site site = m_model.getUniqueModelObject<Site>(); OptionalString optS = workspaceObject.name(); if(optS) { site.setName(*optS); } OptionalDouble od = workspaceObject.getDouble(Site_LocationFields::Latitude); if(od) { site.setLatitude(*od); } od = workspaceObject.getDouble(Site_LocationFields::Longitude); if(od) { site.setLongitude(*od); } od = workspaceObject.getDouble(Site_LocationFields::TimeZone); if(od) { site.setTimeZone(*od); } od = workspaceObject.getDouble(Site_LocationFields::Elevation); if(od) { site.setElevation(*od); } return site; }