diff --git a/Ravens.xcodeproj/project.pbxproj b/Ravens.xcodeproj/project.pbxproj index 1549faac..42e73fa7 100644 --- a/Ravens.xcodeproj/project.pbxproj +++ b/Ravens.xcodeproj/project.pbxproj @@ -13,6 +13,7 @@ 470411132BB2B87300A498F5 /* LocationManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 470411122BB2B87300A498F5 /* LocationManager.swift */; }; 47079EBE2BB9D81F003D2E11 /* ObsExtendedView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 47079EBD2BB9D81F003D2E11 /* ObsExtendedView.swift */; }; 470F112F2BB18C5E003FE0C0 /* GeoJSONViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 470F112E2BB18C5E003FE0C0 /* GeoJSONViewModel.swift */; }; + 471438BB2BBFD3AD00DF35DE /* ObsView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 471438BA2BBFD3AD00DF35DE /* ObsView.swift */; }; 4717C0BF2B9CC41400B570D0 /* YearView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4717C0BE2B9CC41400B570D0 /* YearView.swift */; }; 4725B9612BB14BD400F6F137 /* LocationIdViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4725B9602BB14BD400F6F137 /* LocationIdViewModel.swift */; }; 4725B9632BB14C2C00F6F137 /* LocationJSON.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4725B9622BB14C2C00F6F137 /* LocationJSON.swift */; }; @@ -26,10 +27,10 @@ 474C402E2B4BC4040038B3A5 /* ContentView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 474C402D2B4BC4040038B3A5 /* ContentView.swift */; }; 474C40302B4BC4080038B3A5 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 474C402F2B4BC4080038B3A5 /* Assets.xcassets */; }; 474C40332B4BC4080038B3A5 /* Preview Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 474C40322B4BC4080038B3A5 /* Preview Assets.xcassets */; }; - 474C403C2B4BC5070038B3A5 /* Bird.swift in Sources */ = {isa = PBXBuildFile; fileRef = 474C403B2B4BC5070038B3A5 /* Bird.swift */; }; - 474C403E2B4BC5400038B3A5 /* BirdViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 474C403D2B4BC5400038B3A5 /* BirdViewModel.swift */; }; + 474C403C2B4BC5070038B3A5 /* Species.swift in Sources */ = {isa = PBXBuildFile; fileRef = 474C403B2B4BC5070038B3A5 /* Species.swift */; }; + 474C403E2B4BC5400038B3A5 /* SpeciesViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 474C403D2B4BC5400038B3A5 /* SpeciesViewModel.swift */; }; 474C40412B4BC5780038B3A5 /* Alamofire in Frameworks */ = {isa = PBXBuildFile; productRef = 474C40402B4BC5780038B3A5 /* Alamofire */; }; - 474C40462B4BC66A0038B3A5 /* BirdView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 474C40452B4BC66A0038B3A5 /* BirdView.swift */; }; + 474C40462B4BC66A0038B3A5 /* SpeciesView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 474C40452B4BC66A0038B3A5 /* SpeciesView.swift */; }; 474C40482B4BCC6B0038B3A5 /* SpeciesDetails.swift in Sources */ = {isa = PBXBuildFile; fileRef = 474C40472B4BCC6B0038B3A5 /* SpeciesDetails.swift */; }; 474C404A2B4BCC920038B3A5 /* SpeciesDetailsViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 474C40492B4BCC920038B3A5 /* SpeciesDetailsViewModel.swift */; }; 474C404C2B4BCE340038B3A5 /* SpeciesDetailsView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 474C404B2B4BCE340038B3A5 /* SpeciesDetailsView.swift */; }; @@ -49,11 +50,10 @@ 474C408A2B4DAA110038B3A5 /* Region.swift in Sources */ = {isa = PBXBuildFile; fileRef = 474C40892B4DAA110038B3A5 /* Region.swift */; }; 474C408C2B4DAC590038B3A5 /* RegionViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 474C408B2B4DAC590038B3A5 /* RegionViewModel.swift */; }; 474C408E2B4DB2850038B3A5 /* RegionsView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 474C408D2B4DB2850038B3A5 /* RegionsView.swift */; }; - 474C40902B4FFD820038B3A5 /* Observations.swift in Sources */ = {isa = PBXBuildFile; fileRef = 474C408F2B4FFD820038B3A5 /* Observations.swift */; }; 474C40982B5000370038B3A5 /* OptionallyDecodable in Frameworks */ = {isa = PBXBuildFile; productRef = 474C40972B5000370038B3A5 /* OptionallyDecodable */; }; 474C409A2B50073C0038B3A5 /* ObservationsViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 474C40992B50073C0038B3A5 /* ObservationsViewModel.swift */; }; 474C409C2B500AE90038B3A5 /* ObservationsView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 474C409B2B500AE90038B3A5 /* ObservationsView.swift */; }; - 47568D2D2B59B54500E69B1A /* ObservationsSpecies.swift in Sources */ = {isa = PBXBuildFile; fileRef = 47568D2C2B59B54500E69B1A /* ObservationsSpecies.swift */; }; + 47568D2D2B59B54500E69B1A /* Observations.swift in Sources */ = {isa = PBXBuildFile; fileRef = 47568D2C2B59B54500E69B1A /* Observations.swift */; }; 47568D2F2B59BA1300E69B1A /* ObservationsSpeciesViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 47568D2E2B59BA1300E69B1A /* ObservationsSpeciesViewModel.swift */; }; 47568D312B59BABB00E69B1A /* ObservationsSpeciesView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 47568D302B59BABB00E69B1A /* ObservationsSpeciesView.swift */; }; 47568D332B5A724D00E69B1A /* MapObservationsSpeciesView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 47568D322B5A724D00E69B1A /* MapObservationsSpeciesView.swift */; }; @@ -79,7 +79,6 @@ 4785CD192B95C856002F52BE /* UserViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4785CD182B95C856002F52BE /* UserViewModel.swift */; }; 4785CD1B2B95C87E002F52BE /* UserView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4785CD1A2B95C87E002F52BE /* UserView.swift */; }; 4785CD1D2B964C0E002F52BE /* ObservationsUserViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4785CD1C2B964C0E002F52BE /* ObservationsUserViewModel.swift */; }; - 4785CD1F2B964C96002F52BE /* ObservationsUser.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4785CD1E2B964C96002F52BE /* ObservationsUser.swift */; }; 4785CD212B964FAC002F52BE /* MapObservationsUserView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4785CD202B964FAC002F52BE /* MapObservationsUserView.swift */; }; 4785CD232B965237002F52BE /* ObservationUserView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4785CD222B965237002F52BE /* ObservationUserView.swift */; }; 478DE5462B6554E600FF7737 /* SettingsDetailsView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 478DE5452B6554E600FF7737 /* SettingsDetailsView.swift */; }; @@ -89,9 +88,8 @@ 47B6F4B42B91AA05008DDFBC /* Popovers in Frameworks */ = {isa = PBXBuildFile; productRef = 47B6F4B32B91AA05008DDFBC /* Popovers */; }; 47B7E3B62B5D9C5500B88043 /* FloatingButton.swift in Sources */ = {isa = PBXBuildFile; fileRef = 47B7E3B52B5D9C5500B88043 /* FloatingButton.swift */; }; 47D99A3E2B9ED73A0012F0DE /* SwiftAudioEx in Frameworks */ = {isa = PBXBuildFile; productRef = 47D99A3D2B9ED73A0012F0DE /* SwiftAudioEx */; }; - 47DB89B22B7A394B0093C1ED /* Obs.swift in Sources */ = {isa = PBXBuildFile; fileRef = 47DB89B12B7A394B0093C1ED /* Obs.swift */; }; 47DB89B42B7A397F0093C1ED /* ObsViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 47DB89B32B7A397F0093C1ED /* ObsViewModel.swift */; }; - 47DB89B82B7A3AB20093C1ED /* ObsView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 47DB89B72B7A3AB20093C1ED /* ObsView.swift */; }; + 47DB89B82B7A3AB20093C1ED /* ObsDetailsView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 47DB89B72B7A3AB20093C1ED /* ObsDetailsView.swift */; }; 47E2DFBB2BA82A5400040221 /* SimpleMapView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 47E2DFBA2BA82A5400040221 /* SimpleMapView.swift */; }; /* End PBXBuildFile section */ @@ -102,6 +100,7 @@ 470411122BB2B87300A498F5 /* LocationManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LocationManager.swift; sourceTree = ""; }; 47079EBD2BB9D81F003D2E11 /* ObsExtendedView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ObsExtendedView.swift; sourceTree = ""; }; 470F112E2BB18C5E003FE0C0 /* GeoJSONViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GeoJSONViewModel.swift; sourceTree = ""; }; + 471438BA2BBFD3AD00DF35DE /* ObsView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ObsView.swift; sourceTree = ""; }; 4717C0BE2B9CC41400B570D0 /* YearView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YearView.swift; sourceTree = ""; }; 4725B9602BB14BD400F6F137 /* LocationIdViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LocationIdViewModel.swift; sourceTree = ""; }; 4725B9622BB14C2C00F6F137 /* LocationJSON.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LocationJSON.swift; sourceTree = ""; }; @@ -115,9 +114,9 @@ 474C402D2B4BC4040038B3A5 /* ContentView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ContentView.swift; sourceTree = ""; }; 474C402F2B4BC4080038B3A5 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; 474C40322B4BC4080038B3A5 /* Preview Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = "Preview Assets.xcassets"; sourceTree = ""; }; - 474C403B2B4BC5070038B3A5 /* Bird.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Bird.swift; sourceTree = ""; }; - 474C403D2B4BC5400038B3A5 /* BirdViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BirdViewModel.swift; sourceTree = ""; }; - 474C40452B4BC66A0038B3A5 /* BirdView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BirdView.swift; sourceTree = ""; }; + 474C403B2B4BC5070038B3A5 /* Species.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Species.swift; sourceTree = ""; }; + 474C403D2B4BC5400038B3A5 /* SpeciesViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SpeciesViewModel.swift; sourceTree = ""; }; + 474C40452B4BC66A0038B3A5 /* SpeciesView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SpeciesView.swift; sourceTree = ""; }; 474C40472B4BCC6B0038B3A5 /* SpeciesDetails.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SpeciesDetails.swift; sourceTree = ""; }; 474C40492B4BCC920038B3A5 /* SpeciesDetailsViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SpeciesDetailsViewModel.swift; sourceTree = ""; }; 474C404B2B4BCE340038B3A5 /* SpeciesDetailsView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SpeciesDetailsView.swift; sourceTree = ""; }; @@ -136,10 +135,9 @@ 474C40892B4DAA110038B3A5 /* Region.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Region.swift; sourceTree = ""; }; 474C408B2B4DAC590038B3A5 /* RegionViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RegionViewModel.swift; sourceTree = ""; }; 474C408D2B4DB2850038B3A5 /* RegionsView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RegionsView.swift; sourceTree = ""; }; - 474C408F2B4FFD820038B3A5 /* Observations.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Observations.swift; sourceTree = ""; }; 474C40992B50073C0038B3A5 /* ObservationsViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ObservationsViewModel.swift; sourceTree = ""; }; 474C409B2B500AE90038B3A5 /* ObservationsView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ObservationsView.swift; sourceTree = ""; }; - 47568D2C2B59B54500E69B1A /* ObservationsSpecies.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ObservationsSpecies.swift; sourceTree = ""; }; + 47568D2C2B59B54500E69B1A /* Observations.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Observations.swift; sourceTree = ""; }; 47568D2E2B59BA1300E69B1A /* ObservationsSpeciesViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ObservationsSpeciesViewModel.swift; sourceTree = ""; }; 47568D302B59BABB00E69B1A /* ObservationsSpeciesView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ObservationsSpeciesView.swift; sourceTree = ""; }; 47568D322B5A724D00E69B1A /* MapObservationsSpeciesView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MapObservationsSpeciesView.swift; sourceTree = ""; }; @@ -159,7 +157,6 @@ 4785CD182B95C856002F52BE /* UserViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UserViewModel.swift; sourceTree = ""; }; 4785CD1A2B95C87E002F52BE /* UserView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UserView.swift; sourceTree = ""; }; 4785CD1C2B964C0E002F52BE /* ObservationsUserViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ObservationsUserViewModel.swift; sourceTree = ""; }; - 4785CD1E2B964C96002F52BE /* ObservationsUser.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ObservationsUser.swift; sourceTree = ""; }; 4785CD202B964FAC002F52BE /* MapObservationsUserView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MapObservationsUserView.swift; sourceTree = ""; }; 4785CD222B965237002F52BE /* ObservationUserView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ObservationUserView.swift; sourceTree = ""; }; 478DE5452B6554E600FF7737 /* SettingsDetailsView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SettingsDetailsView.swift; sourceTree = ""; }; @@ -169,9 +166,8 @@ 47AFF6E42B7CAC71004868D0 /* SingersView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SingersView.swift; sourceTree = ""; }; 47B7E3B52B5D9C5500B88043 /* FloatingButton.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FloatingButton.swift; sourceTree = ""; }; 47DB898E2B79FB4A0093C1ED /* krommerijn.json */ = {isa = PBXFileReference; lastKnownFileType = text.json; path = krommerijn.json; sourceTree = ""; }; - 47DB89B12B7A394B0093C1ED /* Obs.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Obs.swift; sourceTree = ""; }; 47DB89B32B7A397F0093C1ED /* ObsViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ObsViewModel.swift; sourceTree = ""; }; - 47DB89B72B7A3AB20093C1ED /* ObsView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ObsView.swift; sourceTree = ""; }; + 47DB89B72B7A3AB20093C1ED /* ObsDetailsView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ObsDetailsView.swift; sourceTree = ""; }; 47E2DFBA2BA82A5400040221 /* SimpleMapView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SimpleMapView.swift; sourceTree = ""; }; 47F5D2F02BADDB9F0071BB6E /* Notes.md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = Notes.md; sourceTree = ""; }; /* End PBXFileReference section */ @@ -255,7 +251,7 @@ isa = PBXGroup; children = ( 474C405A2B4C04C70038B3A5 /* SpeciesGroupViewModel.swift */, - 474C403D2B4BC5400038B3A5 /* BirdViewModel.swift */, + 474C403D2B4BC5400038B3A5 /* SpeciesViewModel.swift */, 474C40492B4BCC920038B3A5 /* SpeciesDetailsViewModel.swift */, 474C40542B4BFDC90038B3A5 /* RegionListViewModel.swift */, 474C40602B4C08FB0038B3A5 /* LanguageViewModel.swift */, @@ -278,17 +274,14 @@ isa = PBXGroup; children = ( 472633202BB5981A00CEA05E /* poi.json */, - 474C403B2B4BC5070038B3A5 /* Bird.swift */, + 474C403B2B4BC5070038B3A5 /* Species.swift */, 474C40472B4BCC6B0038B3A5 /* SpeciesDetails.swift */, 474C40522B4BFD090038B3A5 /* RegionList.swift */, 474C40582B4C047B0038B3A5 /* SpeciesGroup.swift */, 474C405E2B4C08750038B3A5 /* Language.swift */, 474C40892B4DAA110038B3A5 /* Region.swift */, 474C40852B4D84030038B3A5 /* Settings.swift */, - 474C408F2B4FFD820038B3A5 /* Observations.swift */, - 47568D2C2B59B54500E69B1A /* ObservationsSpecies.swift */, - 4785CD1E2B964C96002F52BE /* ObservationsUser.swift */, - 47DB89B12B7A394B0093C1ED /* Obs.swift */, + 47568D2C2B59B54500E69B1A /* Observations.swift */, 4785CD162B95C835002F52BE /* User.swift */, 4725B9622BB14C2C00F6F137 /* LocationJSON.swift */, ); @@ -298,18 +291,19 @@ 474C40822B4D17C00038B3A5 /* Views */ = { isa = PBXGroup; children = ( + 47DB89B72B7A3AB20093C1ED /* ObsDetailsView.swift */, + 471438BA2BBFD3AD00DF35DE /* ObsView.swift */, 472633242BB5998400CEA05E /* POIsView.swift */, 4757E0752B7F3426003F148E /* LoginView.swift */, 474C409B2B500AE90038B3A5 /* ObservationsView.swift */, 4704110E2BB1EF1B00A498F5 /* ObservationsLocationsView.swift */, - 47568D302B59BABB00E69B1A /* ObservationsSpeciesView.swift */, 4785CD222B965237002F52BE /* ObservationUserView.swift */, + 47568D302B59BABB00E69B1A /* ObservationsSpeciesView.swift */, 477ECF132B98897100D96BE9 /* NetworkView.swift */, 474093812B558F82004F10C5 /* ObservationDetailsView.swift */, - 47DB89B72B7A3AB20093C1ED /* ObsView.swift */, 47079EBD2BB9D81F003D2E11 /* ObsExtendedView.swift */, 4784B5412B7BE1040051D03E /* AFImageView.swift */, - 474C40452B4BC66A0038B3A5 /* BirdView.swift */, + 474C40452B4BC66A0038B3A5 /* SpeciesView.swift */, 478DE5452B6554E600FF7737 /* SettingsDetailsView.swift */, 474C408D2B4DB2850038B3A5 /* RegionsView.swift */, 474C40622B4C091F0038B3A5 /* LanguageView.swift */, @@ -458,7 +452,6 @@ 4785CD192B95C856002F52BE /* UserViewModel.swift in Sources */, 474093842B55B5DE004F10C5 /* ManualView.swift in Sources */, 474C40632B4C091F0038B3A5 /* LanguageView.swift in Sources */, - 4785CD1F2B964C96002F52BE /* ObservationsUser.swift in Sources */, 4725B9632BB14C2C00F6F137 /* LocationJSON.swift in Sources */, 474C40572B4BFE950038B3A5 /* RegionListView.swift in Sources */, 477ED8732BA9D0C800B0D73C /* SplashScreenView.swift in Sources */, @@ -473,17 +466,16 @@ 47AFF6E52B7CAC71004868D0 /* SingersView.swift in Sources */, 47AFF6E32B7C8C70004868D0 /* LookUpsView.swift in Sources */, 474C40612B4C08FB0038B3A5 /* LanguageViewModel.swift in Sources */, - 47DB89B22B7A394B0093C1ED /* Obs.swift in Sources */, 474C408E2B4DB2850038B3A5 /* RegionsView.swift in Sources */, 474C40532B4BFD090038B3A5 /* RegionList.swift in Sources */, 474C408A2B4DAA110038B3A5 /* Region.swift in Sources */, 4725B9612BB14BD400F6F137 /* LocationIdViewModel.swift in Sources */, - 47568D2D2B59B54500E69B1A /* ObservationsSpecies.swift in Sources */, + 47568D2D2B59B54500E69B1A /* Observations.swift in Sources */, 47B7E3B62B5D9C5500B88043 /* FloatingButton.swift in Sources */, 474C404C2B4BCE340038B3A5 /* SpeciesDetailsView.swift in Sources */, 474C402E2B4BC4040038B3A5 /* ContentView.swift in Sources */, 474C40842B4D189F0038B3A5 /* MapObservationView.swift in Sources */, - 474C40462B4BC66A0038B3A5 /* BirdView.swift in Sources */, + 474C40462B4BC66A0038B3A5 /* SpeciesView.swift in Sources */, 4704110F2BB1EF1B00A498F5 /* ObservationsLocationsView.swift in Sources */, 472633232BB598E600CEA05E /* PoiViewModel.swift in Sources */, 474093822B558F82004F10C5 /* ObservationDetailsView.swift in Sources */, @@ -492,7 +484,7 @@ 474C408C2B4DAC590038B3A5 /* RegionViewModel.swift in Sources */, 47079EBE2BB9D81F003D2E11 /* ObsExtendedView.swift in Sources */, 4717C0BF2B9CC41400B570D0 /* YearView.swift in Sources */, - 47DB89B82B7A3AB20093C1ED /* ObsView.swift in Sources */, + 47DB89B82B7A3AB20093C1ED /* ObsDetailsView.swift in Sources */, 4784FA5C2B55039900FEC7F9 /* ExtensionsAndFunctions.swift in Sources */, 474C405B2B4C04C70038B3A5 /* SpeciesGroupViewModel.swift in Sources */, 474C40592B4C047B0038B3A5 /* SpeciesGroup.swift in Sources */, @@ -500,13 +492,12 @@ 472633252BB5998400CEA05E /* POIsView.swift in Sources */, 477ECF142B98897100D96BE9 /* NetworkView.swift in Sources */, 47568D332B5A724D00E69B1A /* MapObservationsSpeciesView.swift in Sources */, - 474C40902B4FFD820038B3A5 /* Observations.swift in Sources */, - 474C403C2B4BC5070038B3A5 /* Bird.swift in Sources */, + 474C403C2B4BC5070038B3A5 /* Species.swift in Sources */, 474C402C2B4BC4040038B3A5 /* RavensApp.swift in Sources */, 474C40862B4D84030038B3A5 /* Settings.swift in Sources */, 477ED86E2BA9CFE900B0D73C /* LottieView.swift in Sources */, 474C404A2B4BCC920038B3A5 /* SpeciesDetailsViewModel.swift in Sources */, - 474C403E2B4BC5400038B3A5 /* BirdViewModel.swift in Sources */, + 474C403E2B4BC5400038B3A5 /* SpeciesViewModel.swift in Sources */, 4757E0762B7F3426003F148E /* LoginView.swift in Sources */, 474C409A2B50073C0038B3A5 /* ObservationsViewModel.swift in Sources */, 474C40482B4BCC6B0038B3A5 /* SpeciesDetails.swift in Sources */, @@ -515,6 +506,7 @@ 474C409C2B500AE90038B3A5 /* ObservationsView.swift in Sources */, 4784B5422B7BE1040051D03E /* AFImageView.swift in Sources */, 47568D312B59BABB00E69B1A /* ObservationsSpeciesView.swift in Sources */, + 471438BB2BBFD3AD00DF35DE /* ObsView.swift in Sources */, 4785CD172B95C835002F52BE /* User.swift in Sources */, 470F112F2BB18C5E003FE0C0 /* GeoJSONViewModel.swift in Sources */, 4785CD212B964FAC002F52BE /* MapObservationsUserView.swift in Sources */, diff --git a/Ravens.xcodeproj/xcuserdata/ericdequartel.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist b/Ravens.xcodeproj/xcuserdata/ericdequartel.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist index 721c510c..ee4860c1 100644 --- a/Ravens.xcodeproj/xcuserdata/ericdequartel.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist +++ b/Ravens.xcodeproj/xcuserdata/ericdequartel.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist @@ -110,8 +110,8 @@ filePath = "Ravens/Views/MapObservationsLocationView.swift" startingColumnNumber = "9223372036854775807" endingColumnNumber = "9223372036854775807" - startingLineNumber = "87" - endingLineNumber = "87" + startingLineNumber = "83" + endingLineNumber = "83" landmarkName = "body" landmarkType = "24"> @@ -132,21 +132,5 @@ landmarkType = "7"> - - - - diff --git a/Ravens/ContentView.swift b/Ravens/ContentView.swift index ff6550b7..063a12b6 100644 --- a/Ravens/ContentView.swift +++ b/Ravens/ContentView.swift @@ -18,85 +18,38 @@ struct ContentView: View { @StateObject private var observationsViewModel = ObservationsViewModel(settings: Settings()) @StateObject private var observationsSpeciesViewModel = ObservationsSpeciesViewModel(settings: Settings()) - @State private var isSheetObservationsViewPresented = false - @State private var isSheetObservationsLocationsViewPresented = false - @State private var locationId: Int? var body: some View { TabView { - // Tab 0 -// LottieView(lottieFile: "LottieFile") -// .tabItem { -// Text("Lottie") -// Image(systemName: "globe") -// } - - // Tab 0 -// AudioView() -// .tabItem { -// Text("weather") -// Image(systemName: "globe") -// } - // Tab 0 -// LookUpsView() -// .tabItem { -// Text("weather") -// Image(systemName: "globe") -// } -// Tab 0 -// LocationLatLongView() -// .tabItem { -// Text("weather") -// Image(systemName: "globe") -// } -// Tab 0 -// POIsView() -// .tabItem { -// Text("weather") -// Image(systemName: "globe") -// } - // Tab 1 - ZStack { - MapObservationView() - ObservationCircle(toggle: $isSheetObservationsViewPresented, colorHex: "f7b731") - } + MapObservationView() .tabItem { Text("Radius") Image(systemName: "circle") } // Tab 2 - ZStack { - MapObservationsLocationView(sharedLocationId: Binding(get: { self.locationId ?? 0 }, set: { self.locationId = $0 })) - ObservationCircle(toggle: $isSheetObservationsLocationsViewPresented, colorHex: "a7b731") - } + MapObservationsLocationView() .tabItem { Text("Area") Image(systemName: "pentagon") } // Tab 2 - BirdView() + SpeciesView() .tabItem { Text("Species") Image(systemName: "tree") } - // Tab 3 + // Tab 4 MapObservationsUserView() .tabItem { - Text("We") - Image(systemName: "person.2.fill") + Text("Me") + Image(systemName: "person.fill") } - -// // Tab 4 -// EmptyView() -// .tabItem { -// Text("Explorers") -// Image(systemName: "person.2.fill") -// } + // Tab 5 SettingsView() @@ -105,16 +58,6 @@ struct ContentView: View { Image(systemName: "gearshape") } } - - .sheet(isPresented: $isSheetObservationsViewPresented) { - ObservationsView(isShowing: $isSheetObservationsViewPresented) - } - .sheet(isPresented: $isSheetObservationsLocationsViewPresented) { - ObservationsLocationView( - locationId: Binding(get: { self.locationId ?? 0 }, set: { self.locationId = $0 }), -// locationStr: <#T##Binding#>(get: { self.locationId ?? 0 }, set: { self.locationId = $0 }), - isShowing: $isSheetObservationsLocationsViewPresented) - } .onAppear() { log.warning("*** NEW LAUNCH ***") CLLocationManager().requestWhenInUseAuthorization() @@ -176,4 +119,36 @@ struct ContentView_Previews: PreviewProvider { // Text("Book") // Image(systemName: "book") // } + +//Tab 0 +// LottieView(lottieFile: "LottieFile") +// .tabItem { +// Text("Lottie") +// Image(systemName: "globe") +// } +// +// Tab 0 +// AudioView() +// .tabItem { +// Text("weather") +// Image(systemName: "globe") +// } +// Tab 0 +// LookUpsView() +// .tabItem { +// Text("weather") +// Image(systemName: "globe") +// } +// Tab 0 +// LocationLatLongView() +// .tabItem { +// Text("weather") +// Image(systemName: "globe") +// } +// Tab 0 +// POIsView() +// .tabItem { +// Text("weather") +// Image(systemName: "globe") +// } diff --git a/Ravens/Data/Obs.swift b/Ravens/Data/Obs.swift deleted file mode 100644 index 1fd9cd46..00000000 --- a/Ravens/Data/Obs.swift +++ /dev/null @@ -1,41 +0,0 @@ -// This file was generated from JSON Schema using quicktype, do not modify it directly. -// To parse the JSON, add this file to your project and do: -// -// let obs = try? JSONDecoder().decode(Obs.self, from: jsonData) - -import Foundation - -// MARK: - Obs -struct Obs: Codable, Identifiable { - var id: Int - var species: Int = 0 - var date: String - var time: String? // Use String? instead of NSNull - var number: Int - let sex: String - let point: Point - let accuracy: Int? - let notes: String? - let is_certain, is_escape: Bool? - let activity, lifeStage: Int? - let method: Int? // Use String? instead of NSNull - let substrate, related_species, obscurity, counting_method: Int? - let embargo_date: String? - let uuid: String? // Use String? instead of NSNull - let externalReference: String? -// let links, details: [String] -// let observer_location: String? is a geoJSON - let transectUUID: String? // Use String? instead of NSNull - let species_detail: SpeciesDetail - let rarity, user: Int? - let user_detail: UserDetail? - let modified: String? - let species_group: Int? - let validation_status: String? - let location: Int? - let location_detail: LocationDetail? - let photos: [String] - let sounds: [String] - let permalink: String -} - diff --git a/Ravens/Data/Observations.swift b/Ravens/Data/Observations.swift index bdc1c688..4b4e75d3 100644 --- a/Ravens/Data/Observations.swift +++ b/Ravens/Data/Observations.swift @@ -1,42 +1,109 @@ +// This file was generated from JSON Schema using quicktype, do not modify it directly. +// This file was generated from JSON Schema using quicktype, do not modify it directly. +// To parse the JSON, add this file to your project and do: // -// Observation.swift -// Ravens -// -// Created by Eric de Quartel on 11/01/2024. -// +// var observationsSpecies = try? JSONDecoder().decode(ObservationsSpecies.self, from: jsonData) import Foundation -// MARK: - Observation +// MARK: - Observations // struct Observations: Codable { var count: Int? var next, previous: URL? var results: [Observation] } +// MARK: - Result struct Observation: Codable, Identifiable { - var id: Int = 0 - var permalink: String = "" - var date: String = "" - var time: String? = "11:00" - var species_detail: SpeciesDetail + var id: Int? + var species: Int? + var date: String = "2023-01-01" + var time: String? var number: Int = 0 var sex: String = "" + var point: Point + var accuracy: Int? + var notes: String? + var is_certain: Bool = false + var is_escape: Bool = false var activity: Int = 0 var life_stage: Int = 0 - var method: Int = 0 - var has_photo: Bool = true - var has_sound: Bool = true - var point: Point - var location_detail: LocationDetail + var method: Int? + var substrate: Int? + var related_species: Int? + var obscurity: Int? + var has_photo: Bool? + var has_sound: Bool? + var counting_method: Int? + var embargo_date: String? + var uuid: String? + let externalReference: [String]? +// var links: [String?] +// var details: [String?] + var observer_location: Point? + var transect_uuid: URL? + var species_detail: SpeciesDetail var rarity: Int = 0 - var is_certain: Bool = true - var is_escape: Bool = true - var validation_status: String = "" var user: Int = 0 + var user_detail: UserDetail? + var modified: String? + var species_group: Int? + var validation_status: String = "" + var location: Int? + var location_detail: LocationDetail? + var photos: [String]? + var sounds: [String]? + var permalink: String = "" + var detail: String? + var code: String? +} + +// MARK: - UserDetail +struct UserDetail: Codable { + var id: Int = 0 + var name: String = "" + var avatar: URL? } +// MARK: - Obs +//struct Obs: Codable, Identifiable { +// let accuracy: Int? +// let activity, lifeStage: Int? +// let code: String? +// let counting_method: Int? +// let date: String +// let detail: String? +// let embargo_date: String? +// let externalReference: String? +// let is_certain, is_escape: Bool? +// var id: Int +// let location: Int? +// let location_detail: LocationDetail? +// let method: Int? +// let modified: String? +// var number: Int +// let notes: String? +// let obscurity, related_species, substrate: Int? +// let permalink: String +// let photos: [String] +// let point: Point +// let rarity, user: Int? +// let sex: String +// var species: Int = 0 +// let species_detail: SpeciesDetail +// let species_group: Int? +// let sounds: [String] +// var time: String? +// let transectUUID: String? +// let user_detail: UserDetail? +// let uuid: String? +// let validation_status: String? +// // let links, details: [String] +// // let observer_location: String? is a geoJSON +//} + + struct SpeciesDetail: Codable { var id: Int = 0 var scientific_name: String = "" diff --git a/Ravens/Data/ObservationsSpecies.swift b/Ravens/Data/ObservationsSpecies.swift deleted file mode 100644 index 94640a0c..00000000 --- a/Ravens/Data/ObservationsSpecies.swift +++ /dev/null @@ -1,62 +0,0 @@ -// This file was generated from JSON Schema using quicktype, do not modify it directly. -// This file was generated from JSON Schema using quicktype, do not modify it directly. -// To parse the JSON, add this file to your project and do: -// -// var observationsSpecies = try? JSONDecoder().decode(ObservationsSpecies.self, from: jsonData) - -import Foundation - -// MARK: - ObservationsSpecies // -struct ObservationsSpecies: Codable { - var count: Int? - var next, previous: String? - var results: [ObservationSpecies] -} - -// MARK: - Result -struct ObservationSpecies: Codable, Identifiable { - var id: Int? - var species: Int = 0 - var date: String = "2023-01-01" - var time: String? - var number: Int = 0 - var sex: String = "" - var point: Point - var accuracy: Int = 0 - var notes: String? - var is_certain: Bool = false - var is_escape: Bool = false - var activity: Int = 0 - var life_stage: Int = 0 - var method: Int? - var substrate: Int? - var related_species: Int = 0 - var obscurity: Int = 0 - var counting_method: Int? - var embargo_date: String - var uuid: String? - let externalReference: [String]? -// var links: [String?] -// var details: [String?] - var observer_location: Point? - var transect_uuid: URL? - var species_detail: SpeciesDetail - var rarity: Int = 0 - var user: Int = 0 - var user_detail: UserDetail - var modified: String = "" - var species_group: Int = 0 - var validation_status: String = "" - var location: Int = 0 - var location_detail: LocationDetail - var photos: [String] - var sounds: [String] - var permalink: String = "" -} - -// MARK: - UserDetail -struct UserDetail: Codable { - var id: Int = 0 - var name: String = "" - var avatar: URL? -} diff --git a/Ravens/Data/ObservationsUser.swift b/Ravens/Data/ObservationsUser.swift deleted file mode 100644 index e49c7ee9..00000000 --- a/Ravens/Data/ObservationsUser.swift +++ /dev/null @@ -1,15 +0,0 @@ -////// -////// ObservationsUser.swift -////// Ravens -////// -////// Created by Eric de Quartel on 04/03/2024. -////// -//// -import Foundation -// -//// MARK: - ObservationsUser // -struct ObservationsUser: Codable { - var count: Int? - var next, previous: String? - var results: [ObservationSpecies] -} diff --git a/Ravens/Data/Bird.swift b/Ravens/Data/Species.swift similarity index 79% rename from Ravens/Data/Bird.swift rename to Ravens/Data/Species.swift index 06d3c958..0fb4cccf 100644 --- a/Ravens/Data/Bird.swift +++ b/Ravens/Data/Species.swift @@ -1,12 +1,12 @@ // -// Bird.swift +// Species.swift // Ravens // // Created by Eric de Quartel on 08/01/2024. // // Data Model -struct Bird: Codable, Identifiable { +struct Species: Codable, Identifiable { var id: Int { species } let species: Int let name: String diff --git a/Ravens/Data/poi.json b/Ravens/Data/poi.json index 714767cf..3c2afc51 100644 --- a/Ravens/Data/poi.json +++ b/Ravens/Data/poi.json @@ -62,7 +62,7 @@ "latitude": 51.965423, "longitude": 5.215302 } - } + }, ] } diff --git a/Ravens/Localizable.xcstrings b/Ravens/Localizable.xcstrings index f6cb0c08..2500bc29 100644 --- a/Ravens/Localizable.xcstrings +++ b/Ravens/Localizable.xcstrings @@ -24,12 +24,12 @@ } } }, - "%@ %@" : { + "%@ %@ - %lldx" : { "localizations" : { "en" : { "stringUnit" : { "state" : "new", - "value" : "%1$@ %2$@" + "value" : "%1$@ %2$@ - %3$lldx" } } } @@ -44,16 +44,6 @@ } } }, - "%@: %@" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "new", - "value" : "%1$@: %2$@" - } - } - } - }, "%lld" : { "localizations" : { "nl" : { @@ -196,6 +186,7 @@ } }, "Default Name" : { + "extractionState" : "stale", "localizations" : { "nl" : { "stringUnit" : { @@ -561,7 +552,6 @@ }, "Me" : { - "extractionState" : "stale", "localizations" : { "nl" : { "stringUnit" : { @@ -1004,9 +994,6 @@ } } } - }, - "We" : { - }, "Window" : { "localizations" : { diff --git a/Ravens/Models/GeoJSONViewModel.swift b/Ravens/Models/GeoJSONViewModel.swift index da680c4c..9be64fca 100644 --- a/Ravens/Models/GeoJSONViewModel.swift +++ b/Ravens/Models/GeoJSONViewModel.swift @@ -18,7 +18,7 @@ class GeoJSONViewModel: ObservableObject { func fetchGeoJsonData(for locationID: String, completion: @escaping ([MKPolygon]) -> Void) { let apiUrl = "https://waarneming.nl/api/v1/locations/geojson/?id=\(locationID)" - log.error(apiUrl) + log.info(apiUrl) AF.request(apiUrl).responseData { response in switch response.result { case .success(let value): diff --git a/Ravens/Models/ObsViewModel.swift b/Ravens/Models/ObsViewModel.swift index c4ecdeb2..320024dd 100644 --- a/Ravens/Models/ObsViewModel.swift +++ b/Ravens/Models/ObsViewModel.swift @@ -15,7 +15,7 @@ class FetchRequestManager: ObservableObject { let fileURL = documentsDirectory.appendingPathComponent("CachedObs\(obsID).json") let decoder = JSONDecoder() - if let data = try? Data(contentsOf: fileURL), let loadedObs = try? decoder.decode(Obs.self, from: data) { + if let data = try? Data(contentsOf: fileURL), let loadedObs = try? decoder.decode(Observation.self, from: data) { viewModel.observation = loadedObs log.info("\(obsID) loaded from cache") return @@ -37,7 +37,7 @@ class FetchRequestManager: ObservableObject { class ObsViewModel: ObservableObject { let log = SwiftyBeaver.self - @Published var observation: Obs? + @Published var observation: Observation? private var lastRequestTime: Date? @@ -52,6 +52,7 @@ class ObsViewModel: ObservableObject { func fetchData(for obsID: Int) { let documentsDirectory = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask).first! let fileURL = documentsDirectory.appendingPathComponent("CachedObs\(obsID).json") + log.error(fileURL) log.info("fetchData API Call for ObsViewModel \(obsID) at \(Date())") @@ -66,16 +67,19 @@ class ObsViewModel: ObservableObject { log.info("\(url) \(headers)") - AF.request(url, headers: headers).responseDecodable(of: Obs.self) { response in + AF.request(url, headers: headers).responseDecodable(of: Observation.self) { response in switch response.result { case .success(_): do { let decoder = JSONDecoder() - self.observation = try decoder.decode(Obs.self, from: response.data!) + + self.observation = try decoder.decode(Observation.self, from: response.data!) + let encoder = JSONEncoder() if let encodedData = try? encoder.encode(self.observation) { try? encodedData.write(to: fileURL) + } } catch { self.log.error("Error ObsViewModel decoding JSON: \(error)") diff --git a/Ravens/Models/ObservationsLocationViewModel.swift b/Ravens/Models/ObservationsLocationViewModel.swift index d0440151..444f35a8 100644 --- a/Ravens/Models/ObservationsLocationViewModel.swift +++ b/Ravens/Models/ObservationsLocationViewModel.swift @@ -14,7 +14,7 @@ import SwiftyBeaver class ObservationsLocationViewModel: ObservableObject { let log = SwiftyBeaver.self - @Published var observationsSpecies: ObservationsSpecies? + @Published var observations: Observations? private var keyChainViewModel = KeychainViewModel() @@ -31,15 +31,15 @@ class ObservationsLocationViewModel: ObservableObject { func getLocations() { locations.removeAll() - let max = (observationsSpecies?.results.count ?? 0) + let max = (observations?.results.count ?? 0) for i in 0 ..< max { - let name = observationsSpecies?.results[i].species_detail.name ?? "Unknown name" - let latitude = observationsSpecies?.results[i].point.coordinates[1] ?? 52.024052 - let longitude = observationsSpecies?.results[i].point.coordinates[0] ?? 5.245350 - let rarity = observationsSpecies?.results[i].rarity ?? 0 - let hasPhoto = (observationsSpecies?.results[i].photos.count ?? 0 > 0) - let hasSound = (observationsSpecies?.results[i].sounds.count ?? 0 > 0) + let name = observations?.results[i].species_detail.name ?? "Unknown name" + let latitude = observations?.results[i].point.coordinates[1] ?? 52.024052 + let longitude = observations?.results[i].point.coordinates[0] ?? 5.245350 + let rarity = observations?.results[i].rarity ?? 0 + let hasPhoto = (observations?.results[i].photos?.count ?? 0 > 0) + let hasSound = (observations?.results[i].sounds?.count ?? 0 > 0) let newLocation = Location(name: name, coordinate: CLLocationCoordinate2D(latitude: latitude, longitude: longitude), rarity: rarity, hasPhoto: hasPhoto, hasSound: hasSound) @@ -51,10 +51,10 @@ class ObservationsLocationViewModel: ObservableObject { var latitudes: [Double] = [] var longitudes: [Double] = [] - let max = (observationsSpecies?.results.count ?? 0) + let max = (observations?.results.count ?? 0) for i in 0 ..< max { - let longitude = observationsSpecies?.results[i].point.coordinates[0] ?? 52.024052 - let latitude = observationsSpecies?.results[i].point.coordinates[1] ?? 5.245350 + let longitude = observations?.results[i].point.coordinates[0] ?? 52.024052 + let latitude = observations?.results[i].point.coordinates[1] ?? 5.245350 latitudes.append(latitude) longitudes.append(longitude) } @@ -75,7 +75,7 @@ class ObservationsLocationViewModel: ObservableObject { func fetchData(locationId: Int, limit: Int, offset: Int, completion: @escaping () -> Void) { - log.error("fetchData ObservationsLocationViewModel limit: \(locationId) \(limit) offset: \(offset)") + log.info("fetchData ObservationsLocationViewModel limit: \(locationId) \(limit) offset: \(offset)") keyChainViewModel.retrieveCredentials() @@ -95,7 +95,7 @@ class ObservationsLocationViewModel: ObservableObject { } log.error("URL \(url)") - log.error("headers \(headers)") +// log.error("headers \(headers)") AF.request(url, headers: headers).responseString { response in switch response.result { @@ -104,10 +104,10 @@ class ObservationsLocationViewModel: ObservableObject { if let data = stringResponse.data(using: .utf8) { do { let decoder = JSONDecoder() - let observationsSpecies = try decoder.decode(ObservationsSpecies.self, from: data) + let observationsSpecies = try decoder.decode(Observations.self, from: data) DispatchQueue.main.async { - self.observationsSpecies = observationsSpecies + self.observations = Observations(results: observationsSpecies.results) self.getLocations() self.getSpan() completion() diff --git a/Ravens/Models/ObservationsSpeciesViewModel.swift b/Ravens/Models/ObservationsSpeciesViewModel.swift index adffbc8e..4589691a 100644 --- a/Ravens/Models/ObservationsSpeciesViewModel.swift +++ b/Ravens/Models/ObservationsSpeciesViewModel.swift @@ -13,7 +13,7 @@ import SwiftyBeaver class ObservationsSpeciesViewModel: ObservableObject { let log = SwiftyBeaver.self - @Published var observationsSpecies: ObservationsSpecies? + @Published var observationsSpecies: Observations? private var keyChainViewModel = KeychainViewModel() @@ -36,8 +36,8 @@ class ObservationsSpeciesViewModel: ObservableObject { let latitude = observationsSpecies?.results[i].point.coordinates[1] ?? 52.024052 let longitude = observationsSpecies?.results[i].point.coordinates[0] ?? 5.245350 let rarity = observationsSpecies?.results[i].rarity ?? 0 - let hasPhoto = (observationsSpecies?.results[i].photos.count ?? 0 > 0) - let hasSound = (observationsSpecies?.results[i].sounds.count ?? 0 > 0) + let hasPhoto = (observationsSpecies?.results[i].photos?.count ?? 0 > 0) + let hasSound = (observationsSpecies?.results[i].sounds?.count ?? 0 > 0) let newLocation = Location(name: name, coordinate: CLLocationCoordinate2D(latitude: latitude, longitude: longitude), rarity: rarity, hasPhoto: hasPhoto, hasSound: hasSound) @@ -70,7 +70,7 @@ class ObservationsSpeciesViewModel: ObservableObject { if let data = stringResponse.data(using: .utf8) { do { let decoder = JSONDecoder() - let observationsSpecies = try decoder.decode(ObservationsSpecies.self, from: data) + let observationsSpecies = try decoder.decode(Observations.self, from: data) DispatchQueue.main.async { self.observationsSpecies = observationsSpecies diff --git a/Ravens/Models/ObservationsUserViewModel.swift b/Ravens/Models/ObservationsUserViewModel.swift index dc4958c8..75425db9 100644 --- a/Ravens/Models/ObservationsUserViewModel.swift +++ b/Ravens/Models/ObservationsUserViewModel.swift @@ -13,7 +13,7 @@ import SwiftyBeaver class ObservationsUserViewModel: ObservableObject { let log = SwiftyBeaver.self - @Published var observationsSpecies: ObservationsSpecies? + @Published var observations: Observations? private var keyChainViewModel = KeychainViewModel() @@ -29,15 +29,15 @@ class ObservationsUserViewModel: ObservableObject { func getLocations() { locations.removeAll() - let max = (observationsSpecies?.results.count ?? 0) + let max = (observations?.results.count ?? 0) for i in 0 ..< max { - let name = observationsSpecies?.results[i].species_detail.name ?? "Unknown name" - let latitude = observationsSpecies?.results[i].point.coordinates[1] ?? 52.024052 - let longitude = observationsSpecies?.results[i].point.coordinates[0] ?? 5.245350 - let rarity = observationsSpecies?.results[i].rarity ?? 0 - let hasPhoto = (observationsSpecies?.results[i].photos.count ?? 0 > 0) - let hasSound = (observationsSpecies?.results[i].sounds.count ?? 0 > 0) + let name = observations?.results[i].species_detail.name ?? "Unknown name" + let latitude = observations?.results[i].point.coordinates[1] ?? 52.024052 + let longitude = observations?.results[i].point.coordinates[0] ?? 5.245350 + let rarity = observations?.results[i].rarity ?? 0 + let hasPhoto = (observations?.results[i].photos?.count ?? 0 > 0) + let hasSound = (observations?.results[i].sounds?.count ?? 0 > 0) let newLocation = Location(name: name, coordinate: CLLocationCoordinate2D(latitude: latitude, longitude: longitude), rarity: rarity, hasPhoto: hasPhoto, hasSound: hasSound) @@ -71,10 +71,10 @@ class ObservationsUserViewModel: ObservableObject { if let data = stringResponse.data(using: .utf8) { do { let decoder = JSONDecoder() - let observationsSpecies = try decoder.decode(ObservationsSpecies.self, from: data) + let observations = try decoder.decode(Observations.self, from: data) DispatchQueue.main.async { - self.observationsSpecies = observationsSpecies + self.observations = observations self.getLocations() } } catch { diff --git a/Ravens/Models/ObservationsViewModel.swift b/Ravens/Models/ObservationsViewModel.swift index a01a9114..63469aa6 100644 --- a/Ravens/Models/ObservationsViewModel.swift +++ b/Ravens/Models/ObservationsViewModel.swift @@ -80,19 +80,19 @@ class ObservationsViewModel: ObservableObject { } func fetchData(lat: Double, long: Double, completion: @escaping () -> Void) { - log.error("fetchData ObservationsViewModel") + log.info("fetchData ObservationsViewModel") let headers: HTTPHeaders = [ "Accept-Language": settings.selectedLanguage ] - var url = settings.endPoint()+"observations/around-point/?days=\(settings.days)&end_date=\(formatCurrentDate(value: settings.selectedDate))&lat=\(lat)&lng=\(long)&radius=\(settings.radius)&species_group=\(settings.selectedGroupId)&min_rarity=\(settings.selectedRarity)" + let url = settings.endPoint()+"observations/around-point/?days=\(settings.days)&end_date=\(formatCurrentDate(value: settings.selectedDate))&lat=\(lat)&lng=\(long)&radius=\(settings.radius)&species_group=\(settings.selectedGroupId)&min_rarity=\(settings.selectedRarity)" // if !settings.infinity { // url = url + "&date_after=\(date_after)&date_before=\(date_before)" // } - log.info("\(url)") + log.error(">>> \(url)") AF.request(url, headers: headers).responseDecodable(of: Observations.self) { response in switch response.result { @@ -101,7 +101,7 @@ class ObservationsViewModel: ObservableObject { self.observations = observations self.getLocations() self.getSpan() - self.log.error("observations locations count \(self.locations.count)") + self.log.info("observations locations count \(self.locations.count)") completion() } case .failure(let error): diff --git a/Ravens/Models/RegionListViewModel.swift b/Ravens/Models/RegionListViewModel.swift index 43ba3084..a9e3d058 100644 --- a/Ravens/Models/RegionListViewModel.swift +++ b/Ravens/Models/RegionListViewModel.swift @@ -37,7 +37,7 @@ class RegionListViewModel: ObservableObject { switch response.result { case .success(_): do { - // Decode the JSON response into an array of Bird objects + // Decode the JSON response into an array of Species objects let decoder = JSONDecoder() self.regionLists = try decoder.decode([RegionList].self, from: response.data!) } catch { diff --git a/Ravens/Models/SpeciesGroupViewModel.swift b/Ravens/Models/SpeciesGroupViewModel.swift index 78059e70..be358a01 100644 --- a/Ravens/Models/SpeciesGroupViewModel.swift +++ b/Ravens/Models/SpeciesGroupViewModel.swift @@ -32,7 +32,9 @@ class SpeciesGroupViewModel: ObservableObject { log.info("url SpeciesGroupViewModel: \(url)") // Use Alamofire to make the API request - AF.request(url, headers: headers).responseDecodable(of: [SpeciesGroup].self) { response in + AF.request(url, headers: headers) + .responseDecodable(of: [SpeciesGroup].self) + { response in switch response.result { case .success(_): do { diff --git a/Ravens/Models/BirdViewModel.swift b/Ravens/Models/SpeciesViewModel.swift similarity index 69% rename from Ravens/Models/BirdViewModel.swift rename to Ravens/Models/SpeciesViewModel.swift index 7aac6faf..c342aad0 100644 --- a/Ravens/Models/BirdViewModel.swift +++ b/Ravens/Models/SpeciesViewModel.swift @@ -1,5 +1,5 @@ // -// BirdViewModel.swift +// SpeciesViewModel.swift // Ravens // // Created by Eric de Quartel on 08/01/2024. @@ -11,9 +11,9 @@ import Alamofire import SwiftyBeaver -class BirdViewModel: ObservableObject { +class SpeciesViewModel: ObservableObject { let log = SwiftyBeaver.self - @Published var birds = [Bird]() + @Published var species = [Species]() var settings: Settings init(settings: Settings) { @@ -21,7 +21,7 @@ class BirdViewModel: ObservableObject { } func fetchData(language: String, for groupID: Int) { - log.info("fetchData BirdViewModel \(groupID)") + log.info("fetchData SpeciesViewModel \(groupID)") let url = settings.endPoint()+"region-lists/\(groupID)/species/" @@ -32,19 +32,19 @@ class BirdViewModel: ObservableObject { "Accept-Language": language ] - AF.request(url, headers: headers).responseDecodable(of: [Bird].self){ response in + AF.request(url, headers: headers).responseDecodable(of: [Species].self){ response in // log.info(response.debugDescription) switch response.result { case .success(_): do { - // Decode the JSON response into an array of Bird objects + // Decode the JSON response into an array of Species objects let decoder = JSONDecoder() - self.birds = try decoder.decode([Bird].self, from: response.data!) + self.species = try decoder.decode([Species].self, from: response.data!) } catch { - self.log.error("Error BirdViewModel decoding JSON: \(error)") + self.log.error("Error SpeciesViewModel decoding JSON: \(error)") } case .failure(let error): - self.log.error("Error BirdViewModel fetching data: \(error)") + self.log.error("Error SpeciesViewModel fetching data: \(error)") } } } diff --git a/Ravens/NotUsed/LookUpsView.swift b/Ravens/NotUsed/LookUpsView.swift index 8c7a091f..f517d90a 100644 --- a/Ravens/NotUsed/LookUpsView.swift +++ b/Ravens/NotUsed/LookUpsView.swift @@ -1,130 +1,135 @@ +//// +//// SwiftUIView.swift +//// Ravens +//// +//// Created by Eric de Quartel on 14/02/2024. +//// // -// SwiftUIView.swift -// Ravens +//import SwiftUI +//import Alamofire // -// Created by Eric de Quartel on 14/02/2024. +//struct LookUpsView: View { +// @StateObject private var viewModel = SpeciesViewModel() +// +// var body: some View { +// Form() { +// List(viewModel.validationStatusD.values.sorted(by: { $0.name < $1.name })) { category in +// Text("\(category.name): \(category.isActive ? "Active" : "Inactive")") +// } +// +// List(viewModel.rarityD.values.sorted(by: { $0.name < $1.name })) { category in +// Text("\(category.name): \(category.isActive ? "Active" : "Inactive")") +// } +// +// List(viewModel.validationStatus) { category in +// Text("\(category.ID) \(category.name)") +// } +// +// +// List(viewModel.species_type) { category in +// Text("\(category.ID) \(category.name)") +// } +// +// List(viewModel.rarity) { category in +// Text("\(category.ID) \(category.name)") +// } +// +// List(viewModel.counting_method) { category in +// Text("\(category.ID) \(category.name)") +// } +// +// List(viewModel.obscurity) { category in +// Text("\(category.ID) \(category.name)") +// } +// } +// .onAppear { +// viewModel.fetchSpeciesData() +// } +// } +//} // - -import SwiftUI -import Alamofire - -struct LookUpsView: View { - @StateObject private var viewModel = SpeciesViewModel() - - var body: some View { - Form() { - List(viewModel.validationStatusD.values.sorted(by: { $0.name < $1.name })) { category in - Text("\(category.name): \(category.isActive ? "Active" : "Inactive")") - } - - List(viewModel.rarityD.values.sorted(by: { $0.name < $1.name })) { category in - Text("\(category.name): \(category.isActive ? "Active" : "Inactive")") - } - - List(viewModel.validationStatus) { category in - Text("\(category.ID) \(category.name)") - } - - - List(viewModel.species_type) { category in - Text("\(category.ID) \(category.name)") - } - - List(viewModel.rarity) { category in - Text("\(category.ID) \(category.name)") - } - - List(viewModel.counting_method) { category in - Text("\(category.ID) \(category.name)") - } - - List(viewModel.obscurity) { category in - Text("\(category.ID) \(category.name)") - } - } - .onAppear { - viewModel.fetchSpeciesData() - } - } -} - -// Model -struct SpeciesCategory: Identifiable { - let id = UUID() - let ID: String - let name: String - let isActive: Bool -} - -// ViewModel -class SpeciesViewModel: ObservableObject { - @Published var validationStatus: [SpeciesCategory] = [] - @Published var rarity: [SpeciesCategory] = [] - @Published var counting_method: [SpeciesCategory] = [] - @Published var species_type: [SpeciesCategory] = [] - @Published var obscurity: [SpeciesCategory] = [] - - @Published var validationStatusD: [String: SpeciesCategory] = [:] - @Published var rarityD: [String: SpeciesCategory] = [:] - @Published var countingMethodD: [String: SpeciesCategory] = [:] - @Published var speciesTypeD: [String: SpeciesCategory] = [:] - @Published var obscurityD: [String: SpeciesCategory] = [:] - - // Add properties for other categories - func fetchSpeciesData() { - - let url = "https://waarneming.nl/api/v1/lookups/" -// let _: URLRequest.CachePolicy = .returnCacheDataElseLoad - - AF.request(url)//, cachePolicy: cachePolicy) - .validate() - .responseJSON - { response in - switch response.result { - case .success(let data): - if let jsonData = data as? [String: Any] { - self.validationStatus = self.createSpeciesCategories(from: jsonData["validation_status"]) - self.rarity = self.createSpeciesCategories(from: jsonData["rarity"]) - self.counting_method = self.createSpeciesCategories(from: jsonData["counting_method"]) - self.species_type = self.createSpeciesCategories(from: jsonData["species_type"]) - self.obscurity = self.createSpeciesCategories(from: jsonData["obscurity"]) - // Dictionary - self.validationStatusD = self.createSpeciesDictionary(from: jsonData["validation_status"]) - self.rarityD = self.createSpeciesDictionary(from: jsonData["rarity"]) - self.countingMethodD = self.createSpeciesDictionary(from: jsonData["counting_method"]) - self.speciesTypeD = self.createSpeciesDictionary(from: jsonData["species_type"]) - self.obscurityD = self.createSpeciesDictionary(from: jsonData["obscurity"]) - } - case .failure(let error): - print("Error fetching species data: \(error.localizedDescription)") - } - } - } - - private func createSpeciesDictionary(from data: Any?) -> [String: SpeciesCategory] { - guard let categoriesData = data as? [[String: Any]] else { return [:] } - return Dictionary(uniqueKeysWithValues: categoriesData.map { categoryData in - let category = SpeciesCategory( - ID: categoryData["id"] as? String ?? "", - name: categoryData["name"] as? String ?? "", - isActive: categoryData["is_active"] as? Bool ?? false - ) - return (category.name, category) - }) - } - - private func createSpeciesCategories(from data: Any?) -> [SpeciesCategory] { - guard let categoriesData = data as? [[String: Any]] else { return [] } - return categoriesData.map { categoryData in - SpeciesCategory( - ID: categoryData["id"] as? String ?? "", - name: categoryData["name"] as? String ?? "", - isActive: categoryData["is_active"] as? Bool ?? false - ) - } - } -} - -#Preview { - LookUpsView() -} +//// Model +//struct SpeciesCategory: Identifiable { +// let id = UUID() +// let ID: String +// let name: String +// let isActive: Bool +//} +// +//// ViewModel +//class SpeciesViewModel: ObservableObject { +// @Published var validationStatus: [SpeciesCategory] = [] +// @Published var rarity: [SpeciesCategory] = [] +// @Published var counting_method: [SpeciesCategory] = [] +// @Published var species_type: [SpeciesCategory] = [] +// @Published var obscurity: [SpeciesCategory] = [] +// +// @Published var validationStatusD: [String: SpeciesCategory] = [:] +// @Published var rarityD: [String: SpeciesCategory] = [:] +// @Published var countingMethodD: [String: SpeciesCategory] = [:] +// @Published var speciesTypeD: [String: SpeciesCategory] = [:] +// @Published var obscurityD: [String: SpeciesCategory] = [:] +// +// // Add properties for other categories +// func fetchSpeciesData() { +// +// let url = "https://waarneming.nl/api/v1/lookups/" +//// let _: URLRequest.CachePolicy = .returnCacheDataElseLoad +// +// AF.request(url)//, cachePolicy: cachePolicy) +// .validate() +// .responseJSON +// +// { response in +// switch response.result { +// case .success(let data): +// +// +// +// +// if let jsonData = data as? [String: Any] { +// self.validationStatus = self.createSpeciesCategories(from: jsonData["validation_status"]) +// self.rarity = self.createSpeciesCategories(from: jsonData["rarity"]) +// self.counting_method = self.createSpeciesCategories(from: jsonData["counting_method"]) +// self.species_type = self.createSpeciesCategories(from: jsonData["species_type"]) +// self.obscurity = self.createSpeciesCategories(from: jsonData["obscurity"]) +// // Dictionary +// self.validationStatusD = self.createSpeciesDictionary(from: jsonData["validation_status"]) +// self.rarityD = self.createSpeciesDictionary(from: jsonData["rarity"]) +// self.countingMethodD = self.createSpeciesDictionary(from: jsonData["counting_method"]) +// self.speciesTypeD = self.createSpeciesDictionary(from: jsonData["species_type"]) +// self.obscurityD = self.createSpeciesDictionary(from: jsonData["obscurity"]) +// } +// case .failure(let error): +// print("Error fetching species data: \(error.localizedDescription)") +// } +// } +// } +// +// private func createSpeciesDictionary(from data: Any?) -> [String: SpeciesCategory] { +// guard let categoriesData = data as? [[String: Any]] else { return [:] } +// return Dictionary(uniqueKeysWithValues: categoriesData.map { categoryData in +// let category = SpeciesCategory( +// ID: categoryData["id"] as? String ?? "", +// name: categoryData["name"] as? String ?? "", +// isActive: categoryData["is_active"] as? Bool ?? false +// ) +// return (category.name, category) +// }) +// } +// +// private func createSpeciesCategories(from data: Any?) -> [SpeciesCategory] { +// guard let categoriesData = data as? [[String: Any]] else { return [] } +// return categoriesData.map { categoryData in +// SpeciesCategory( +// ID: categoryData["id"] as? String ?? "", +// name: categoryData["name"] as? String ?? "", +// isActive: categoryData["is_active"] as? Bool ?? false +// ) +// } +// } +//} +// +//#Preview { +// LookUpsView() +//} diff --git a/Ravens/Notes.md b/Ravens/Notes.md index c883ca7c..f78ab378 100644 --- a/Ravens/Notes.md +++ b/Ravens/Notes.md @@ -12,7 +12,7 @@ + images now cached ## 17 -+ scrolling through days (done in birdview) ++ scrolling through days (done in speciesview) + scrolling through obs (done in userview) + user positions (a start) + data requests timed diff --git a/Ravens/Views/MapObservationView.swift b/Ravens/Views/MapObservationView.swift index 155c6b0c..46857720 100644 --- a/Ravens/Views/MapObservationView.swift +++ b/Ravens/Views/MapObservationView.swift @@ -20,12 +20,12 @@ struct MapObservationView: View { @ObservedObject var locationManager = LocationManager() @State private var cameraPosition: MapCameraPosition? - + @State private var isSheetObservationsViewPresented = false @State private var MapCameraPositiondefault = MapCameraPosition .region( MKCoordinateRegion( center: CLLocationCoordinate2D(latitude: latitude, longitude: longitude), - span: MKCoordinateSpan(latitudeDelta: 0.1, longitudeDelta: 0.1) + span: MKCoordinateSpan(latitudeDelta: latitudeDelta, longitudeDelta: longitudeDelta) ) ) @@ -40,72 +40,81 @@ struct MapObservationView: View { } var body: some View { - VStack { - MapReader { proxy in - Map(position: cameraBinding) { - - UserAnnotation() - - if (settings.poiOn) { - ForEach(viewModel.poiList, id: \.name) { poi in - Annotation(poi.name, coordinate: poi.coordinate.cllocationCoordinate) { - Triangle() - .fill(Color.gray) - .frame(width: 5, height: 5) + ZStack { + VStack { + MapReader { proxy in + Map(position: cameraBinding) { + + UserAnnotation() + + if (settings.poiOn) { + ForEach(viewModel.poiList, id: \.name) { poi in + Annotation(poi.name, coordinate: poi.coordinate.cllocationCoordinate) { + Triangle() + .fill(Color.gray) + .frame(width: 5, height: 5) + .overlay( + Triangle() + .stroke(Color.white, lineWidth: 1) // Customize the border color and width + ) + } + } + } + + ForEach(observationsViewModel.locations) { location in + Annotation(location.name, coordinate: location.coordinate) { + Circle() + .fill(Color(myColor(value: location.rarity))) + .stroke(location.hasSound ? Color.white : Color.clear,lineWidth: 1) + .frame(width: 12, height: 12) + .overlay( - Triangle() - .stroke(Color.white, lineWidth: 1) // Customize the border color and width + Circle() + .fill(location.hasPhoto ? Color.white : Color.clear) + .frame(width: 6, height: 6) ) } } + + MapCircle(center: circlePos ?? CLLocationCoordinate2D(), radius: CLLocationDistance(settings.radius)) + .foregroundStyle(.clear.opacity(100)) + .stroke(colorByMapStyle(), lineWidth: 1) + } + .mapStyle(settings.mapStyle) + + .safeAreaInset(edge: .bottom) { + SettingsDetailsView(count: observationsViewModel.locations.count, results: observationsViewModel.observations?.count ?? 0 ) } - ForEach(observationsViewModel.locations) { location in - Annotation(location.name, coordinate: location.coordinate) { - Circle() - .fill(Color(myColor(value: location.rarity))) - .stroke(location.hasSound ? Color.white : Color.clear,lineWidth: 1) - .frame(width: 12, height: 12) + .onTapGesture() { position in + if let coordinate = proxy.convert(position, from: .local) { + observationsViewModel.fetchData(lat: coordinate.latitude, long: coordinate.longitude, + completion: {print("fetchData observationsViewModel xxx completed")} ) - .overlay( - Circle() - .fill(location.hasPhoto ? Color.white : Color.clear) - .frame(width: 6, height: 6) - ) + // Create a new CLLocation instance with the updated coordinates + let newLocation = CLLocation(latitude: coordinate.latitude, longitude: coordinate.longitude) + circlePos = CLLocationCoordinate2D(latitude: coordinate.latitude, longitude: coordinate.longitude) + + // Update currentLocation with the new CLLocation instance + settings.currentLocation = newLocation //?? why>>for other sheetview } } - - MapCircle(center: circlePos ?? CLLocationCoordinate2D(), radius: CLLocationDistance(settings.radius)) - .foregroundStyle(.clear.opacity(100)) - .stroke(colorByMapStyle(), lineWidth: 1) - } - .mapStyle(settings.mapStyle) - - .safeAreaInset(edge: .bottom) { - VStack { - SettingsDetailsView(count: observationsViewModel.locations.count, results: observationsViewModel.observations?.count ?? 0 ) - } - } - - .onTapGesture() { position in - if let coordinate = proxy.convert(position, from: .local) { - observationsViewModel.fetchData(lat: coordinate.latitude, long: coordinate.longitude, - completion: {print("fetchData observationsViewModel xxx completed")} ) - - // Create a new CLLocation instance with the updated coordinates - let newLocation = CLLocation(latitude: coordinate.latitude, longitude: coordinate.longitude) - circlePos = CLLocationCoordinate2D(latitude: coordinate.latitude, longitude: coordinate.longitude) - - // Update currentLocation with the new CLLocation instance - settings.currentLocation = newLocation //?? why>>for other sheetview + .mapControls() { + MapCompass() //tapping this makes it north } } - .mapControls() { - MapCompass() //tapping this makes it north - } } + + ObservationCircle(toggle: $isSheetObservationsViewPresented, colorHex: "f7b731") } - .onAppear() { + + // + .sheet(isPresented: $isSheetObservationsViewPresented) { + ObservationsView(isShowing: $isSheetObservationsViewPresented) + } + // + + .onAppear() { viewModel.fetchPOIs() DispatchQueue.main.asyncAfter(deadline: .now() + 0.1) { @@ -138,7 +147,7 @@ struct MapObservationView: View { ) ) settings.isFirstAppearObsView = false - } // 1 + } } ) @@ -171,45 +180,3 @@ struct MapObservationView_Previews: PreviewProvider { } } - - - -//if settings.isFirstAppearObsView { -// DispatchQueue.main.asyncAfter(deadline: .now() + 0.1) { -// if let location = self.locationManager.location { -// let myLatitude = location.coordinate.latitude -// let myLongitude = location.coordinate.longitude -// print("My location is: \(myLatitude), \(myLongitude)") -// circlePos = CLLocationCoordinate2D(latitude: location.coordinate.latitude, longitude: location.coordinate.longitude) -// -// // save the location -// settings.currentLocation = location -// -// observationsViewModel.fetchData(lat: myLatitude, long: myLongitude, -// completion: {print("fetchData observationsViewModel yyy completed") -// -// -// // Initialize cameraPosition with user's current location -// let delta = Double(settings.radius) * 0.000032 -// cameraPosition = MapCameraPosition -// .region( -// MKCoordinateRegion( -// center: CLLocationCoordinate2D(latitude: myLatitude, -// longitude: myLongitude), -// span: MKCoordinateSpan(latitudeDelta: delta, longitudeDelta: delta) -// ) -// ) -// -// -// } ) -// -// } else { -// print("Location is not available yet") -// // Handle the case when location is not available -// } -// -// log.verbose("settings.selectedGroupId: \(settings.selectedGroup)") -// speciesGroupViewModel.fetchData(language: settings.selectedLanguage, completion: { _ in log.info("fetcheddata speciesGroupViewModel") }) -// } -// settings.isFirstAppearObsView = false -//} diff --git a/Ravens/Views/MapObservationsLocationView.swift b/Ravens/Views/MapObservationsLocationView.swift index 0b6d8ca2..ef43f6a6 100644 --- a/Ravens/Views/MapObservationsLocationView.swift +++ b/Ravens/Views/MapObservationsLocationView.swift @@ -20,29 +20,26 @@ struct MapObservationsLocationView: View { @State private var polyOverlays = [MKPolygon]() @EnvironmentObject var observationsLocationViewModel: ObservationsLocationViewModel - - // @EnvironmentObject var observationsViewModel: ObservationsViewModel @EnvironmentObject var speciesGroupViewModel: SpeciesGroupViewModel @EnvironmentObject var keyChainViewModel: KeychainViewModel @EnvironmentObject var settings: Settings @ObservedObject var locationManager = LocationManager() + @State private var cameraPosition: MapCameraPosition? + @State private var isSheetObservationsLocationsViewPresented = false @State private var locationId: Int = 0 - @Binding var sharedLocationId: Int - -// @State private var deltaLat: Double = 0.1 -// @State private var deltaLong: Double = 0.1 - + @State private var locationStr: String = "no location" + @State private var circlePos: CLLocationCoordinate2D? @State private var MapCameraPositiondefault = MapCameraPosition .region( MKCoordinateRegion( center: CLLocationCoordinate2D(latitude: latitude, longitude: longitude), - span: MKCoordinateSpan(latitudeDelta: 0.1, longitudeDelta: 0.1) + span: MKCoordinateSpan(latitudeDelta: latitudeDelta, longitudeDelta: longitudeDelta) ) ) @@ -54,100 +51,76 @@ struct MapObservationsLocationView: View { ) } - - var body: some View { - VStack { - MapReader { proxy in - Map(position: cameraBinding) { - - UserAnnotation() - - if (settings.poiOn) { - ForEach(viewModel.poiList, id: \.name) { poi in - Annotation(poi.name, coordinate: poi.coordinate.cllocationCoordinate) { - Triangle() - .fill(Color.gray) - .frame(width: 5, height: 5) + ZStack { + VStack { + MapReader { proxy in + Map(position: cameraBinding) { + + UserAnnotation() + + if (settings.poiOn) { + ForEach(viewModel.poiList, id: \.name) { poi in + Annotation(poi.name, coordinate: poi.coordinate.cllocationCoordinate) { + Triangle() + .fill(Color.gray) + .frame(width: 5, height: 5) + .overlay( + Triangle() + .stroke(Color.white, lineWidth: 1) // Customize the border color and width + ) + } + } + } + + // location observation + ForEach(observationsLocationViewModel.locations) { location in + Annotation(location.name, coordinate: location.coordinate) { + Circle() + .fill(Color(myColor(value: location.rarity))) + .stroke(location.hasSound ? Color.white : Color.clear,lineWidth: 1) + .frame(width: 12, height: 12) + .overlay( - Triangle() - .stroke(Color.white, lineWidth: 1) // Customize the border color and width + Circle() + .fill(location.hasPhoto ? Color.white : Color.clear) + .frame(width: 6, height: 6) ) } } - } - - // location observation - ForEach(observationsLocationViewModel.locations) { location in - Annotation(location.name, coordinate: location.coordinate) { - Circle() - .fill(Color(myColor(value: location.rarity))) - .stroke(location.hasSound ? Color.white : Color.clear,lineWidth: 1) - .frame(width: 12, height: 12) - - .overlay( - Circle() - .fill(location.hasPhoto ? Color.white : Color.clear) - .frame(width: 6, height: 6) - ) + + //JSONData + ForEach(polyOverlays, id: \.self) { polyOverlay in + MapPolygon(polyOverlay) + .stroke(.pink, lineWidth: 1) + .foregroundStyle(.blue.opacity(0.1)) } + + } + .mapStyle(settings.mapStyle) - //JSONData - ForEach(polyOverlays, id: \.self) { polyOverlay in - MapPolygon(polyOverlay) - .stroke(.pink, lineWidth: 1) - .foregroundStyle(.blue.opacity(0.1)) - } - - - } - .mapStyle(settings.mapStyle) - - .safeAreaInset(edge: .bottom) { - VStack { - SettingsDetailsView(count: observationsLocationViewModel.locations.count, results: observationsLocationViewModel.observationsSpecies?.count ?? 0 ) -// HStack { -// Image(systemName: keyChainViewModel.token.isEmpty ? "person.slash" : "person") -// .foregroundColor(keyChainViewModel.token.isEmpty ? .red : .obsGreenFlower) -// NetworkView() -// Spacer() -// VStack(alignment: .trailing) { -// HStack{ -// Spacer() -// Text("\(observationsLocationViewModel.locations.count) - \(observationsLocationViewModel.observationsSpecies?.results.count ?? 0)") -// .foregroundColor(.obsGreenFlower) -// -// } -// .lineLimit(1) // Set the maximum number of lines to 1 -// .truncationMode(.tail) // Use ellipsis in the tail if the text is truncated -// } -// } - .padding(5) - .frame(maxHeight: 30) - - if locationIdViewModel.locations.count > 0 { + .safeAreaInset(edge: .bottom) { + VStack { + SettingsDetailsView(count: observationsLocationViewModel.locations.count, results: observationsLocationViewModel.observations?.count ?? 0) + + HStack { Spacer() - Text("\(locationIdViewModel.locations[0].name)") + let text = locationIdViewModel.locations.count > 0 ? "\(locationIdViewModel.locations[0].name)" : "Default Name" + Text(text) } .padding(5) - .frame(maxHeight: 30) - } else { - Text("Default Name") - .padding(5) - .frame(maxHeight: 30) + .font(.headline) + .foregroundColor(.obsGreenFlower) + .background(Color.obsGreenEagle.opacity(0.5)) + .frame(height: 20) } - } - .background(Color.obsGreenEagle.opacity(0.5)) - .font(.headline) - .foregroundColor(.obsGreenFlower) - .background(Color.obsGreenEagle.opacity(0.5)) - } - - .onTapGesture() { position in + + .onTapGesture() { position in + if let coordinate = proxy.convert(position, from: .local) { // Create a new CLLocation instance with the updated coordinates @@ -163,17 +136,14 @@ struct MapObservationsLocationView: View { log.info(location.id) //dit is de locatieId en hiermee halen we de geoJSON data op geoJSONViewModel.fetchGeoJsonData(for: String(location.id)) { polyOverlaysIn in polyOverlays = polyOverlaysIn - locationId = location.id - sharedLocationId = location.id + +// log.error("\(locationIdViewModel.count)") //and now er get the observations from the locationId observationsLocationViewModel.fetchData(locationId: locationId, limit: 100, offset: 0, completion: { log.info("MapObservationsLocationView: fetchObservationsLocationData completed use delta") log.info(observationsLocationViewModel.span) - -// cameraPosition = getCameraPosition(settings: settings, observationsLocationViewModel: observationsLocationViewModel, latitude: latitude, longitude: longitude, latitudeDelta: latitudeDelta, longitudeDelta: longitudeDelta) - } ) } @@ -182,14 +152,27 @@ struct MapObservationsLocationView: View { // Update currentLocation with the new CLLocation instance settings.currentLocation = newLocation + } + } + .mapControls() { + MapCompass() //tapping this makes it north + } - } - .mapControls() { - MapCompass() //tapping this makes it north - } } + ObservationCircle(toggle: $isSheetObservationsLocationsViewPresented, colorHex: "a7b731") + + } + + .sheet(isPresented: $isSheetObservationsLocationsViewPresented) { + ObservationsLocationView( + locationId: locationId, + locationStr: locationStr, + isShowing: $isSheetObservationsLocationsViewPresented) } + + + .onAppear() { //onappear viewModel.fetchPOIs() @@ -208,24 +191,21 @@ struct MapObservationsLocationView: View { } } - //getdata - //-----------------------------------------//3 //geoJSON polyOverlays.removeAll() - //-----------------------------------------//2 locationIdViewModel.fetchLocations(latitude: circlePos?.latitude ?? 0, longitude: circlePos?.longitude ?? 0) { fetchedLocations in - // Use fetchedLocations here //actually one location - //-----------------------------------------//1 - for location in fetchedLocations { //1 - geoJSONViewModel.fetchGeoJsonData(for: String(location.id)) { polyOverlaysIn in //a + // Use fetchedLocations here //actually it is one location + for location in fetchedLocations { + geoJSONViewModel.fetchGeoJsonData(for: String(location.id)) { polyOverlaysIn in polyOverlays = polyOverlaysIn locationId = location.id - sharedLocationId = location.id + locationStr = location.name // the first is the same observationsLocationViewModel.fetchData(locationId: locationId, limit: 100, offset: 0, completion: { log.info("MapObservationsLocationView: fetchObservationsLocationData completed use delta") log.info(observationsLocationViewModel.span) +// log.error(observationsLocationViewModel.observations?.results.count ?? 0) //?? if settings.isFirstAppear { cameraPosition = MapCameraPosition @@ -242,15 +222,11 @@ struct MapObservationsLocationView: View { settings.isFirstAppear = false } - } //settings.isFirstAppearObsView - ) //fetchdata locationId - } //alocation - } //1 - //-----------------------------------------//1 + } + ) + } + } } - //-----------------------------------------//2 - - //-----------------------------------------//3 log.verbose("settings.selectedGroupId: \(settings.selectedGroup)") speciesGroupViewModel.fetchData(language: settings.selectedLanguage, completion: { _ in log.info("fetcheddata speciesGroupViewModel") }) @@ -287,7 +263,7 @@ struct MapObservationsLocationView: View { struct MapObservationLocationView_Previews: PreviewProvider { static var previews: some View { // Setting up the environment objects for the preview - MapObservationsLocationView(sharedLocationId: .constant(0)) + MapObservationsLocationView() .environmentObject(Settings()) .environmentObject(ObservationsViewModel(settings: Settings())) .environmentObject(SpeciesGroupViewModel(settings: Settings())) @@ -295,68 +271,3 @@ struct MapObservationLocationView_Previews: PreviewProvider { } } - -////onappear -//{ -// viewModel.fetchPOIs() -// -// if settings.isFirstAppear { -// -// DispatchQueue.main.asyncAfter(deadline: .now() + 0.1) { -// -// if let location = self.locationManager.location { -// let myLatitude = location.coordinate.latitude -// let myLongitude = location.coordinate.longitude -// log.info("My location is: \(myLatitude), \(myLongitude)") -// circlePos = CLLocationCoordinate2D(latitude: location.coordinate.latitude, longitude: location.coordinate.longitude) -// -// // save the location -// settings.currentLocation = location -// -// // geoJSON -// polyOverlays.removeAll() -// -// locationIdViewModel.fetchLocations(latitude: location.coordinate.latitude, longitude: location.coordinate.longitude) { fetchedLocations in -// // Use fetchedLocations here -// -// for location in fetchedLocations { -// geoJSONViewModel.fetchGeoJsonData(for: String(location.id)) { polyOverlaysIn in -// polyOverlays = polyOverlaysIn -// locationId = location.id -// sharedLocationId = location.id -// -// observationsLocationViewModel.fetchData(locationId: locationId, limit: 100, offset: 0, completion: { -// log.info("MapObservationsLocationView: fetchObservationsLocationData completed use delta") -// log.info(observationsLocationViewModel.span) -// -// cameraPosition = MapCameraPosition -// .region( -// MKCoordinateRegion( -// center: CLLocationCoordinate2D( -// latitude: geoJSONViewModel.span.latitude, -// longitude: geoJSONViewModel.span.longitude), -// span: MKCoordinateSpan( -// latitudeDelta: geoJSONViewModel.span.latitudeDelta, -// longitudeDelta: geoJSONViewModel.span.longitudeDelta) -// ) -// ) -// -// -// } -// ) -// -// } -// } -// } -// } else { -// log.info("Location is not available yet") -// // Handle the case when location is not available -// } -// log.verbose("settings.selectedGroupId: \(settings.selectedGroup)") -// speciesGroupViewModel.fetchData(language: settings.selectedLanguage, completion: { _ in log.info("fetcheddata speciesGroupViewModel") }) -// -// -// settings.isFirstAppear=false -// } -// } -//} diff --git a/Ravens/Views/MapObservationsUserView.swift b/Ravens/Views/MapObservationsUserView.swift index b76da2ef..c312f53c 100644 --- a/Ravens/Views/MapObservationsUserView.swift +++ b/Ravens/Views/MapObservationsUserView.swift @@ -63,7 +63,7 @@ struct MapObservationsUserView: View { VStack(alignment: .trailing) { HStack{ Spacer() - Text("\((observationsUserViewModel.observationsSpecies?.count ?? 0) - offset) - \((observationsUserViewModel.observationsSpecies?.count ?? 0) - offset + limit)") + Text("\((observationsUserViewModel.observations?.count ?? 0) - offset) - \((observationsUserViewModel.observations?.count ?? 0) - offset + limit)") .foregroundColor(.obsGreenFlower) } @@ -78,7 +78,7 @@ struct MapObservationsUserView: View { Spacer() Button(action: { - if let maxOffset = observationsUserViewModel.observationsSpecies?.count { + if let maxOffset = observationsUserViewModel.observations?.count { print("maxOffset: \(maxOffset)") offset = min(offset + 100, maxOffset) limit = 100 @@ -119,11 +119,13 @@ struct MapObservationsUserView: View { MapCompass() //tapping this makes it north } - ObservationCircle(toggle: $isSheetObservationsViewPresented, colorHex: "f7b731") + ObservationCircle(toggle: $isSheetObservationsViewPresented, colorHex: "77b731") } + .sheet(isPresented: $isSheetObservationsViewPresented) { ObservationsUserViewExtra(viewModel: observationsUserViewModel) } + .onAppear { observationsUserViewModel.fetchData(limit: limit, offset: offset) } diff --git a/Ravens/Views/ObsDetailsView.swift b/Ravens/Views/ObsDetailsView.swift new file mode 100644 index 00000000..94f7eeeb --- /dev/null +++ b/Ravens/Views/ObsDetailsView.swift @@ -0,0 +1,108 @@ +// +// ObsDetailsView.swift +// Ravens +// +// Created by Eric de Quartel on 12/02/2024. +// + +import SwiftUI +import SwiftyBeaver +import Alamofire +import AlamofireImage +import AVFoundation + +struct ObsDetailsView: View { + let log = SwiftyBeaver.self + @StateObject var obsViewModel = ObsViewModel(settings: Settings()) + @EnvironmentObject var settings: Settings + @EnvironmentObject var keychainViewModel: KeychainViewModel + + @EnvironmentObject var fetchRequestManager: FetchRequestManager + + @State private var selectedImageURL: URL? + @State private var isShareSheetPresented = false + + var obsID: Int + var observation: Observation + var showUsername: Bool + + var body: some View { + LazyVStack { + + + if let obs = obsViewModel.observation { + LazyVStack(alignment: .leading) { + HStack { + Image(systemName: "circle.fill") + .foregroundColor(Color(myColor(value: obs.rarity))) + + Text("\(obs.species_detail.name)") + .bold() + .lineLimit(1) // Set the maximum number of lines to 1 + .truncationMode(.tail) // Use ellipsis in the tail if the text is truncated + + Spacer() + + // + Text("\(obs.species_detail.scientific_name)") + .italic() + .lineLimit(1) // Set the maximum number of lines to 1 + .truncationMode(.tail) // Use ellipsis in the tail if the text is truncated + } + .onTapGesture { //sounds + if let url = URL(string: obs.permalink) { + UIApplication.shared.open(url) + } + } + + Text("\(obs.date) \(obs.time ?? ""), \(obs.number)") + + if showUsername { + HStack { + Text("\(obs.user_detail?.name ?? "unknown")") + Spacer() + Text("\(obs.user_detail?.id ?? 0)") + } + } + + HStack { + Text("\(obs.location_detail?.name ?? "unknown")") + Spacer() + Text("\(obs.location_detail?.id ?? 0)") + } + + if obs.notes?.count ?? 0 > 0 { + Text("\(obs.notes ?? "unknown")") + .italic() + } + + ForEach(obs.photos ?? [], id: \.self) { imageURLString in + AFImageView(media: imageURLString) + } + + if (obs.sounds?.count ?? 0) > 0 { + PlayerControlsView(audio: obs.sounds ?? []) + } + + + } + .font(.customMedium) + } + else { + Text("\(obsID) \(observation) not found") + } + } + .onAppear { + fetchRequestManager.fetchDataAfterDelay(for: obsID, by: obsViewModel) + } + } + +} + + +//#Preview { +// ObsDetailsView(obsID: 2, observationSpecies: <#T##ObservationSpecies#>, showUsername: true) +// .environmentObject(KeychainViewModel()) +// .environmentObject(Settings()) +//} + diff --git a/Ravens/Views/ObsExtendedView.swift b/Ravens/Views/ObsExtendedView.swift index 498c6afa..e85a56ee 100644 --- a/Ravens/Views/ObsExtendedView.swift +++ b/Ravens/Views/ObsExtendedView.swift @@ -32,7 +32,7 @@ struct ObsExtendedView: View { HStack { // Text("\(obsID)") Image(systemName: "circle.fill") - .foregroundColor(Color(myColor(value: obs.rarity ?? 0))) + .foregroundColor(Color(myColor(value: obs.rarity))) Text("\(obs.species_detail.name)") .bold() @@ -74,12 +74,12 @@ struct ObsExtendedView: View { .italic() } - ForEach(obs.photos, id: \.self) { imageURLString in + ForEach(obs.photos ?? [], id: \.self) { imageURLString in AFImageView(media: imageURLString) } - if obs.sounds.count>0 { - PlayerControlsView(audio: obs.sounds) + if (obs.sounds?.count ?? 0) > 0 { + PlayerControlsView(audio: obs.sounds ?? []) } diff --git a/Ravens/Views/ObsView.swift b/Ravens/Views/ObsView.swift index eb9e0542..a17154a3 100644 --- a/Ravens/Views/ObsView.swift +++ b/Ravens/Views/ObsView.swift @@ -13,110 +13,98 @@ import AVFoundation struct ObsView: View { let log = SwiftyBeaver.self - @StateObject var obsViewModel = ObsViewModel(settings: Settings()) - @EnvironmentObject var settings: Settings - @EnvironmentObject var keychainViewModel: KeychainViewModel - - @EnvironmentObject var fetchRequestManager: FetchRequestManager - + @State private var selectedImageURL: URL? @State private var isShareSheetPresented = false - var obsID: Int - var showUsername: Bool + var obs: Observation + var showUsername: Bool = true + var showLocation: Bool = true var body: some View { LazyVStack { - if let obs = obsViewModel.observation { - LazyVStack(alignment: .leading) { - HStack { - Text("\(obsID)") - - Image(systemName: "circle.fill") - .foregroundColor(Color(myColor(value: obs.rarity ?? 0))) - - Text("\(obs.species_detail.name)") - .bold() - .lineLimit(1) // Set the maximum number of lines to 1 - .truncationMode(.tail) // Use ellipsis in the tail if the text is truncated - - Spacer() - - // - Text("\(obs.species_detail.scientific_name)") - .italic() - .lineLimit(1) // Set the maximum number of lines to 1 - .truncationMode(.tail) // Use ellipsis in the tail if the text is truncated - } -// .onTapGesture { //sounds -// if let url = URL(string: obs.permalink) { -// UIApplication.shared.open(url) -// } -// } - - Text("\(obs.date) \(obs.time ?? ""), \(obs.number)") - - if showUsername { - HStack { - Text("\(obs.user_detail?.name ?? "unknown")") - Spacer() - Text("\(obs.user_detail?.id ?? 0)") - } - } - - HStack { - Text("\(obs.location_detail?.name ?? "unknown")") - Spacer() - Text("\(obs.location_detail?.id ?? 0)") - } - - if obs.notes?.count ?? 0 > 0 { - Text("\(obs.notes ?? "unknown")") - .italic() - } - - ForEach(obs.photos, id: \.self) { imageURLString in - AFImageView(media: imageURLString) - } - - if obs.sounds.count>0 { - PlayerControlsView(audio: obs.sounds) - } - - + HStack { + Image(systemName: "circle.fill") + .foregroundColor(Color(myColor(value: obs.rarity))) + + Text("\(obs.species_detail.name)") + .bold() + .lineLimit(1) // Set the maximum number of lines to 1 + .truncationMode(.tail) // Use ellipsis in the tail if the text is truncated + + Spacer() + + // + Text("\(obs.species_detail.scientific_name)") + .italic() + .lineLimit(1) // Set the maximum number of lines to 1 + .truncationMode(.tail) // Use ellipsis in the tail if the text is truncated + } + .onTapGesture { //sounds + if let url = URL(string: obs.permalink) { + UIApplication.shared.open(url) } - .font(.customMedium) } - else { - ProgressView() + + HStack { + Text("\(obs.date) \(obs.time ?? "") - \(obs.number)x") + Spacer() } -// Divider() -// NavigationLink(destination: Text("eeee")) { -// Text("Go to ObsExtendedView") -// .frame(minWidth: 0, maxWidth: .infinity) -// .padding() -// .foregroundColor(.white) -// .background(Color.blue) -// .cornerRadius(40) -// } -// .padding(.horizontal) + if showUsername { + HStack { + Text("\(obs.user_detail?.name ?? String(obs.user))") + Spacer() + Text("\(obs.user_detail?.id ?? 0)") + } + } + if showLocation { + HStack { + Text("\(obs.location_detail?.name ?? "name")") + Spacer() + Text("\(obs.location_detail?.id ?? 0)") + } + } + + if obs.notes?.count ?? 0 > 0 { + HStack { + Text("\(obs.notes ?? "unknown")") + .italic() + Spacer() + } + } + + ForEach(obs.photos ?? [], id: \.self) { imageURLString in + AFImageView(media: imageURLString) + } + + if (obs.sounds?.count ?? 0)>0 { + HStack { + PlayerControlsView(audio: obs.sounds ?? [] ) + Spacer() + } + } } - .onAppear { - fetchRequestManager.fetchDataAfterDelay(for: obsID, by: obsViewModel) - } - -// .padding(.top, 20) -// .padding(.horizontal, 20) } - } -#Preview { - ObsView(obsID: 2, showUsername: true) - .environmentObject(KeychainViewModel()) - .environmentObject(Settings()) -} +//#Preview { +//// var obs: ObservationSpecies +// ObsView(obs: ObservationSpecies) +//} + +//struct ObsView_Previews: PreviewProvider { +// static var previews: some View { +// ObsView(obs: ObservationSpecies( +// id: 1, +// species_detail: SpeciesDetail( +// id: 1,) +// } +//} + + + + diff --git a/Ravens/Views/ObservationUserView.swift b/Ravens/Views/ObservationUserView.swift index 485d380c..4dda9791 100644 --- a/Ravens/Views/ObservationUserView.swift +++ b/Ravens/Views/ObservationUserView.swift @@ -28,7 +28,7 @@ struct ObservationsUserView: View { UserSimpleView() Button { - if let maxOffset = viewModel.observationsSpecies?.count { + if let maxOffset = viewModel.observations?.count { offset = min(offset + 100, maxOffset) limit = 100 viewModel.fetchData(limit: limit, offset: offset) @@ -52,13 +52,10 @@ struct ObservationsUserView: View { .padding() List { - if let results = viewModel.observationsSpecies?.results { - ForEach(results.sorted(by: { ($1.rarity, $0.species_detail.name, $1.date) < ($0.rarity, $1.species_detail.name, $0.date) }), id: \.id) { -// ForEach(results.sorted(by: { ($0.species_group, $1.rarity, $1.date, $0.species_detail.name) < ($1.species_group, $0.rarity, $0.date, $1.species_detail.name) } ), id: \.id) { -// ForEach(results.sorted(by: { ($1.date, $1.time ?? "" ) < ($0.date, $0.time ?? "") } ), id: \.id) { -// ForEach(results.sorted(by: { ($0.species_group, $1.rarity, $1.date, $0.species_detail.name) < ($1.species_group, $0.rarity, $0.date, $1.species_detail.name) } ), id: \.id) { + if let results = viewModel.observations?.results { + ForEach(results.sorted(by: { (/*$0.species_group, */$1.rarity, $0.species_detail.name, $1.date, $0.time ?? "00:00") < (/*$1.species_group, */$0.rarity, $1.species_detail.name, $0.date, $1.time ?? "00:00") }), id: \.id) { result in - ObsView(obsID: result.id ?? 0, showUsername: false) + ObsView(obs: result) } .font(.footnote) } @@ -76,8 +73,6 @@ struct ObservationsUserViewExtra: View { var viewModel: ObservationsUserViewModel @EnvironmentObject var settings: Settings -// @State private var scale: CGFloat = 1.0 -// @State private var lastScale: CGFloat = 1.0 var body: some View { VStack { @@ -85,17 +80,15 @@ struct ObservationsUserViewExtra: View { Text("Waarneming"+" ") UserSimpleView() } - .padding() - .font(.headline) + .padding(16) + .bold() List { -// ScrollView { - if let results = viewModel.observationsSpecies?.results { + if let results = viewModel.observations?.results { ForEach(results.sorted(by: { ($1.date, $1.time ?? "" ) < ($0.date, $0.time ?? "") } ), id: \.id) { result in - ObsView(obsID: result.id ?? 0, showUsername: false) + ObsView(obs: result, showUsername: false) } - .font(.footnote) } } } diff --git a/Ravens/Views/ObservationsLocationsView.swift b/Ravens/Views/ObservationsLocationsView.swift index b8567ceb..52e56c15 100644 --- a/Ravens/Views/ObservationsLocationsView.swift +++ b/Ravens/Views/ObservationsLocationsView.swift @@ -15,62 +15,30 @@ struct ObservationsLocationView: View { @EnvironmentObject var viewModel: ObservationsLocationViewModel @EnvironmentObject var settings: Settings - @State private var scale: CGFloat = 1.0 - @State private var lastScale: CGFloat = 1.0 @State private var limit = 100 @State private var offset = 0 - @Binding var locationId: Int -// @Binding var locationStr: String + var locationId: Int + var locationStr: String + @Binding var isShowing: Bool var body: some View { VStack { - HStack() { HStack { Text("Obs") - Spacer() - Text("Area") + Text(locationStr) } - Spacer() - Text(String(locationId)) - -// Button { -// if let maxOffset = viewModel.observationsSpecies?.count { -// offset = min(offset + 100, maxOffset) -// limit = 100 -// viewModel.fetchData(locationId: locationId, limit: limit, offset: offset) -// } -// } label: { -// Image(systemName: "plus.circle") -// } -// -// Button { -// if offset >= 100 { -// offset = offset - 100 -// } -// limit = 100 -// viewModel.fetchData(locationId: locationId, limit: limit, offset: offset) -// } label: { -// Image(systemName: "minus.circle") -// } -// -// Text("\(offset)") - } - .padding() + .padding(16) + .bold() List { - if let results = viewModel.observationsSpecies?.results { -// ForEach(results.sorted(by: { ($1.date, $1.time ?? "" ) < ($0.date, $0.time ?? "") } ), id: \.id) { - - -// ForEach(results.sorted(by: { ($0.species_group, $1.rarity, $1.date, $0.species_detail.name) < ($1.species_group, $0.rarity, $0.date, $1.species_detail.name) } ), id: \.id) { - ForEach(results.sorted(by: { ($1.rarity, $0.species_detail.name, $1.date) < ($0.rarity, $1.species_detail.name, $0.date) }), id: \.id) { + if let results = viewModel.observations?.results { + ForEach(results.sorted(by: { ($1.rarity, $0.species_detail.name, $1.date, $0.time ?? "00:00") < ($0.rarity, $1.species_detail.name, $0.date, $1.time ?? "00:00") }), id: \.id) { result in - ObsView(obsID: result.id ?? 0, showUsername: true) + ObsView(obs: result, showLocation: false) } - .font(.footnote) } } } @@ -87,3 +55,25 @@ struct ObservationsLocationView_Previews: PreviewProvider { .environmentObject(Settings()) } } + +// Button { +// if let maxOffset = viewModel.observationsSpecies?.count { +// offset = min(offset + 100, maxOffset) +// limit = 100 +// viewModel.fetchData(locationId: locationId, limit: limit, offset: offset) +// } +// } label: { +// Image(systemName: "plus.circle") +// } +// +// Button { +// if offset >= 100 { +// offset = offset - 100 +// } +// limit = 100 +// viewModel.fetchData(locationId: locationId, limit: limit, offset: offset) +// } label: { +// Image(systemName: "minus.circle") +// } +// +// Text("\(offset)") diff --git a/Ravens/Views/ObservationsSpeciesView.swift b/Ravens/Views/ObservationsSpeciesView.swift index 02e0b979..4a35444f 100644 --- a/Ravens/Views/ObservationsSpeciesView.swift +++ b/Ravens/Views/ObservationsSpeciesView.swift @@ -33,18 +33,21 @@ struct ObservationsSpeciesView: View { .font(.headline) } } - .padding() + .padding(16) + .bold() .buttonStyle(.bordered) .foregroundColor(.obsGreenEagle) List { // ScrollView { if let results = viewModel.observationsSpecies?.results { - let sortedResults = results.sorted(by: { ($1.date, $1.time ?? "" ) < ($0.date, $0.time ?? "") }) + let sortedResults = results.sorted(by: { ($1.date, $0.time ?? "" ) < ($0.date, $1.time ?? "") }) ForEach(sortedResults.indices, id: \.self) { index in let result = sortedResults[index] - ObsView(obsID: result.id ?? 0, showUsername: true) - .font(.footnote) + + + + ObsView(obs: result) .onAppear { if index == sortedResults.count - 1 { print("End of list reached") @@ -52,6 +55,8 @@ struct ObservationsSpeciesView: View { //viewModel.fetchData(speciesId: speciesID, limit: 100, date: settings.selectedDate, days: settings.days) <<< deze wijzige met 0 and 100 } } + + } } } diff --git a/Ravens/Views/ObservationsView.swift b/Ravens/Views/ObservationsView.swift index 607e467a..959c8f46 100644 --- a/Ravens/Views/ObservationsView.swift +++ b/Ravens/Views/ObservationsView.swift @@ -27,16 +27,14 @@ struct ObservationsView: View { .padding(16) if (!keyChainViewModel.token.isEmpty) { - List { //??? -// ScrollView { + List { if let results = observationsViewModel.observations?.results { - ForEach(results.sorted(by: { ($1.rarity, $0.species_detail.name, $1.date) < ($0.rarity, $1.species_detail.name, $0.date) }), id: \.id) { + ForEach(results.sorted(by: { ($1.rarity, $0.species_detail.name, $1.date, $0.time ?? "00:00") < ($0.rarity, $1.species_detail.name, $0.date, $1.time ?? "00:00") }), id: \.id) { result in - ObsView(obsID: result.id, showUsername: true) + ObsView(obs: result, showUsername: true) } } else { - // Handle the case when observationsViewModel.observations?.results is nil Text("nobsavaliable") } } diff --git a/Ravens/Views/BirdView.swift b/Ravens/Views/SpeciesView.swift similarity index 71% rename from Ravens/Views/BirdView.swift rename to Ravens/Views/SpeciesView.swift index c735039e..5c053307 100644 --- a/Ravens/Views/BirdView.swift +++ b/Ravens/Views/SpeciesView.swift @@ -1,5 +1,5 @@ // -// BirdView.swift +// SpeciesView.swift // Ravens // // Created by Eric de Quartel on 08/01/2024. @@ -10,11 +10,9 @@ import SwiftyBeaver //import Popovers -struct BirdView: View { +struct SpeciesView: View { let log = SwiftyBeaver.self - @StateObject private var birdViewModel = BirdViewModel(settings: Settings()) - -// @StateObject private var birdViewModelsecLanguage = BirdViewModel(settings: Settings()) //<< second language later + @StateObject private var speciesViewModel = SpeciesViewModel(settings: Settings()) @EnvironmentObject var observationsSpeciesViewModel: ObservationsSpeciesViewModel @EnvironmentObject var speciesGroupViewModel: SpeciesGroupViewModel @@ -25,7 +23,7 @@ struct BirdView: View { @State private var selectedFilterOption: FilterOption = .native @State private var searchText = "" - @State private var birdId : Int? + @State private var speciesId : Int? // @State private var isPopupVisible = false <== bindable @@ -41,50 +39,50 @@ struct BirdView: View { var body: some View { NavigationStack { List { - ForEach(birdViewModel.filteredBirds(by: selectedSortOption, searchText: searchText, filterOption: selectedFilterOption, rarityFilterOption: settings.selectedRarity, isBookmarked: settings.isBookMarkVisible, additionalIntArray: bookMarks), id: \.species) { bird in + ForEach(speciesViewModel.filteredSpecies(by: selectedSortOption, searchText: searchText, filterOption: selectedFilterOption, rarityFilterOption: settings.selectedRarity, isBookmarked: settings.isBookMarkVisible, additionalIntArray: bookMarks), id: \.species) { species in HStack { HStack { - NavigationLink(destination: MapObservationsSpeciesView(speciesID: bird.id, speciesName: bird.name)) { + NavigationLink(destination: MapObservationsSpeciesView(speciesID: species.id, speciesName: species.name)) { VStack(alignment: .leading) { HStack(spacing: 4) { Image(systemName: "circle.fill") .symbolRenderingMode(.palette) - .foregroundStyle(myColor(value: bird.rarity), .clear) + .foregroundStyle(myColor(value: species.rarity), .clear) //are there any observations if (!keyChainViewModel.token.isEmpty) { - ObservationDetailsView(speciesID: bird.id) + ObservationDetailsView(speciesID: species.id) } - Text(" \(bird.name)") + Text(" \(species.name)") .bold() .lineLimit(1) // Set the maximum number of lines to 1 .truncationMode(.tail) // Use ellipsis in the tail if the text is truncated Spacer() - if isNumberInBookMarks(number: bird.id) { + if isNumberInBookMarks(number: species.id) { Image(systemName: "bookmark") } } HStack { - Text("\(bird.scientific_name)") + Text("\(species.scientific_name)") .italic() .lineLimit(1) // Set the maximum number of lines to 1 .truncationMode(.tail) // Use ellipsis in the tail if the text is truncated } } .onLongPressGesture(minimumDuration: 1) { - log.verbose("onLONGTapgesture \(bird.id)") - birdId = bird.id + log.verbose("onLONGTapgesture \(species.id)") + speciesId = species.id // - if isNumberInBookMarks(number: bird.id) { - if let index = bookMarks.firstIndex(of: bird.id) { + if isNumberInBookMarks(number: species.id) { + if let index = bookMarks.firstIndex(of: species.id) { bookMarks.remove(at: index) settings.saveBookMarks(array: bookMarks) print(bookMarks) } } else { - bookMarks.append(bird.id) + bookMarks.append(species.id) settings.saveBookMarks(array: bookMarks) print(bookMarks) } @@ -92,8 +90,8 @@ struct BirdView: View { } .onAppear() { - birdId = bird.id - log.verbose("onAppear \(bird.id)") + speciesId = species.id + log.verbose("onAppear \(species.id)") } } @@ -150,12 +148,10 @@ struct BirdView: View { .searchable(text: $searchText) .onAppear() { - log.info("birdview: selectedGroup \(settings.selectedGroup)") - - birdViewModel.fetchData(language: settings.selectedLanguage, for: settings.selectedGroup) -// birdViewModelsecLanguage.fetchData(language: "eng", for: settings.selectedGroup) //< [Bird] { +extension SpeciesViewModel { + func sortedSpecies(by sortOption: SortOption) -> [Species] { switch sortOption { case .name: - return birds.sorted { ($0.name < $1.name) } + return species.sorted { ($0.name < $1.name) } case .scientific_name: - return birds.sorted { ($0.scientific_name < $1.scientific_name) } + return species.sorted { ($0.scientific_name < $1.scientific_name) } // Add more sorting options if needed } } } -extension BirdViewModel { - func filteredBirds(by sortOption: SortOption, searchText: String, filterOption: FilterOption, rarityFilterOption: Int, isBookmarked: Bool, additionalIntArray: [Int]) -> [Bird] { - let sortedBirdsList = sortedBirds(by: sortOption) +extension SpeciesViewModel { + func filteredSpecies(by sortOption: SortOption, searchText: String, filterOption: FilterOption, rarityFilterOption: Int, isBookmarked: Bool, additionalIntArray: [Int]) -> [Species] { + let sortedSpeciesList = sortedSpecies(by: sortOption) if searchText.isEmpty { - var filteredList = applyFilter(to: sortedBirdsList, with: filterOption) + var filteredList = applyFilter(to: sortedSpeciesList, with: filterOption) filteredList = applyRarityFilter(to: filteredList, with: rarityFilterOption) return applyBookmarkFilter(to: filteredList, isBookmarked: isBookmarked, additionalIntArray: additionalIntArray) } else { - let filteredList = sortedBirdsList.filter { bird in - bird.name.lowercased().contains(searchText.lowercased()) || - bird.scientific_name.lowercased().contains(searchText.lowercased()) + let filteredList = sortedSpeciesList.filter { species in + species.name.lowercased().contains(searchText.lowercased()) || + species.scientific_name.lowercased().contains(searchText.lowercased()) } var filtered = applyFilter(to: filteredList, with: filterOption) @@ -220,46 +216,46 @@ extension BirdViewModel { } } - private func applyFilter(to birds: [Bird], with filterOption: FilterOption) -> [Bird] { + private func applyFilter(to species: [Species], with filterOption: FilterOption) -> [Species] { switch filterOption { case .all: - return birds + return species case .native: - return birds.filter { $0.native } + return species.filter { $0.native } } } - private func applyRarityFilter(to birds: [Bird], with filterOption: Int) -> [Bird] { + private func applyRarityFilter(to species: [Species], with filterOption: Int) -> [Species] { switch filterOption { case 0: - return birds + return species case 1: - return birds.filter { $0.rarity == 1 } + return species.filter { $0.rarity == 1 } case 2: - return birds.filter { $0.rarity == 2} + return species.filter { $0.rarity == 2} case 3: - return birds.filter { $0.rarity == 3 } + return species.filter { $0.rarity == 3 } case 4: - return birds.filter { $0.rarity == 4 } + return species.filter { $0.rarity == 4 } default: - return birds + return species } } - private func applyBookmarkFilter(to birds: [Bird], isBookmarked: Bool, additionalIntArray: [Int]) -> [Bird] { + private func applyBookmarkFilter(to species: [Species], isBookmarked: Bool, additionalIntArray: [Int]) -> [Species] { if isBookmarked { - return birds.filter { additionalIntArray.contains($0.id) } + return species.filter { additionalIntArray.contains($0.id) } } else { - return birds + return species } } } -struct BirdView_Previews: PreviewProvider { +struct SpeciesView_Previews: PreviewProvider { static var previews: some View { // Setting up the environment objects for the preview - BirdView() + SpeciesView() .environmentObject(ObservationsViewModel(settings: Settings())) .environmentObject(ObservationsSpeciesViewModel(settings: Settings())) .environmentObject(SpeciesGroupViewModel(settings: Settings())) diff --git a/ravens.log b/ravens.log index 18e173bc..8e7ebfff 100644 --- a/ravens.log +++ b/ravens.log @@ -55775,3 +55775,1983 @@ accept-Language: nl 2024-04-02 18:32:00.071 Ravens: URL https://waarneming.nl/api/v1/locations/133746/observations/?species_group=1 2024-04-02 18:32:00.074 Ravens: headers authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d accept-Language: nl +2024-04-03 06:54:02.563 WARNING: *** NEW LAUNCH *** +2024-04-03 06:54:03.154 Ravens: fetchData ObservationsViewModel +2024-04-03 06:54:04.367 Ravens: observations locations count 100 +2024-04-03 06:54:17.516 Ravens: fetchData ObservationsViewModel +2024-04-03 06:54:18.680 Ravens: observations locations count 100 +2024-04-03 06:55:04.500 WARNING: *** NEW LAUNCH *** +2024-04-03 06:55:04.820 Ravens: fetchData ObservationsViewModel +2024-04-03 06:55:06.094 Ravens: observations locations count 100 +2024-04-03 06:55:07.551 Ravens: fetchData ObservationsViewModel +2024-04-03 06:55:08.711 Ravens: observations locations count 100 +2024-04-03 06:59:20.466 WARNING: *** NEW LAUNCH *** +2024-04-03 06:59:21.104 Ravens: fetchData ObservationsViewModel +2024-04-03 06:59:22.225 Ravens: observations locations count 100 +2024-04-03 06:59:23.655 Ravens: fetchData ObservationsViewModel +2024-04-03 06:59:24.958 Ravens: observations locations count 100 +2024-04-03 07:01:03.361 WARNING: *** NEW LAUNCH *** +2024-04-03 07:01:04.112 Ravens: fetchData ObservationsViewModel +2024-04-03 07:01:05.208 Ravens: observations locations count 100 +2024-04-03 07:01:05.432 Ravens: fetchData ObservationsViewModel +2024-04-03 07:01:06.467 Ravens: observations locations count 100 +2024-04-03 07:03:08.278 WARNING: *** NEW LAUNCH *** +2024-04-03 07:03:08.780 Ravens: fetchData ObservationsViewModel +2024-04-03 07:03:10.070 Ravens: observations locations count 100 +2024-04-03 07:03:11.726 Ravens: fetchData ObservationsUserViewModel limit: 100 offset: 0 +2024-04-03 07:03:11.729 Ravens: https://waarneming.nl/api/v1/user/observations/?limit=100&offset=0 +2024-04-03 07:03:13.854 Ravens: https://waarneming.nl/api/v1/user/info/ +2024-04-03 07:06:48.863 WARNING: *** NEW LAUNCH *** +2024-04-03 07:06:49.463 Ravens: fetchData ObservationsViewModel +2024-04-03 07:06:50.590 Ravens: observations locations count 100 +2024-04-03 07:06:51.120 Ravens: fetchData ObservationsUserViewModel limit: 100 offset: 0 +2024-04-03 07:06:51.124 Ravens: https://waarneming.nl/api/v1/user/observations/?limit=100&offset=0 +2024-04-03 07:06:53.331 Ravens: https://waarneming.nl/api/v1/user/info/ +2024-04-03 07:07:27.729 WARNING: *** NEW LAUNCH *** +2024-04-03 07:07:28.146 Ravens: fetchData ObservationsViewModel +2024-04-03 07:07:29.343 Ravens: observations locations count 100 +2024-04-03 07:07:29.639 Ravens: fetchData ObservationsUserViewModel limit: 100 offset: 0 +2024-04-03 07:07:29.642 Ravens: https://waarneming.nl/api/v1/user/observations/?limit=100&offset=0 +2024-04-03 07:07:32.771 Ravens: https://waarneming.nl/api/v1/user/info/ +2024-04-03 07:08:57.849 Ravens: https://waarneming.nl/api/v1/locations/geojson/?id=133746 +2024-04-03 07:08:57.886 Ravens: fetchData ObservationsLocationViewModel limit: 133746 100 offset: 0 +2024-04-03 07:08:57.891 Ravens: URL https://waarneming.nl/api/v1/locations/133746/observations/?species_group=1 +2024-04-03 07:08:57.906 Ravens: headers authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d +accept-Language: nl +2024-04-03 07:09:00.799 Ravens: fetchData ObservationsLocationViewModel limit: 133746 100 offset: 0 +2024-04-03 07:09:00.803 Ravens: URL https://waarneming.nl/api/v1/locations/133746/observations/?species_group=1 +2024-04-03 07:09:00.806 Ravens: headers authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d +accept-Language: nl +2024-04-03 07:10:24.891 WARNING: *** NEW LAUNCH *** +2024-04-03 07:10:25.516 Ravens: fetchData ObservationsViewModel +2024-04-03 07:10:26.832 Ravens: observations locations count 100 +2024-04-03 07:11:15.246 WARNING: *** NEW LAUNCH *** +2024-04-03 07:11:16.323 Ravens: fetchData ObservationsViewModel +2024-04-03 07:11:17.360 Ravens: observations locations count 100 +2024-04-03 07:11:19.295 Ravens: https://waarneming.nl/api/v1/locations/geojson/?id=133746 +2024-04-03 07:11:19.341 Ravens: fetchData ObservationsLocationViewModel limit: 133746 100 offset: 0 +2024-04-03 07:11:19.345 Ravens: URL https://waarneming.nl/api/v1/locations/133746/observations/?species_group=1 +2024-04-03 07:11:19.349 Ravens: headers authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d +accept-Language: nl +2024-04-03 07:11:23.732 Ravens: fetchData ObservationsUserViewModel limit: 100 offset: 0 +2024-04-03 07:11:23.737 Ravens: https://waarneming.nl/api/v1/user/observations/?limit=100&offset=0 +2024-04-03 07:11:25.681 Ravens: https://waarneming.nl/api/v1/user/info/ +2024-04-03 07:11:49.028 WARNING: *** NEW LAUNCH *** +2024-04-03 07:11:49.553 Ravens: fetchData ObservationsViewModel +2024-04-03 07:11:50.773 Ravens: observations locations count 100 +2024-04-03 07:11:50.985 Ravens: fetchData ObservationsUserViewModel limit: 100 offset: 0 +2024-04-03 07:11:50.988 Ravens: https://waarneming.nl/api/v1/user/observations/?limit=100&offset=0 +2024-04-03 07:11:53.425 Ravens: https://waarneming.nl/api/v1/locations/geojson/?id=133746 +2024-04-03 07:11:53.466 Ravens: fetchData ObservationsLocationViewModel limit: 133746 100 offset: 0 +2024-04-03 07:11:53.469 Ravens: URL https://waarneming.nl/api/v1/locations/133746/observations/?species_group=1 +2024-04-03 07:11:53.473 Ravens: headers authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d +accept-Language: nl +2024-04-03 07:11:54.627 Ravens: fetchData ObservationsUserViewModel limit: 100 offset: 0 +2024-04-03 07:11:54.631 Ravens: https://waarneming.nl/api/v1/user/observations/?limit=100&offset=0 +2024-04-03 07:11:55.987 Ravens: https://waarneming.nl/api/v1/user/info/ +2024-04-03 07:12:41.179 WARNING: *** NEW LAUNCH *** +2024-04-03 07:12:41.716 Ravens: fetchData ObservationsViewModel +2024-04-03 07:12:42.903 Ravens: observations locations count 100 +2024-04-03 07:12:44.166 Ravens: fetchData ObservationsUserViewModel limit: 100 offset: 0 +2024-04-03 07:12:44.170 Ravens: https://waarneming.nl/api/v1/user/observations/?limit=100&offset=0 +2024-04-03 07:12:45.904 Ravens: https://waarneming.nl/api/v1/user/info/ +2024-04-03 07:13:11.381 WARNING: *** NEW LAUNCH *** +2024-04-03 07:13:11.766 Ravens: fetchData ObservationsViewModel +2024-04-03 07:13:12.997 Ravens: observations locations count 100 +2024-04-03 07:13:13.264 Ravens: fetchData ObservationsUserViewModel limit: 100 offset: 0 +2024-04-03 07:13:13.266 Ravens: https://waarneming.nl/api/v1/user/observations/?limit=100&offset=0 +2024-04-03 07:13:15.293 Ravens: https://waarneming.nl/api/v1/user/info/ +2024-04-03 07:14:19.636 WARNING: *** NEW LAUNCH *** +2024-04-03 07:14:20.181 Ravens: fetchData ObservationsViewModel +2024-04-03 07:14:21.600 Ravens: observations locations count 100 +2024-04-03 09:08:29.095 WARNING: *** NEW LAUNCH *** +2024-04-03 09:08:29.864 Ravens: fetchData ObservationsViewModel +2024-04-03 09:08:31.200 Ravens: observations locations count 100 +2024-04-03 09:08:33.263 Ravens: fetchData ObservationsViewModel +2024-04-03 09:08:34.860 Ravens: observations locations count 100 +2024-04-03 09:08:42.283 Ravens: https://waarneming.nl/api/v1/locations/geojson/?id=133746 +2024-04-03 09:08:42.321 Ravens: fetchData ObservationsLocationViewModel limit: 133746 100 offset: 0 +2024-04-03 09:08:42.325 Ravens: URL https://waarneming.nl/api/v1/locations/133746/observations/?species_group=1 +2024-04-03 09:08:42.329 Ravens: headers authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d +accept-Language: nl +2024-04-03 09:09:42.114 WARNING: *** NEW LAUNCH *** +2024-04-03 09:09:43.681 Ravens: fetchData ObservationsViewModel +2024-04-03 09:09:45.103 Ravens: observations locations count 100 +2024-04-03 09:10:23.355 WARNING: *** NEW LAUNCH *** +2024-04-03 09:10:23.931 Ravens: fetchData ObservationsViewModel +2024-04-03 09:10:25.300 Ravens: observations locations count 100 +2024-04-03 09:12:23.879 WARNING: *** NEW LAUNCH *** +2024-04-03 09:12:24.857 Ravens: fetchData ObservationsViewModel +2024-04-03 09:12:25.923 Ravens: observations locations count 100 +2024-04-03 09:12:34.237 Ravens: https://waarneming.nl/api/v1/locations/geojson/?id=133746 +2024-04-03 09:12:34.284 Ravens: fetchData ObservationsLocationViewModel limit: 133746 100 offset: 0 +2024-04-03 09:12:34.288 Ravens: URL https://waarneming.nl/api/v1/locations/133746/observations/?species_group=1 +2024-04-03 09:12:34.292 Ravens: headers authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d +accept-Language: nl +2024-04-03 09:12:43.661 Ravens: fetchData ObservationsViewModel +2024-04-03 09:12:44.811 Ravens: observations locations count 100 +2024-04-03 09:12:45.378 Ravens: https://waarneming.nl/api/v1/locations/geojson/?id=133746 +2024-04-03 09:12:45.420 Ravens: fetchData ObservationsLocationViewModel limit: 133746 100 offset: 0 +2024-04-03 09:12:45.424 Ravens: URL https://waarneming.nl/api/v1/locations/133746/observations/?species_group=1 +2024-04-03 09:12:45.428 Ravens: headers authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d +accept-Language: nl +2024-04-03 09:12:48.832 Ravens: fetchData ObservationsLocationViewModel limit: 133746 100 offset: 0 +2024-04-03 09:12:48.835 Ravens: URL https://waarneming.nl/api/v1/locations/133746/observations/?species_group=1 +2024-04-03 09:12:48.839 Ravens: headers authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d +accept-Language: nl +2024-04-03 09:17:42.156 WARNING: *** NEW LAUNCH *** +2024-04-03 09:17:42.810 Ravens: fetchData ObservationsViewModel +2024-04-03 09:17:43.876 Ravens: observations locations count 100 +2024-04-03 13:06:31.568 WARNING: *** NEW LAUNCH *** +2024-04-03 13:06:32.580 Ravens: fetchData ObservationsViewModel +2024-04-03 13:06:33.861 Ravens: observations locations count 100 +2024-04-03 13:19:53.694 WARNING: *** NEW LAUNCH *** +2024-04-03 13:19:54.260 Ravens: fetchData ObservationsViewModel +2024-04-03 13:19:55.349 Ravens: observations locations count 100 +2024-04-03 13:20:22.805 Ravens: https://waarneming.nl/api/v1/locations/geojson/?id=133746 +2024-04-03 13:20:22.858 Ravens: fetchData ObservationsLocationViewModel limit: 133746 100 offset: 0 +2024-04-03 13:20:22.862 Ravens: URL https://waarneming.nl/api/v1/locations/133746/observations/?species_group=1 +2024-04-03 13:20:22.865 Ravens: headers authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d +accept-Language: nl +2024-04-03 13:20:23.842 Ravens: fetchData ObservationsLocationViewModel limit: 133746 100 offset: 0 +2024-04-03 13:20:23.845 Ravens: URL https://waarneming.nl/api/v1/locations/133746/observations/?species_group=1 +2024-04-03 13:20:23.848 Ravens: headers authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d +accept-Language: nl +2024-04-03 13:20:29.392 WARNING: *** NEW LAUNCH *** +2024-04-03 13:20:29.742 Ravens: fetchData ObservationsViewModel +2024-04-03 13:20:31.015 Ravens: observations locations count 100 +2024-04-03 13:20:31.195 Ravens: fetchData ObservationsViewModel +2024-04-03 13:20:32.489 Ravens: observations locations count 100 +2024-04-03 13:20:34.437 Ravens: https://waarneming.nl/api/v1/locations/geojson/?id=133746 +2024-04-03 13:20:34.540 Ravens: fetchData ObservationsLocationViewModel limit: 133746 100 offset: 0 +2024-04-03 13:20:34.543 Ravens: URL https://waarneming.nl/api/v1/locations/133746/observations/?species_group=1 +2024-04-03 13:20:34.547 Ravens: headers authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d +accept-Language: nl +2024-04-03 13:20:36.234 Ravens: fetchData ObservationsLocationViewModel limit: 133746 100 offset: 0 +2024-04-03 13:20:36.238 Ravens: URL https://waarneming.nl/api/v1/locations/133746/observations/?species_group=1 +2024-04-03 13:20:36.242 Ravens: headers authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d +accept-Language: nl +2024-04-03 13:21:18.871 WARNING: *** NEW LAUNCH *** +2024-04-03 13:21:19.240 Ravens: fetchData ObservationsViewModel +2024-04-03 13:21:20.680 Ravens: observations locations count 100 +2024-04-03 13:21:22.599 Ravens: https://waarneming.nl/api/v1/locations/geojson/?id=133746 +2024-04-03 13:21:22.649 Ravens: fetchData ObservationsLocationViewModel limit: 133746 100 offset: 0 +2024-04-03 13:21:22.652 Ravens: URL https://waarneming.nl/api/v1/locations/133746/observations/?species_group=1 +2024-04-03 13:21:22.657 Ravens: headers authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d +accept-Language: nl +2024-04-03 13:21:23.235 Ravens: fetchData ObservationsLocationViewModel limit: 133746 100 offset: 0 +2024-04-03 13:21:23.240 Ravens: URL https://waarneming.nl/api/v1/locations/133746/observations/?species_group=1 +2024-04-03 13:21:23.244 Ravens: headers authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d +accept-Language: nl +2024-04-03 13:22:51.397 WARNING: *** NEW LAUNCH *** +2024-04-03 13:22:51.766 Ravens: fetchData ObservationsViewModel +2024-04-03 13:22:53.010 Ravens: observations locations count 100 +2024-04-03 13:23:01.151 Ravens: https://waarneming.nl/api/v1/locations/geojson/?id=133746 +2024-04-03 13:23:01.205 Ravens: fetchData ObservationsLocationViewModel limit: 133746 100 offset: 0 +2024-04-03 13:23:01.209 Ravens: URL https://waarneming.nl/api/v1/locations/133746/observations/?species_group=1 +2024-04-03 13:23:01.212 Ravens: headers authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d +accept-Language: nl +2024-04-03 13:23:12.323 Ravens: https://waarneming.nl/api/v1/locations/geojson/?id=22320 +2024-04-03 13:23:12.379 Ravens: fetchData ObservationsLocationViewModel limit: 22320 100 offset: 0 +2024-04-03 13:23:12.383 Ravens: URL https://waarneming.nl/api/v1/locations/22320/observations/?species_group=1 +2024-04-03 13:23:12.386 Ravens: headers authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d +accept-Language: nl +2024-04-03 13:23:18.697 Ravens: https://waarneming.nl/api/v1/locations/geojson/?id=81945 +2024-04-03 13:23:18.799 Ravens: fetchData ObservationsLocationViewModel limit: 81945 100 offset: 0 +2024-04-03 13:23:18.803 Ravens: URL https://waarneming.nl/api/v1/locations/81945/observations/?species_group=1 +2024-04-03 13:23:18.806 Ravens: headers authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d +accept-Language: nl +2024-04-03 13:23:24.378 Ravens: https://waarneming.nl/api/v1/locations/geojson/?id=671649 +2024-04-03 13:23:24.455 Ravens: fetchData ObservationsLocationViewModel limit: 671649 100 offset: 0 +2024-04-03 13:23:24.459 Ravens: URL https://waarneming.nl/api/v1/locations/671649/observations/?species_group=1 +2024-04-03 13:23:24.464 Ravens: headers authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d +accept-Language: nl +2024-04-03 13:23:26.792 Ravens: fetchData ObservationsLocationViewModel limit: 671649 100 offset: 0 +2024-04-03 13:23:26.796 Ravens: URL https://waarneming.nl/api/v1/locations/671649/observations/?species_group=1 +2024-04-03 13:23:26.800 Ravens: headers authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d +accept-Language: nl +2024-04-03 13:23:47.718 Ravens: getID region: 200 groups: 2 +2024-04-03 13:23:47.722 Ravens: getId= RegionList(id: 5002, region: 200, species_group: 2) +2024-04-03 13:23:47.771 Ravens: speciesGroupViewModel.fetchData completed +2024-04-03 13:23:49.049 Ravens: https://waarneming.nl/api/v1/locations/geojson/?id=671649 +2024-04-03 13:23:49.202 Ravens: fetchData ObservationsLocationViewModel limit: 671649 100 offset: 0 +2024-04-03 13:23:49.205 Ravens: URL https://waarneming.nl/api/v1/locations/671649/observations/?species_group=2 +2024-04-03 13:23:49.209 Ravens: headers authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d +accept-Language: nl +2024-04-03 13:23:51.280 Ravens: fetchData ObservationsLocationViewModel limit: 671649 100 offset: 0 +2024-04-03 13:23:51.285 Ravens: URL https://waarneming.nl/api/v1/locations/671649/observations/?species_group=2 +2024-04-03 13:23:51.289 Ravens: headers authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d +accept-Language: nl +2024-04-03 13:24:36.135 Ravens: https://waarneming.nl/api/v1/locations/geojson/?id=33691 +2024-04-03 13:24:36.727 Ravens: fetchData ObservationsLocationViewModel limit: 33691 100 offset: 0 +2024-04-03 13:24:36.730 Ravens: URL https://waarneming.nl/api/v1/locations/33691/observations/?species_group=2 +2024-04-03 13:24:36.734 Ravens: headers authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d +accept-Language: nl +2024-04-03 13:24:41.454 Ravens: https://waarneming.nl/api/v1/locations/geojson/?id=34620 +2024-04-03 13:24:41.500 Ravens: fetchData ObservationsLocationViewModel limit: 34620 100 offset: 0 +2024-04-03 13:24:41.503 Ravens: URL https://waarneming.nl/api/v1/locations/34620/observations/?species_group=2 +2024-04-03 13:24:41.506 Ravens: headers authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d +accept-Language: nl +2024-04-03 13:24:47.938 Ravens: fetchData ObservationsLocationViewModel limit: 34620 100 offset: 0 +2024-04-03 13:24:47.943 Ravens: URL https://waarneming.nl/api/v1/locations/34620/observations/?species_group=2 +2024-04-03 13:24:47.947 Ravens: headers authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d +accept-Language: nl +2024-04-03 13:25:24.718 Ravens: getID region: 200 groups: 1 +2024-04-03 13:25:24.722 Ravens: getId= RegionList(id: 5001, region: 200, species_group: 1) +2024-04-03 13:25:24.816 Ravens: speciesGroupViewModel.fetchData completed +2024-04-03 13:25:25.662 Ravens: https://waarneming.nl/api/v1/locations/geojson/?id=34620 +2024-04-03 13:25:25.727 Ravens: fetchData ObservationsLocationViewModel limit: 34620 100 offset: 0 +2024-04-03 13:25:25.730 Ravens: URL https://waarneming.nl/api/v1/locations/34620/observations/?species_group=1 +2024-04-03 13:25:25.734 Ravens: headers authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d +accept-Language: nl +2024-04-03 13:25:27.993 Ravens: fetchData ObservationsLocationViewModel limit: 34620 100 offset: 0 +2024-04-03 13:25:27.997 Ravens: URL https://waarneming.nl/api/v1/locations/34620/observations/?species_group=1 +2024-04-03 13:25:28.002 Ravens: headers authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d +accept-Language: nl +2024-04-03 13:25:28.273 Ravens: Error ObsViewModel fetching data: https://waarneming.nl/api/v1/observations/302557945/ Accept-Language: nl +Authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d - responseSerializationFailed(reason: Alamofire.AFError.ResponseSerializationFailureReason.decodingFailed(error: Swift.DecodingError.keyNotFound(CodingKeys(stringValue: "id", intValue: nil), Swift.DecodingError.Context(codingPath: [], debugDescription: "No value associated with key CodingKeys(stringValue: \"id\", intValue: nil) (\"id\").", underlyingError: nil)))) +2024-04-03 13:25:28.276 Ravens: Optional(46 bytes) +2024-04-03 13:25:28.362 Ravens: Error ObsViewModel fetching data: https://waarneming.nl/api/v1/observations/302558054/ Accept-Language: nl +Authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d - responseSerializationFailed(reason: Alamofire.AFError.ResponseSerializationFailureReason.decodingFailed(error: Swift.DecodingError.keyNotFound(CodingKeys(stringValue: "id", intValue: nil), Swift.DecodingError.Context(codingPath: [], debugDescription: "No value associated with key CodingKeys(stringValue: \"id\", intValue: nil) (\"id\").", underlyingError: nil)))) +2024-04-03 13:25:28.365 Ravens: Optional(46 bytes) +2024-04-03 13:25:28.505 Ravens: Error ObsViewModel fetching data: https://waarneming.nl/api/v1/observations/302557914/ Accept-Language: nl +Authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d - responseSerializationFailed(reason: Alamofire.AFError.ResponseSerializationFailureReason.decodingFailed(error: Swift.DecodingError.keyNotFound(CodingKeys(stringValue: "id", intValue: nil), Swift.DecodingError.Context(codingPath: [], debugDescription: "No value associated with key CodingKeys(stringValue: \"id\", intValue: nil) (\"id\").", underlyingError: nil)))) +2024-04-03 13:25:28.508 Ravens: Optional(46 bytes) +2024-04-03 13:25:28.568 Ravens: Error ObsViewModel fetching data: https://waarneming.nl/api/v1/observations/302557932/ Accept-Language: nl +Authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d - responseSerializationFailed(reason: Alamofire.AFError.ResponseSerializationFailureReason.decodingFailed(error: Swift.DecodingError.keyNotFound(CodingKeys(stringValue: "id", intValue: nil), Swift.DecodingError.Context(codingPath: [], debugDescription: "No value associated with key CodingKeys(stringValue: \"id\", intValue: nil) (\"id\").", underlyingError: nil)))) +2024-04-03 13:25:28.571 Ravens: Optional(46 bytes) +2024-04-03 13:25:28.680 Ravens: Error ObsViewModel fetching data: https://waarneming.nl/api/v1/observations/302557849/ Accept-Language: nl +Authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d - responseSerializationFailed(reason: Alamofire.AFError.ResponseSerializationFailureReason.decodingFailed(error: Swift.DecodingError.keyNotFound(CodingKeys(stringValue: "id", intValue: nil), Swift.DecodingError.Context(codingPath: [], debugDescription: "No value associated with key CodingKeys(stringValue: \"id\", intValue: nil) (\"id\").", underlyingError: nil)))) +2024-04-03 13:25:28.684 Ravens: Optional(46 bytes) +2024-04-03 13:25:28.687 Ravens: Error ObsViewModel fetching data: https://waarneming.nl/api/v1/observations/302557831/ Accept-Language: nl +Authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d - responseSerializationFailed(reason: Alamofire.AFError.ResponseSerializationFailureReason.decodingFailed(error: Swift.DecodingError.keyNotFound(CodingKeys(stringValue: "id", intValue: nil), Swift.DecodingError.Context(codingPath: [], debugDescription: "No value associated with key CodingKeys(stringValue: \"id\", intValue: nil) (\"id\").", underlyingError: nil)))) +2024-04-03 13:25:28.690 Ravens: Optional(46 bytes) +2024-04-03 13:25:28.780 Ravens: Error ObsViewModel fetching data: https://waarneming.nl/api/v1/observations/302557876/ Accept-Language: nl +Authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d - responseSerializationFailed(reason: Alamofire.AFError.ResponseSerializationFailureReason.decodingFailed(error: Swift.DecodingError.keyNotFound(CodingKeys(stringValue: "id", intValue: nil), Swift.DecodingError.Context(codingPath: [], debugDescription: "No value associated with key CodingKeys(stringValue: \"id\", intValue: nil) (\"id\").", underlyingError: nil)))) +2024-04-03 13:25:28.783 Ravens: Optional(46 bytes) +2024-04-03 13:25:28.987 Ravens: Error ObsViewModel fetching data: https://waarneming.nl/api/v1/observations/302557893/ Accept-Language: nl +Authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d - responseSerializationFailed(reason: Alamofire.AFError.ResponseSerializationFailureReason.decodingFailed(error: Swift.DecodingError.keyNotFound(CodingKeys(stringValue: "id", intValue: nil), Swift.DecodingError.Context(codingPath: [], debugDescription: "No value associated with key CodingKeys(stringValue: \"id\", intValue: nil) (\"id\").", underlyingError: nil)))) +2024-04-03 13:25:28.991 Ravens: Optional(46 bytes) +2024-04-03 13:25:29.101 Ravens: Error ObsViewModel fetching data: https://waarneming.nl/api/v1/observations/302557877/ Accept-Language: nl +Authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d - responseSerializationFailed(reason: Alamofire.AFError.ResponseSerializationFailureReason.decodingFailed(error: Swift.DecodingError.keyNotFound(CodingKeys(stringValue: "id", intValue: nil), Swift.DecodingError.Context(codingPath: [], debugDescription: "No value associated with key CodingKeys(stringValue: \"id\", intValue: nil) (\"id\").", underlyingError: nil)))) +2024-04-03 13:25:29.104 Ravens: Optional(46 bytes) +2024-04-03 13:25:29.387 Ravens: Error ObsViewModel fetching data: https://waarneming.nl/api/v1/observations/302557871/ Accept-Language: nl +Authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d - responseSerializationFailed(reason: Alamofire.AFError.ResponseSerializationFailureReason.decodingFailed(error: Swift.DecodingError.keyNotFound(CodingKeys(stringValue: "id", intValue: nil), Swift.DecodingError.Context(codingPath: [], debugDescription: "No value associated with key CodingKeys(stringValue: \"id\", intValue: nil) (\"id\").", underlyingError: nil)))) +2024-04-03 13:25:29.391 Ravens: Optional(46 bytes) +2024-04-03 13:25:29.507 Ravens: Error ObsViewModel fetching data: https://waarneming.nl/api/v1/observations/302557886/ Accept-Language: nl +Authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d - responseSerializationFailed(reason: Alamofire.AFError.ResponseSerializationFailureReason.decodingFailed(error: Swift.DecodingError.keyNotFound(CodingKeys(stringValue: "id", intValue: nil), Swift.DecodingError.Context(codingPath: [], debugDescription: "No value associated with key CodingKeys(stringValue: \"id\", intValue: nil) (\"id\").", underlyingError: nil)))) +2024-04-03 13:25:29.511 Ravens: Optional(46 bytes) +2024-04-03 13:25:29.548 Ravens: Error ObsViewModel fetching data: https://waarneming.nl/api/v1/observations/302557950/ Accept-Language: nl +Authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d - responseSerializationFailed(reason: Alamofire.AFError.ResponseSerializationFailureReason.decodingFailed(error: Swift.DecodingError.keyNotFound(CodingKeys(stringValue: "id", intValue: nil), Swift.DecodingError.Context(codingPath: [], debugDescription: "No value associated with key CodingKeys(stringValue: \"id\", intValue: nil) (\"id\").", underlyingError: nil)))) +2024-04-03 13:25:29.551 Ravens: Optional(46 bytes) +2024-04-03 13:25:29.554 Ravens: Error ObsViewModel fetching data: https://waarneming.nl/api/v1/observations/302558008/ Accept-Language: nl +Authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d - responseSerializationFailed(reason: Alamofire.AFError.ResponseSerializationFailureReason.decodingFailed(error: Swift.DecodingError.keyNotFound(CodingKeys(stringValue: "id", intValue: nil), Swift.DecodingError.Context(codingPath: [], debugDescription: "No value associated with key CodingKeys(stringValue: \"id\", intValue: nil) (\"id\").", underlyingError: nil)))) +2024-04-03 13:25:29.557 Ravens: Optional(46 bytes) +2024-04-03 13:25:30.409 Ravens: Error ObsViewModel fetching data: https://waarneming.nl/api/v1/observations/302557967/ Accept-Language: nl +Authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d - responseSerializationFailed(reason: Alamofire.AFError.ResponseSerializationFailureReason.decodingFailed(error: Swift.DecodingError.keyNotFound(CodingKeys(stringValue: "id", intValue: nil), Swift.DecodingError.Context(codingPath: [], debugDescription: "No value associated with key CodingKeys(stringValue: \"id\", intValue: nil) (\"id\").", underlyingError: nil)))) +2024-04-03 13:25:30.414 Ravens: Optional(46 bytes) +2024-04-03 13:36:05.296 Ravens: fetchData ObservationsLocationViewModel limit: 34620 100 offset: 0 +2024-04-03 13:36:05.315 Ravens: URL https://waarneming.nl/api/v1/locations/34620/observations/?species_group=1 +2024-04-03 13:36:05.318 Ravens: headers authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d +accept-Language: nl +2024-04-03 13:36:05.980 Ravens: Error ObsViewModel fetching data: https://waarneming.nl/api/v1/observations/302557932/ Accept-Language: nl +Authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d - responseSerializationFailed(reason: Alamofire.AFError.ResponseSerializationFailureReason.decodingFailed(error: Swift.DecodingError.keyNotFound(CodingKeys(stringValue: "id", intValue: nil), Swift.DecodingError.Context(codingPath: [], debugDescription: "No value associated with key CodingKeys(stringValue: \"id\", intValue: nil) (\"id\").", underlyingError: nil)))) +2024-04-03 13:36:05.983 Ravens: Optional(46 bytes) +2024-04-03 13:36:05.986 Ravens: Error ObsViewModel fetching data: https://waarneming.nl/api/v1/observations/302558054/ Accept-Language: nl +Authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d - responseSerializationFailed(reason: Alamofire.AFError.ResponseSerializationFailureReason.decodingFailed(error: Swift.DecodingError.keyNotFound(CodingKeys(stringValue: "id", intValue: nil), Swift.DecodingError.Context(codingPath: [], debugDescription: "No value associated with key CodingKeys(stringValue: \"id\", intValue: nil) (\"id\").", underlyingError: nil)))) +2024-04-03 13:36:05.990 Ravens: Optional(46 bytes) +2024-04-03 13:36:06.006 Ravens: Error ObsViewModel fetching data: https://waarneming.nl/api/v1/observations/302557945/ Accept-Language: nl +Authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d - responseSerializationFailed(reason: Alamofire.AFError.ResponseSerializationFailureReason.decodingFailed(error: Swift.DecodingError.keyNotFound(CodingKeys(stringValue: "id", intValue: nil), Swift.DecodingError.Context(codingPath: [], debugDescription: "No value associated with key CodingKeys(stringValue: \"id\", intValue: nil) (\"id\").", underlyingError: nil)))) +2024-04-03 13:36:06.009 Ravens: Optional(46 bytes) +2024-04-03 13:36:06.013 Ravens: Error ObsViewModel fetching data: https://waarneming.nl/api/v1/observations/302557849/ Accept-Language: nl +Authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d - responseSerializationFailed(reason: Alamofire.AFError.ResponseSerializationFailureReason.decodingFailed(error: Swift.DecodingError.keyNotFound(CodingKeys(stringValue: "id", intValue: nil), Swift.DecodingError.Context(codingPath: [], debugDescription: "No value associated with key CodingKeys(stringValue: \"id\", intValue: nil) (\"id\").", underlyingError: nil)))) +2024-04-03 13:36:06.016 Ravens: Optional(46 bytes) +2024-04-03 13:36:06.026 Ravens: Error ObsViewModel fetching data: https://waarneming.nl/api/v1/observations/302557831/ Accept-Language: nl +Authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d - responseSerializationFailed(reason: Alamofire.AFError.ResponseSerializationFailureReason.decodingFailed(error: Swift.DecodingError.keyNotFound(CodingKeys(stringValue: "id", intValue: nil), Swift.DecodingError.Context(codingPath: [], debugDescription: "No value associated with key CodingKeys(stringValue: \"id\", intValue: nil) (\"id\").", underlyingError: nil)))) +2024-04-03 13:36:06.029 Ravens: Optional(46 bytes) +2024-04-03 13:36:06.124 Ravens: Error ObsViewModel fetching data: https://waarneming.nl/api/v1/observations/302557914/ Accept-Language: nl +Authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d - responseSerializationFailed(reason: Alamofire.AFError.ResponseSerializationFailureReason.decodingFailed(error: Swift.DecodingError.keyNotFound(CodingKeys(stringValue: "id", intValue: nil), Swift.DecodingError.Context(codingPath: [], debugDescription: "No value associated with key CodingKeys(stringValue: \"id\", intValue: nil) (\"id\").", underlyingError: nil)))) +2024-04-03 13:36:06.127 Ravens: Optional(46 bytes) +2024-04-03 13:36:06.351 Ravens: Error ObsViewModel fetching data: https://waarneming.nl/api/v1/observations/302557876/ Accept-Language: nl +Authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d - responseSerializationFailed(reason: Alamofire.AFError.ResponseSerializationFailureReason.decodingFailed(error: Swift.DecodingError.keyNotFound(CodingKeys(stringValue: "id", intValue: nil), Swift.DecodingError.Context(codingPath: [], debugDescription: "No value associated with key CodingKeys(stringValue: \"id\", intValue: nil) (\"id\").", underlyingError: nil)))) +2024-04-03 13:36:06.355 Ravens: Optional(46 bytes) +2024-04-03 13:36:06.364 Ravens: Error ObsViewModel fetching data: https://waarneming.nl/api/v1/observations/302557877/ Accept-Language: nl +Authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d - responseSerializationFailed(reason: Alamofire.AFError.ResponseSerializationFailureReason.decodingFailed(error: Swift.DecodingError.keyNotFound(CodingKeys(stringValue: "id", intValue: nil), Swift.DecodingError.Context(codingPath: [], debugDescription: "No value associated with key CodingKeys(stringValue: \"id\", intValue: nil) (\"id\").", underlyingError: nil)))) +2024-04-03 13:36:06.368 Ravens: Optional(46 bytes) +2024-04-03 13:36:06.418 Ravens: Error ObsViewModel fetching data: https://waarneming.nl/api/v1/observations/302557886/ Accept-Language: nl +Authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d - responseSerializationFailed(reason: Alamofire.AFError.ResponseSerializationFailureReason.decodingFailed(error: Swift.DecodingError.keyNotFound(CodingKeys(stringValue: "id", intValue: nil), Swift.DecodingError.Context(codingPath: [], debugDescription: "No value associated with key CodingKeys(stringValue: \"id\", intValue: nil) (\"id\").", underlyingError: nil)))) +2024-04-03 13:36:06.421 Ravens: Optional(46 bytes) +2024-04-03 13:36:06.444 Ravens: Error ObsViewModel fetching data: https://waarneming.nl/api/v1/observations/302557893/ Accept-Language: nl +Authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d - responseSerializationFailed(reason: Alamofire.AFError.ResponseSerializationFailureReason.decodingFailed(error: Swift.DecodingError.keyNotFound(CodingKeys(stringValue: "id", intValue: nil), Swift.DecodingError.Context(codingPath: [], debugDescription: "No value associated with key CodingKeys(stringValue: \"id\", intValue: nil) (\"id\").", underlyingError: nil)))) +2024-04-03 13:36:06.447 Ravens: Optional(46 bytes) +2024-04-03 13:36:06.625 Ravens: Error ObsViewModel fetching data: https://waarneming.nl/api/v1/observations/302557871/ Accept-Language: nl +Authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d - responseSerializationFailed(reason: Alamofire.AFError.ResponseSerializationFailureReason.decodingFailed(error: Swift.DecodingError.keyNotFound(CodingKeys(stringValue: "id", intValue: nil), Swift.DecodingError.Context(codingPath: [], debugDescription: "No value associated with key CodingKeys(stringValue: \"id\", intValue: nil) (\"id\").", underlyingError: nil)))) +2024-04-03 13:36:06.629 Ravens: Optional(46 bytes) +2024-04-03 13:36:06.676 Ravens: Error ObsViewModel fetching data: https://waarneming.nl/api/v1/observations/302557950/ Accept-Language: nl +Authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d - responseSerializationFailed(reason: Alamofire.AFError.ResponseSerializationFailureReason.decodingFailed(error: Swift.DecodingError.keyNotFound(CodingKeys(stringValue: "id", intValue: nil), Swift.DecodingError.Context(codingPath: [], debugDescription: "No value associated with key CodingKeys(stringValue: \"id\", intValue: nil) (\"id\").", underlyingError: nil)))) +2024-04-03 13:36:06.680 Ravens: Optional(46 bytes) +2024-04-03 13:36:06.724 Ravens: Error ObsViewModel fetching data: https://waarneming.nl/api/v1/observations/302558008/ Accept-Language: nl +Authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d - responseSerializationFailed(reason: Alamofire.AFError.ResponseSerializationFailureReason.decodingFailed(error: Swift.DecodingError.keyNotFound(CodingKeys(stringValue: "id", intValue: nil), Swift.DecodingError.Context(codingPath: [], debugDescription: "No value associated with key CodingKeys(stringValue: \"id\", intValue: nil) (\"id\").", underlyingError: nil)))) +2024-04-03 13:36:06.727 Ravens: Optional(46 bytes) +2024-04-03 13:36:06.891 Ravens: Error ObsViewModel fetching data: https://waarneming.nl/api/v1/observations/302557967/ Accept-Language: nl +Authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d - responseSerializationFailed(reason: Alamofire.AFError.ResponseSerializationFailureReason.decodingFailed(error: Swift.DecodingError.keyNotFound(CodingKeys(stringValue: "id", intValue: nil), Swift.DecodingError.Context(codingPath: [], debugDescription: "No value associated with key CodingKeys(stringValue: \"id\", intValue: nil) (\"id\").", underlyingError: nil)))) +2024-04-03 13:36:06.894 Ravens: Optional(46 bytes) +2024-04-03 13:40:00.991 WARNING: *** NEW LAUNCH *** +2024-04-03 13:40:01.515 Ravens: fetchData ObservationsViewModel +2024-04-03 13:40:02.944 Ravens: observations locations count 100 +2024-04-03 13:40:03.613 Ravens: https://waarneming.nl/api/v1/locations/geojson/?id=133746 +2024-04-03 13:40:03.659 Ravens: fetchData ObservationsLocationViewModel limit: 133746 100 offset: 0 +2024-04-03 13:40:03.663 Ravens: URL https://waarneming.nl/api/v1/locations/133746/observations/?species_group=1 +2024-04-03 13:40:03.668 Ravens: headers authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d +accept-Language: nl +2024-04-03 13:40:18.545 Ravens: https://waarneming.nl/api/v1/locations/geojson/?id=614307 +2024-04-03 13:40:19.415 Ravens: fetchData ObservationsLocationViewModel limit: 614307 100 offset: 0 +2024-04-03 13:40:19.418 Ravens: URL https://waarneming.nl/api/v1/locations/614307/observations/?species_group=1 +2024-04-03 13:40:19.422 Ravens: headers authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d +accept-Language: nl +2024-04-03 13:40:23.389 Ravens: https://waarneming.nl/api/v1/locations/geojson/?id=34620 +2024-04-03 13:40:23.434 Ravens: fetchData ObservationsLocationViewModel limit: 34620 100 offset: 0 +2024-04-03 13:40:23.438 Ravens: URL https://waarneming.nl/api/v1/locations/34620/observations/?species_group=1 +2024-04-03 13:40:23.443 Ravens: headers authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d +accept-Language: nl +2024-04-03 13:40:28.732 Ravens: fetchData ObservationsLocationViewModel limit: 34620 100 offset: 0 +2024-04-03 13:40:28.735 Ravens: URL https://waarneming.nl/api/v1/locations/34620/observations/?species_group=1 +2024-04-03 13:40:28.739 Ravens: headers authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d +accept-Language: nl +2024-04-03 13:40:29.169 Ravens: Error ObsViewModel fetching data: https://waarneming.nl/api/v1/observations/302557945/ Accept-Language: nl +Authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d - responseSerializationFailed(reason: Alamofire.AFError.ResponseSerializationFailureReason.decodingFailed(error: Swift.DecodingError.keyNotFound(CodingKeys(stringValue: "id", intValue: nil), Swift.DecodingError.Context(codingPath: [], debugDescription: "No value associated with key CodingKeys(stringValue: \"id\", intValue: nil) (\"id\").", underlyingError: nil)))) +2024-04-03 13:40:29.172 Ravens: Optional(46 bytes) +2024-04-03 13:40:29.258 Ravens: Error ObsViewModel fetching data: https://waarneming.nl/api/v1/observations/302557914/ Accept-Language: nl +Authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d - responseSerializationFailed(reason: Alamofire.AFError.ResponseSerializationFailureReason.decodingFailed(error: Swift.DecodingError.keyNotFound(CodingKeys(stringValue: "id", intValue: nil), Swift.DecodingError.Context(codingPath: [], debugDescription: "No value associated with key CodingKeys(stringValue: \"id\", intValue: nil) (\"id\").", underlyingError: nil)))) +2024-04-03 13:40:29.262 Ravens: Optional(46 bytes) +2024-04-03 13:40:29.321 Ravens: Error ObsViewModel fetching data: https://waarneming.nl/api/v1/observations/302557932/ Accept-Language: nl +Authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d - responseSerializationFailed(reason: Alamofire.AFError.ResponseSerializationFailureReason.decodingFailed(error: Swift.DecodingError.keyNotFound(CodingKeys(stringValue: "id", intValue: nil), Swift.DecodingError.Context(codingPath: [], debugDescription: "No value associated with key CodingKeys(stringValue: \"id\", intValue: nil) (\"id\").", underlyingError: nil)))) +2024-04-03 13:40:29.324 Ravens: Optional(46 bytes) +2024-04-03 13:40:29.415 Ravens: Error ObsViewModel fetching data: https://waarneming.nl/api/v1/observations/302558054/ Accept-Language: nl +Authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d - responseSerializationFailed(reason: Alamofire.AFError.ResponseSerializationFailureReason.decodingFailed(error: Swift.DecodingError.keyNotFound(CodingKeys(stringValue: "id", intValue: nil), Swift.DecodingError.Context(codingPath: [], debugDescription: "No value associated with key CodingKeys(stringValue: \"id\", intValue: nil) (\"id\").", underlyingError: nil)))) +2024-04-03 13:40:29.417 Ravens: Optional(46 bytes) +2024-04-03 13:40:29.559 Ravens: Error ObsViewModel fetching data: https://waarneming.nl/api/v1/observations/302557849/ Accept-Language: nl +Authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d - responseSerializationFailed(reason: Alamofire.AFError.ResponseSerializationFailureReason.decodingFailed(error: Swift.DecodingError.keyNotFound(CodingKeys(stringValue: "id", intValue: nil), Swift.DecodingError.Context(codingPath: [], debugDescription: "No value associated with key CodingKeys(stringValue: \"id\", intValue: nil) (\"id\").", underlyingError: nil)))) +2024-04-03 13:40:29.562 Ravens: Optional(46 bytes) +2024-04-03 13:40:29.586 Ravens: Error ObsViewModel fetching data: https://waarneming.nl/api/v1/observations/302557876/ Accept-Language: nl +Authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d - responseSerializationFailed(reason: Alamofire.AFError.ResponseSerializationFailureReason.decodingFailed(error: Swift.DecodingError.keyNotFound(CodingKeys(stringValue: "id", intValue: nil), Swift.DecodingError.Context(codingPath: [], debugDescription: "No value associated with key CodingKeys(stringValue: \"id\", intValue: nil) (\"id\").", underlyingError: nil)))) +2024-04-03 13:40:29.589 Ravens: Optional(46 bytes) +2024-04-03 13:40:29.627 Ravens: Error ObsViewModel fetching data: https://waarneming.nl/api/v1/observations/302557831/ Accept-Language: nl +Authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d - responseSerializationFailed(reason: Alamofire.AFError.ResponseSerializationFailureReason.decodingFailed(error: Swift.DecodingError.keyNotFound(CodingKeys(stringValue: "id", intValue: nil), Swift.DecodingError.Context(codingPath: [], debugDescription: "No value associated with key CodingKeys(stringValue: \"id\", intValue: nil) (\"id\").", underlyingError: nil)))) +2024-04-03 13:40:29.630 Ravens: Optional(46 bytes) +2024-04-03 13:40:29.854 Ravens: Error ObsViewModel fetching data: https://waarneming.nl/api/v1/observations/302557893/ Accept-Language: nl +Authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d - responseSerializationFailed(reason: Alamofire.AFError.ResponseSerializationFailureReason.decodingFailed(error: Swift.DecodingError.keyNotFound(CodingKeys(stringValue: "id", intValue: nil), Swift.DecodingError.Context(codingPath: [], debugDescription: "No value associated with key CodingKeys(stringValue: \"id\", intValue: nil) (\"id\").", underlyingError: nil)))) +2024-04-03 13:40:29.858 Ravens: Optional(46 bytes) +2024-04-03 13:40:29.902 Ravens: Error ObsViewModel fetching data: https://waarneming.nl/api/v1/observations/302557886/ Accept-Language: nl +Authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d - responseSerializationFailed(reason: Alamofire.AFError.ResponseSerializationFailureReason.decodingFailed(error: Swift.DecodingError.keyNotFound(CodingKeys(stringValue: "id", intValue: nil), Swift.DecodingError.Context(codingPath: [], debugDescription: "No value associated with key CodingKeys(stringValue: \"id\", intValue: nil) (\"id\").", underlyingError: nil)))) +2024-04-03 13:40:29.906 Ravens: Optional(46 bytes) +2024-04-03 13:40:29.912 Ravens: Error ObsViewModel fetching data: https://waarneming.nl/api/v1/observations/302557877/ Accept-Language: nl +Authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d - responseSerializationFailed(reason: Alamofire.AFError.ResponseSerializationFailureReason.decodingFailed(error: Swift.DecodingError.keyNotFound(CodingKeys(stringValue: "id", intValue: nil), Swift.DecodingError.Context(codingPath: [], debugDescription: "No value associated with key CodingKeys(stringValue: \"id\", intValue: nil) (\"id\").", underlyingError: nil)))) +2024-04-03 13:40:29.915 Ravens: Optional(46 bytes) +2024-04-03 13:40:29.963 Ravens: Error ObsViewModel fetching data: https://waarneming.nl/api/v1/observations/302557871/ Accept-Language: nl +Authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d - responseSerializationFailed(reason: Alamofire.AFError.ResponseSerializationFailureReason.decodingFailed(error: Swift.DecodingError.keyNotFound(CodingKeys(stringValue: "id", intValue: nil), Swift.DecodingError.Context(codingPath: [], debugDescription: "No value associated with key CodingKeys(stringValue: \"id\", intValue: nil) (\"id\").", underlyingError: nil)))) +2024-04-03 13:40:29.966 Ravens: Optional(46 bytes) +2024-04-03 13:40:30.101 Ravens: Error ObsViewModel fetching data: https://waarneming.nl/api/v1/observations/302557950/ Accept-Language: nl +Authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d - responseSerializationFailed(reason: Alamofire.AFError.ResponseSerializationFailureReason.decodingFailed(error: Swift.DecodingError.keyNotFound(CodingKeys(stringValue: "id", intValue: nil), Swift.DecodingError.Context(codingPath: [], debugDescription: "No value associated with key CodingKeys(stringValue: \"id\", intValue: nil) (\"id\").", underlyingError: nil)))) +2024-04-03 13:40:30.105 Ravens: Optional(46 bytes) +2024-04-03 13:40:30.329 Ravens: Error ObsViewModel fetching data: https://waarneming.nl/api/v1/observations/302558008/ Accept-Language: nl +Authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d - responseSerializationFailed(reason: Alamofire.AFError.ResponseSerializationFailureReason.decodingFailed(error: Swift.DecodingError.keyNotFound(CodingKeys(stringValue: "id", intValue: nil), Swift.DecodingError.Context(codingPath: [], debugDescription: "No value associated with key CodingKeys(stringValue: \"id\", intValue: nil) (\"id\").", underlyingError: nil)))) +2024-04-03 13:40:30.336 Ravens: Optional(46 bytes) +2024-04-03 13:40:30.454 Ravens: Error ObsViewModel fetching data: https://waarneming.nl/api/v1/observations/302557967/ Accept-Language: nl +Authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d - responseSerializationFailed(reason: Alamofire.AFError.ResponseSerializationFailureReason.decodingFailed(error: Swift.DecodingError.keyNotFound(CodingKeys(stringValue: "id", intValue: nil), Swift.DecodingError.Context(codingPath: [], debugDescription: "No value associated with key CodingKeys(stringValue: \"id\", intValue: nil) (\"id\").", underlyingError: nil)))) +2024-04-03 13:40:30.457 Ravens: Optional(46 bytes) +2024-04-03 13:43:02.308 WARNING: *** NEW LAUNCH *** +2024-04-03 13:43:02.685 Ravens: fetchData ObservationsViewModel +2024-04-03 13:43:03.805 Ravens: observations locations count 100 +2024-04-03 13:43:05.759 Ravens: https://waarneming.nl/api/v1/locations/geojson/?id=133746 +2024-04-03 13:43:05.797 Ravens: fetchData ObservationsLocationViewModel limit: 133746 100 offset: 0 +2024-04-03 13:43:05.800 Ravens: URL https://waarneming.nl/api/v1/locations/133746/observations/?species_group=1 +2024-04-03 13:43:05.805 Ravens: headers authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d +accept-Language: nl +2024-04-03 14:30:49.813 WARNING: *** NEW LAUNCH *** +2024-04-03 14:30:52.567 Ravens: fetchData ObservationsViewModel +2024-04-03 14:30:53.729 Ravens: observations locations count 100 +2024-04-03 14:31:29.573 Ravens: https://waarneming.nl/api/v1/locations/geojson/?id=133746 +2024-04-03 14:31:29.621 Ravens: fetchData ObservationsLocationViewModel limit: 133746 100 offset: 0 +2024-04-03 14:31:29.624 Ravens: URL https://waarneming.nl/api/v1/locations/133746/observations/?species_group=1 +2024-04-03 14:31:29.629 Ravens: headers authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d +accept-Language: nl +2024-04-03 14:31:31.000 Ravens: https://waarneming.nl/api/v1/locations/geojson/?id=133746 +2024-04-03 14:31:31.052 Ravens: fetchData ObservationsLocationViewModel limit: 133746 100 offset: 0 +2024-04-03 14:31:31.059 Ravens: URL https://waarneming.nl/api/v1/locations/133746/observations/?species_group=1 +2024-04-03 14:31:31.064 Ravens: headers authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d +accept-Language: nl +2024-04-03 14:31:39.032 Ravens: getID region: 200 groups: 2 +2024-04-03 14:31:39.035 Ravens: getId= RegionList(id: 5002, region: 200, species_group: 2) +2024-04-03 14:31:39.103 Ravens: speciesGroupViewModel.fetchData completed +2024-04-03 14:31:40.842 Ravens: https://waarneming.nl/api/v1/locations/geojson/?id=133746 +2024-04-03 14:31:40.879 Ravens: fetchData ObservationsLocationViewModel limit: 133746 100 offset: 0 +2024-04-03 14:31:40.883 Ravens: URL https://waarneming.nl/api/v1/locations/133746/observations/?species_group=2 +2024-04-03 14:31:40.887 Ravens: headers authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d +accept-Language: nl +2024-04-03 14:31:59.570 Ravens: https://waarneming.nl/api/v1/locations/geojson/?id=13727 +2024-04-03 14:31:59.623 Ravens: fetchData ObservationsLocationViewModel limit: 13727 100 offset: 0 +2024-04-03 14:31:59.627 Ravens: URL https://waarneming.nl/api/v1/locations/13727/observations/?species_group=2 +2024-04-03 14:31:59.630 Ravens: headers authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d +accept-Language: nl +2024-04-03 14:32:07.221 Ravens: https://waarneming.nl/api/v1/locations/geojson/?id=73386 +2024-04-03 14:32:07.258 Ravens: fetchData ObservationsLocationViewModel limit: 73386 100 offset: 0 +2024-04-03 14:32:07.261 Ravens: URL https://waarneming.nl/api/v1/locations/73386/observations/?species_group=2 +2024-04-03 14:32:07.265 Ravens: headers authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d +accept-Language: nl +2024-04-03 14:32:08.740 Ravens: https://waarneming.nl/api/v1/locations/geojson/?id=980 +2024-04-03 14:32:08.798 Ravens: fetchData ObservationsLocationViewModel limit: 980 100 offset: 0 +2024-04-03 14:32:08.802 Ravens: URL https://waarneming.nl/api/v1/locations/980/observations/?species_group=2 +2024-04-03 14:32:08.806 Ravens: headers authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d +accept-Language: nl +2024-04-03 14:32:17.787 Ravens: https://waarneming.nl/api/v1/locations/geojson/?id=73572 +2024-04-03 14:32:17.831 Ravens: fetchData ObservationsLocationViewModel limit: 73572 100 offset: 0 +2024-04-03 14:32:17.835 Ravens: URL https://waarneming.nl/api/v1/locations/73572/observations/?species_group=2 +2024-04-03 14:32:17.838 Ravens: headers authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d +accept-Language: nl +2024-04-03 14:32:25.664 Ravens: https://waarneming.nl/api/v1/locations/geojson/?id=671388 +2024-04-03 14:32:25.731 Ravens: fetchData ObservationsLocationViewModel limit: 671388 100 offset: 0 +2024-04-03 14:32:25.734 Ravens: URL https://waarneming.nl/api/v1/locations/671388/observations/?species_group=2 +2024-04-03 14:32:25.738 Ravens: headers authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d +accept-Language: nl +2024-04-03 14:32:27.090 Ravens: https://waarneming.nl/api/v1/locations/geojson/?id=5314 +2024-04-03 14:32:27.133 Ravens: fetchData ObservationsLocationViewModel limit: 5314 100 offset: 0 +2024-04-03 14:32:27.137 Ravens: URL https://waarneming.nl/api/v1/locations/5314/observations/?species_group=2 +2024-04-03 14:32:27.140 Ravens: headers authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d +accept-Language: nl +2024-04-03 14:32:30.819 Ravens: fetchData ObservationsLocationViewModel limit: 5314 100 offset: 0 +2024-04-03 14:32:30.823 Ravens: URL https://waarneming.nl/api/v1/locations/5314/observations/?species_group=2 +2024-04-03 14:32:30.827 Ravens: headers authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d +accept-Language: nl +2024-04-03 14:32:31.453 Ravens: Error ObsViewModel fetching data: https://waarneming.nl/api/v1/observations/271293209/ Accept-Language: nl +Authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d - responseSerializationFailed(reason: Alamofire.AFError.ResponseSerializationFailureReason.decodingFailed(error: Swift.DecodingError.keyNotFound(CodingKeys(stringValue: "id", intValue: nil), Swift.DecodingError.Context(codingPath: [], debugDescription: "No value associated with key CodingKeys(stringValue: \"id\", intValue: nil) (\"id\").", underlyingError: nil)))) +2024-04-03 14:32:31.456 Ravens: Optional(46 bytes) +2024-04-03 14:40:18.585 WARNING: *** NEW LAUNCH *** +2024-04-03 14:40:19.199 Ravens: fetchData ObservationsViewModel +2024-04-03 14:40:20.252 Ravens: observations locations count 4 +2024-04-03 14:40:22.350 Ravens: fetchData ObservationsViewModel +2024-04-03 14:40:23.319 Ravens: observations locations count 4 +2024-04-03 14:40:30.127 Ravens: https://waarneming.nl/api/v1/locations/geojson/?id=133746 +2024-04-03 14:40:30.178 Ravens: fetchData ObservationsLocationViewModel limit: 133746 100 offset: 0 +2024-04-03 14:40:30.181 Ravens: URL https://waarneming.nl/api/v1/locations/133746/observations/?species_group=2 +2024-04-03 14:40:30.185 Ravens: headers authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d +accept-Language: nl +2024-04-03 14:40:55.284 Ravens: https://waarneming.nl/api/v1/locations/geojson/?id=122299 +2024-04-03 14:40:55.345 Ravens: fetchData ObservationsLocationViewModel limit: 122299 100 offset: 0 +2024-04-03 14:40:55.348 Ravens: URL https://waarneming.nl/api/v1/locations/122299/observations/?species_group=2 +2024-04-03 14:40:55.353 Ravens: headers authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d +accept-Language: nl +2024-04-03 14:41:00.990 Ravens: https://waarneming.nl/api/v1/locations/geojson/?id=671388 +2024-04-03 14:41:01.043 Ravens: fetchData ObservationsLocationViewModel limit: 671388 100 offset: 0 +2024-04-03 14:41:01.047 Ravens: URL https://waarneming.nl/api/v1/locations/671388/observations/?species_group=2 +2024-04-03 14:41:01.050 Ravens: headers authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d +accept-Language: nl +2024-04-03 14:41:02.102 Ravens: https://waarneming.nl/api/v1/locations/geojson/?id=5314 +2024-04-03 14:41:02.150 Ravens: fetchData ObservationsLocationViewModel limit: 5314 100 offset: 0 +2024-04-03 14:41:02.154 Ravens: URL https://waarneming.nl/api/v1/locations/5314/observations/?species_group=2 +2024-04-03 14:41:02.158 Ravens: headers authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d +accept-Language: nl +2024-04-03 14:41:06.470 Ravens: fetchData ObservationsLocationViewModel limit: 5314 100 offset: 0 +2024-04-03 14:41:06.476 Ravens: URL https://waarneming.nl/api/v1/locations/5314/observations/?species_group=2 +2024-04-03 14:41:06.482 Ravens: headers authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d +accept-Language: nl +2024-04-03 14:41:06.935 Ravens: Error ObsViewModel fetching data: https://waarneming.nl/api/v1/observations/271293209/ Accept-Language: nl +Authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d - responseSerializationFailed(reason: Alamofire.AFError.ResponseSerializationFailureReason.decodingFailed(error: Swift.DecodingError.keyNotFound(CodingKeys(stringValue: "id", intValue: nil), Swift.DecodingError.Context(codingPath: [], debugDescription: "No value associated with key CodingKeys(stringValue: \"id\", intValue: nil) (\"id\").", underlyingError: nil)))) +2024-04-03 14:41:06.939 Ravens: Optional(46 bytes) +2024-04-03 14:42:53.728 WARNING: *** NEW LAUNCH *** +2024-04-03 14:42:54.217 Ravens: fetchData ObservationsViewModel +2024-04-03 14:42:55.473 Ravens: observations locations count 4 +2024-04-03 14:43:40.382 WARNING: *** NEW LAUNCH *** +2024-04-03 14:43:40.748 Ravens: fetchData ObservationsViewModel +2024-04-03 14:43:41.661 Ravens: observations locations count 4 +2024-04-03 14:43:52.323 Ravens: fetchData ObservationsViewModel +2024-04-03 14:43:53.383 Ravens: observations locations count 12 +2024-04-03 14:43:54.460 Ravens: https://waarneming.nl/api/v1/locations/geojson/?id=133746 +2024-04-03 14:43:54.503 Ravens: fetchData ObservationsLocationViewModel limit: 133746 100 offset: 0 +2024-04-03 14:43:54.507 Ravens: URL https://waarneming.nl/api/v1/locations/133746/observations/?species_group=2 +2024-04-03 14:43:54.511 Ravens: headers authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d +accept-Language: nl +2024-04-03 14:43:58.993 Ravens: https://waarneming.nl/api/v1/locations/geojson/?id=958 +2024-04-03 14:43:59.034 Ravens: fetchData ObservationsLocationViewModel limit: 958 100 offset: 0 +2024-04-03 14:43:59.038 Ravens: URL https://waarneming.nl/api/v1/locations/958/observations/?species_group=2 +2024-04-03 14:43:59.041 Ravens: headers authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d +accept-Language: nl +2024-04-03 14:44:06.404 Ravens: https://waarneming.nl/api/v1/locations/geojson/?id=5314 +2024-04-03 14:44:06.444 Ravens: fetchData ObservationsLocationViewModel limit: 5314 100 offset: 0 +2024-04-03 14:44:06.448 Ravens: URL https://waarneming.nl/api/v1/locations/5314/observations/?species_group=2 +2024-04-03 14:44:06.453 Ravens: headers authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d +accept-Language: nl +2024-04-03 14:44:09.539 Ravens: fetchData ObservationsLocationViewModel limit: 5314 100 offset: 0 +2024-04-03 14:44:09.543 Ravens: URL https://waarneming.nl/api/v1/locations/5314/observations/?species_group=2 +2024-04-03 14:44:09.546 Ravens: headers authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d +accept-Language: nl +2024-04-03 14:44:10.080 Ravens: Error ObsViewModel fetching data: https://waarneming.nl/api/v1/observations/271293209/ Accept-Language: nl +Authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d - responseSerializationFailed(reason: Alamofire.AFError.ResponseSerializationFailureReason.decodingFailed(error: Swift.DecodingError.keyNotFound(CodingKeys(stringValue: "id", intValue: nil), Swift.DecodingError.Context(codingPath: [], debugDescription: "No value associated with key CodingKeys(stringValue: \"id\", intValue: nil) (\"id\").", underlyingError: nil)))) +2024-04-03 14:44:10.083 Ravens: Optional(46 bytes) +2024-04-03 14:44:10.086 Ravens: failure(Alamofire.AFError.responseSerializationFailed(reason: Alamofire.AFError.ResponseSerializationFailureReason.decodingFailed(error: Swift.DecodingError.keyNotFound(CodingKeys(stringValue: "id", intValue: nil), Swift.DecodingError.Context(codingPath: [], debugDescription: "No value associated with key CodingKeys(stringValue: \"id\", intValue: nil) (\"id\").", underlyingError: nil))))) +2024-04-03 14:46:00.816 WARNING: *** NEW LAUNCH *** +2024-04-03 14:46:01.350 Ravens: fetchData ObservationsViewModel +2024-04-03 14:46:02.327 Ravens: observations locations count 4 +2024-04-03 14:46:06.093 Ravens: https://waarneming.nl/api/v1/locations/geojson/?id=133746 +2024-04-03 14:46:06.152 Ravens: fetchData ObservationsLocationViewModel limit: 133746 100 offset: 0 +2024-04-03 14:46:06.156 Ravens: URL https://waarneming.nl/api/v1/locations/133746/observations/?species_group=2 +2024-04-03 14:46:06.161 Ravens: headers authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d +accept-Language: nl +2024-04-03 14:46:18.817 Ravens: https://waarneming.nl/api/v1/locations/geojson/?id=5314 +2024-04-03 14:46:18.856 Ravens: fetchData ObservationsLocationViewModel limit: 5314 100 offset: 0 +2024-04-03 14:46:18.860 Ravens: URL https://waarneming.nl/api/v1/locations/5314/observations/?species_group=2 +2024-04-03 14:46:18.864 Ravens: headers authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d +accept-Language: nl +2024-04-03 14:46:20.973 Ravens: https://waarneming.nl/api/v1/locations/geojson/?id=671400 +2024-04-03 14:46:21.020 Ravens: fetchData ObservationsLocationViewModel limit: 671400 100 offset: 0 +2024-04-03 14:46:21.023 Ravens: URL https://waarneming.nl/api/v1/locations/671400/observations/?species_group=2 +2024-04-03 14:46:21.027 Ravens: headers authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d +accept-Language: nl +2024-04-03 14:46:22.890 Ravens: fetchData ObservationsLocationViewModel limit: 671400 100 offset: 0 +2024-04-03 14:46:22.893 Ravens: URL https://waarneming.nl/api/v1/locations/671400/observations/?species_group=2 +2024-04-03 14:46:22.896 Ravens: headers authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d +accept-Language: nl +2024-04-03 14:46:23.865 Ravens: Error ObsViewModel fetching data: https://waarneming.nl/api/v1/observations/287460342/ Accept-Language: nl +Authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d - responseSerializationFailed(reason: Alamofire.AFError.ResponseSerializationFailureReason.decodingFailed(error: Swift.DecodingError.keyNotFound(CodingKeys(stringValue: "id", intValue: nil), Swift.DecodingError.Context(codingPath: [], debugDescription: "No value associated with key CodingKeys(stringValue: \"id\", intValue: nil) (\"id\").", underlyingError: nil)))) +2024-04-03 14:46:23.871 Ravens: Optional(46 bytes) +2024-04-03 14:46:23.875 Ravens: failure(Alamofire.AFError.responseSerializationFailed(reason: Alamofire.AFError.ResponseSerializationFailureReason.decodingFailed(error: Swift.DecodingError.keyNotFound(CodingKeys(stringValue: "id", intValue: nil), Swift.DecodingError.Context(codingPath: [], debugDescription: "No value associated with key CodingKeys(stringValue: \"id\", intValue: nil) (\"id\").", underlyingError: nil))))) +2024-04-03 14:46:24.469 Ravens: Error ObsViewModel fetching data: https://waarneming.nl/api/v1/observations/271293209/ Accept-Language: nl +Authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d - responseSerializationFailed(reason: Alamofire.AFError.ResponseSerializationFailureReason.decodingFailed(error: Swift.DecodingError.keyNotFound(CodingKeys(stringValue: "id", intValue: nil), Swift.DecodingError.Context(codingPath: [], debugDescription: "No value associated with key CodingKeys(stringValue: \"id\", intValue: nil) (\"id\").", underlyingError: nil)))) +2024-04-03 14:46:24.472 Ravens: Optional(46 bytes) +2024-04-03 14:46:24.474 Ravens: failure(Alamofire.AFError.responseSerializationFailed(reason: Alamofire.AFError.ResponseSerializationFailureReason.decodingFailed(error: Swift.DecodingError.keyNotFound(CodingKeys(stringValue: "id", intValue: nil), Swift.DecodingError.Context(codingPath: [], debugDescription: "No value associated with key CodingKeys(stringValue: \"id\", intValue: nil) (\"id\").", underlyingError: nil))))) +2024-04-03 14:46:24.644 Ravens: Error ObsViewModel fetching data: https://waarneming.nl/api/v1/observations/293719688/ Accept-Language: nl +Authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d - responseSerializationFailed(reason: Alamofire.AFError.ResponseSerializationFailureReason.decodingFailed(error: Swift.DecodingError.keyNotFound(CodingKeys(stringValue: "id", intValue: nil), Swift.DecodingError.Context(codingPath: [], debugDescription: "No value associated with key CodingKeys(stringValue: \"id\", intValue: nil) (\"id\").", underlyingError: nil)))) +2024-04-03 14:46:24.647 Ravens: Optional(46 bytes) +2024-04-03 14:46:24.651 Ravens: failure(Alamofire.AFError.responseSerializationFailed(reason: Alamofire.AFError.ResponseSerializationFailureReason.decodingFailed(error: Swift.DecodingError.keyNotFound(CodingKeys(stringValue: "id", intValue: nil), Swift.DecodingError.Context(codingPath: [], debugDescription: "No value associated with key CodingKeys(stringValue: \"id\", intValue: nil) (\"id\").", underlyingError: nil))))) +2024-04-03 14:46:24.654 Ravens: Error ObsViewModel fetching data: https://waarneming.nl/api/v1/observations/295302629/ Accept-Language: nl +Authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d - responseSerializationFailed(reason: Alamofire.AFError.ResponseSerializationFailureReason.decodingFailed(error: Swift.DecodingError.keyNotFound(CodingKeys(stringValue: "id", intValue: nil), Swift.DecodingError.Context(codingPath: [], debugDescription: "No value associated with key CodingKeys(stringValue: \"id\", intValue: nil) (\"id\").", underlyingError: nil)))) +2024-04-03 14:46:24.657 Ravens: Optional(46 bytes) +2024-04-03 14:46:24.660 Ravens: failure(Alamofire.AFError.responseSerializationFailed(reason: Alamofire.AFError.ResponseSerializationFailureReason.decodingFailed(error: Swift.DecodingError.keyNotFound(CodingKeys(stringValue: "id", intValue: nil), Swift.DecodingError.Context(codingPath: [], debugDescription: "No value associated with key CodingKeys(stringValue: \"id\", intValue: nil) (\"id\").", underlyingError: nil))))) +2024-04-03 14:46:26.090 Ravens: Error ObsViewModel fetching data: https://waarneming.nl/api/v1/observations/293719702/ Accept-Language: nl +Authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d - responseSerializationFailed(reason: Alamofire.AFError.ResponseSerializationFailureReason.decodingFailed(error: Swift.DecodingError.keyNotFound(CodingKeys(stringValue: "id", intValue: nil), Swift.DecodingError.Context(codingPath: [], debugDescription: "No value associated with key CodingKeys(stringValue: \"id\", intValue: nil) (\"id\").", underlyingError: nil)))) +2024-04-03 14:46:26.098 Ravens: Optional(46 bytes) +2024-04-03 14:46:26.104 Ravens: failure(Alamofire.AFError.responseSerializationFailed(reason: Alamofire.AFError.ResponseSerializationFailureReason.decodingFailed(error: Swift.DecodingError.keyNotFound(CodingKeys(stringValue: "id", intValue: nil), Swift.DecodingError.Context(codingPath: [], debugDescription: "No value associated with key CodingKeys(stringValue: \"id\", intValue: nil) (\"id\").", underlyingError: nil))))) +2024-04-03 14:46:40.198 Ravens: Error ObsViewModel fetching data: https://waarneming.nl/api/v1/observations/287460342/ Accept-Language: nl +Authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d - responseSerializationFailed(reason: Alamofire.AFError.ResponseSerializationFailureReason.decodingFailed(error: Swift.DecodingError.keyNotFound(CodingKeys(stringValue: "id", intValue: nil), Swift.DecodingError.Context(codingPath: [], debugDescription: "No value associated with key CodingKeys(stringValue: \"id\", intValue: nil) (\"id\").", underlyingError: nil)))) +2024-04-03 14:46:40.202 Ravens: Optional(46 bytes) +2024-04-03 14:46:40.204 Ravens: failure(Alamofire.AFError.responseSerializationFailed(reason: Alamofire.AFError.ResponseSerializationFailureReason.decodingFailed(error: Swift.DecodingError.keyNotFound(CodingKeys(stringValue: "id", intValue: nil), Swift.DecodingError.Context(codingPath: [], debugDescription: "No value associated with key CodingKeys(stringValue: \"id\", intValue: nil) (\"id\").", underlyingError: nil))))) +2024-04-03 14:46:45.291 Ravens: Error ObsViewModel fetching data: https://waarneming.nl/api/v1/observations/287765375/ Accept-Language: nl +Authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d - responseSerializationFailed(reason: Alamofire.AFError.ResponseSerializationFailureReason.decodingFailed(error: Swift.DecodingError.keyNotFound(CodingKeys(stringValue: "id", intValue: nil), Swift.DecodingError.Context(codingPath: [], debugDescription: "No value associated with key CodingKeys(stringValue: \"id\", intValue: nil) (\"id\").", underlyingError: nil)))) +2024-04-03 14:46:45.301 Ravens: Optional(46 bytes) +2024-04-03 14:46:45.307 Ravens: failure(Alamofire.AFError.responseSerializationFailed(reason: Alamofire.AFError.ResponseSerializationFailureReason.decodingFailed(error: Swift.DecodingError.keyNotFound(CodingKeys(stringValue: "id", intValue: nil), Swift.DecodingError.Context(codingPath: [], debugDescription: "No value associated with key CodingKeys(stringValue: \"id\", intValue: nil) (\"id\").", underlyingError: nil))))) +2024-04-03 14:46:45.318 Ravens: Error ObsViewModel fetching data: https://waarneming.nl/api/v1/observations/285381222/ Accept-Language: nl +Authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d - responseSerializationFailed(reason: Alamofire.AFError.ResponseSerializationFailureReason.decodingFailed(error: Swift.DecodingError.keyNotFound(CodingKeys(stringValue: "id", intValue: nil), Swift.DecodingError.Context(codingPath: [], debugDescription: "No value associated with key CodingKeys(stringValue: \"id\", intValue: nil) (\"id\").", underlyingError: nil)))) +2024-04-03 14:46:45.322 Ravens: Optional(46 bytes) +2024-04-03 14:46:45.327 Ravens: failure(Alamofire.AFError.responseSerializationFailed(reason: Alamofire.AFError.ResponseSerializationFailureReason.decodingFailed(error: Swift.DecodingError.keyNotFound(CodingKeys(stringValue: "id", intValue: nil), Swift.DecodingError.Context(codingPath: [], debugDescription: "No value associated with key CodingKeys(stringValue: \"id\", intValue: nil) (\"id\").", underlyingError: nil))))) +2024-04-03 14:46:45.545 Ravens: Error ObsViewModel fetching data: https://waarneming.nl/api/v1/observations/285381219/ Accept-Language: nl +Authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d - responseSerializationFailed(reason: Alamofire.AFError.ResponseSerializationFailureReason.decodingFailed(error: Swift.DecodingError.keyNotFound(CodingKeys(stringValue: "id", intValue: nil), Swift.DecodingError.Context(codingPath: [], debugDescription: "No value associated with key CodingKeys(stringValue: \"id\", intValue: nil) (\"id\").", underlyingError: nil)))) +2024-04-03 14:46:45.549 Ravens: Optional(46 bytes) +2024-04-03 14:46:45.552 Ravens: failure(Alamofire.AFError.responseSerializationFailed(reason: Alamofire.AFError.ResponseSerializationFailureReason.decodingFailed(error: Swift.DecodingError.keyNotFound(CodingKeys(stringValue: "id", intValue: nil), Swift.DecodingError.Context(codingPath: [], debugDescription: "No value associated with key CodingKeys(stringValue: \"id\", intValue: nil) (\"id\").", underlyingError: nil))))) +2024-04-03 14:48:12.516 WARNING: *** NEW LAUNCH *** +2024-04-03 14:48:12.921 Ravens: fetchData ObservationsViewModel +2024-04-03 14:48:13.995 Ravens: observations locations count 4 +2024-04-03 14:48:14.924 Ravens: https://waarneming.nl/api/v1/locations/geojson/?id=133746 +2024-04-03 14:48:14.970 Ravens: fetchData ObservationsLocationViewModel limit: 133746 100 offset: 0 +2024-04-03 14:48:14.973 Ravens: URL https://waarneming.nl/api/v1/locations/133746/observations/?species_group=2 +2024-04-03 14:48:14.978 Ravens: headers authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d +accept-Language: nl +2024-04-03 14:48:35.062 Ravens: https://waarneming.nl/api/v1/locations/geojson/?id=5314 +2024-04-03 14:48:35.108 Ravens: fetchData ObservationsLocationViewModel limit: 5314 100 offset: 0 +2024-04-03 14:48:35.112 Ravens: URL https://waarneming.nl/api/v1/locations/5314/observations/?species_group=2 +2024-04-03 14:48:35.116 Ravens: headers authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d +accept-Language: nl +2024-04-03 14:48:37.652 Ravens: fetchData ObservationsLocationViewModel limit: 5314 100 offset: 0 +2024-04-03 14:48:37.656 Ravens: URL https://waarneming.nl/api/v1/locations/5314/observations/?species_group=2 +2024-04-03 14:48:37.658 Ravens: headers authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d +accept-Language: nl +2024-04-03 14:48:38.279 Ravens: Error ObsViewModel fetching data: https://waarneming.nl/api/v1/observations/271293209/ Accept-Language: nl +Authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d - responseSerializationFailed(reason: Alamofire.AFError.ResponseSerializationFailureReason.decodingFailed(error: Swift.DecodingError.keyNotFound(CodingKeys(stringValue: "id", intValue: nil), Swift.DecodingError.Context(codingPath: [], debugDescription: "No value associated with key CodingKeys(stringValue: \"id\", intValue: nil) (\"id\").", underlyingError: nil)))) +2024-04-03 14:48:38.282 Ravens: Optional(46 bytes) +2024-04-03 14:48:38.285 Ravens: failure(Alamofire.AFError.responseSerializationFailed(reason: Alamofire.AFError.ResponseSerializationFailureReason.decodingFailed(error: Swift.DecodingError.keyNotFound(CodingKeys(stringValue: "id", intValue: nil), Swift.DecodingError.Context(codingPath: [], debugDescription: "No value associated with key CodingKeys(stringValue: \"id\", intValue: nil) (\"id\").", underlyingError: nil))))) +2024-04-03 14:49:12.524 WARNING: *** NEW LAUNCH *** +2024-04-03 14:49:12.898 Ravens: fetchData ObservationsViewModel +2024-04-03 14:49:14.035 Ravens: observations locations count 4 +2024-04-03 14:50:20.620 WARNING: *** NEW LAUNCH *** +2024-04-03 14:50:21.046 Ravens: fetchData ObservationsViewModel +2024-04-03 14:50:22.115 Ravens: observations locations count 4 +2024-04-03 17:00:42.210 WARNING: *** NEW LAUNCH *** +2024-04-03 17:00:42.775 Ravens: fetchData ObservationsViewModel +2024-04-03 17:00:43.766 Ravens: observations locations count 4 +2024-04-04 06:50:18.724 WARNING: *** NEW LAUNCH *** +2024-04-04 06:50:19.644 Ravens: fetchData ObservationsViewModel +2024-04-04 06:50:20.462 Ravens: observations locations count 4 +2024-04-04 06:50:52.246 Ravens: fetchData ObservationsViewModel +2024-04-04 06:50:53.009 Ravens: observations locations count 4 +2024-04-04 06:51:00.261 Ravens: getID region: 200 groups: 1 +2024-04-04 06:51:00.266 Ravens: getId= RegionList(id: 5001, region: 200, species_group: 1) +2024-04-04 06:51:00.293 Ravens: speciesGroupViewModel.fetchData completed +2024-04-04 06:51:01.399 Ravens: fetchData ObservationsViewModel +2024-04-04 06:51:02.516 Ravens: observations locations count 100 +2024-04-04 06:51:14.739 Ravens: fetchData ObservationsViewModel +2024-04-04 06:51:15.942 Ravens: observations locations count 100 +2024-04-04 06:52:10.830 WARNING: *** NEW LAUNCH *** +2024-04-04 06:52:11.595 Ravens: fetchData ObservationsViewModel +2024-04-04 06:52:12.708 Ravens: observations locations count 100 +2024-04-04 06:52:14.974 Ravens: fetchData ObservationsViewModel +2024-04-04 06:52:16.166 Ravens: observations locations count 100 +2024-04-04 06:52:18.053 Ravens: fetchData ObservationsViewModel +2024-04-04 06:52:18.344 Ravens: file:///Users/ericdequartel/Library/Developer/CoreSimulator/Devices/017CCD8C-F819-45C1-9F5D-2AE646516EC3/data/Containers/Data/Application/6DF957F5-A387-4D85-BED2-357E367BF7D8/Documents/CachedObs302584796.json +2024-04-04 06:52:18.348 Ravens: file:///Users/ericdequartel/Library/Developer/CoreSimulator/Devices/017CCD8C-F819-45C1-9F5D-2AE646516EC3/data/Containers/Data/Application/6DF957F5-A387-4D85-BED2-357E367BF7D8/Documents/CachedObs302513261.json +2024-04-04 06:52:18.413 Ravens: file:///Users/ericdequartel/Library/Developer/CoreSimulator/Devices/017CCD8C-F819-45C1-9F5D-2AE646516EC3/data/Containers/Data/Application/6DF957F5-A387-4D85-BED2-357E367BF7D8/Documents/CachedObs302461499.json +2024-04-04 06:52:18.513 Ravens: file:///Users/ericdequartel/Library/Developer/CoreSimulator/Devices/017CCD8C-F819-45C1-9F5D-2AE646516EC3/data/Containers/Data/Application/6DF957F5-A387-4D85-BED2-357E367BF7D8/Documents/CachedObs302456393.json +2024-04-04 06:52:18.609 Ravens: file:///Users/ericdequartel/Library/Developer/CoreSimulator/Devices/017CCD8C-F819-45C1-9F5D-2AE646516EC3/data/Containers/Data/Application/6DF957F5-A387-4D85-BED2-357E367BF7D8/Documents/CachedObs302412087.json +2024-04-04 06:52:18.714 Ravens: file:///Users/ericdequartel/Library/Developer/CoreSimulator/Devices/017CCD8C-F819-45C1-9F5D-2AE646516EC3/data/Containers/Data/Application/6DF957F5-A387-4D85-BED2-357E367BF7D8/Documents/CachedObs303065581.json +2024-04-04 06:52:18.814 Ravens: file:///Users/ericdequartel/Library/Developer/CoreSimulator/Devices/017CCD8C-F819-45C1-9F5D-2AE646516EC3/data/Containers/Data/Application/6DF957F5-A387-4D85-BED2-357E367BF7D8/Documents/CachedObs303053869.json +2024-04-04 06:52:19.123 Ravens: observations locations count 100 +2024-04-04 06:56:48.334 WARNING: *** NEW LAUNCH *** +2024-04-04 06:56:48.949 Ravens: fetchData ObservationsViewModel +2024-04-04 06:56:50.079 Ravens: observations locations count 100 +2024-04-04 06:56:55.077 Ravens: fetchData ObservationsViewModel +2024-04-04 06:56:56.224 Ravens: observations locations count 100 +2024-04-04 06:57:16.982 Ravens: fetchData ObservationsViewModel +2024-04-04 06:57:19.862 Ravens: observations locations count 100 +2024-04-04 06:57:33.380 Ravens: getID region: 200 groups: 2 +2024-04-04 06:57:33.385 Ravens: getId= RegionList(id: 5002, region: 200, species_group: 2) +2024-04-04 06:57:33.413 Ravens: speciesGroupViewModel.fetchData completed +2024-04-04 06:57:34.244 Ravens: fetchData ObservationsViewModel +2024-04-04 06:57:36.462 Ravens: observations locations count 42 +2024-04-04 06:57:36.996 Ravens: fetchData ObservationsViewModel +2024-04-04 06:57:40.310 Ravens: observations locations count 100 +2024-04-04 06:57:41.331 Ravens: fetchData ObservationsViewModel +2024-04-04 06:57:44.149 Ravens: observations locations count 100 +2024-04-04 06:57:49.749 Ravens: fetchData ObservationsViewModel +2024-04-04 06:57:52.589 Ravens: observations locations count 100 +2024-04-04 06:57:56.400 Ravens: https://waarneming.nl/api/v1/locations/geojson/?id=133746 +2024-04-04 06:57:56.449 Ravens: fetchData ObservationsLocationViewModel limit: 133746 100 offset: 0 +2024-04-04 06:57:56.453 Ravens: URL https://waarneming.nl/api/v1/locations/133746/observations/?species_group=2 +2024-04-04 06:57:56.458 Ravens: headers authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d +accept-Language: nl +2024-04-04 06:58:30.759 Ravens: https://waarneming.nl/api/v1/locations/geojson/?id=5314 +2024-04-04 06:58:30.796 Ravens: fetchData ObservationsLocationViewModel limit: 5314 100 offset: 0 +2024-04-04 06:58:30.800 Ravens: URL https://waarneming.nl/api/v1/locations/5314/observations/?species_group=2 +2024-04-04 06:58:30.804 Ravens: headers authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d +accept-Language: nl +2024-04-04 06:58:34.190 Ravens: fetchData ObservationsLocationViewModel limit: 5314 100 offset: 0 +2024-04-04 06:58:34.194 Ravens: URL https://waarneming.nl/api/v1/locations/5314/observations/?species_group=2 +2024-04-04 06:58:34.199 Ravens: headers authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d +accept-Language: nl +2024-04-04 06:58:34.367 Ravens: file:///Users/ericdequartel/Library/Developer/CoreSimulator/Devices/017CCD8C-F819-45C1-9F5D-2AE646516EC3/data/Containers/Data/Application/A4073875-1AFE-401B-93DA-3D272BE4D84A/Documents/CachedObs208446201.json +2024-04-04 06:58:34.391 Ravens: file:///Users/ericdequartel/Library/Developer/CoreSimulator/Devices/017CCD8C-F819-45C1-9F5D-2AE646516EC3/data/Containers/Data/Application/A4073875-1AFE-401B-93DA-3D272BE4D84A/Documents/CachedObs212171241.json +2024-04-04 06:58:34.479 Ravens: file:///Users/ericdequartel/Library/Developer/CoreSimulator/Devices/017CCD8C-F819-45C1-9F5D-2AE646516EC3/data/Containers/Data/Application/A4073875-1AFE-401B-93DA-3D272BE4D84A/Documents/CachedObs234518302.json +2024-04-04 06:58:34.590 Ravens: file:///Users/ericdequartel/Library/Developer/CoreSimulator/Devices/017CCD8C-F819-45C1-9F5D-2AE646516EC3/data/Containers/Data/Application/A4073875-1AFE-401B-93DA-3D272BE4D84A/Documents/CachedObs248344857.json +2024-04-04 06:58:34.699 Ravens: file:///Users/ericdequartel/Library/Developer/CoreSimulator/Devices/017CCD8C-F819-45C1-9F5D-2AE646516EC3/data/Containers/Data/Application/A4073875-1AFE-401B-93DA-3D272BE4D84A/Documents/CachedObs204309317.json +2024-04-04 06:58:34.782 Ravens: file:///Users/ericdequartel/Library/Developer/CoreSimulator/Devices/017CCD8C-F819-45C1-9F5D-2AE646516EC3/data/Containers/Data/Application/A4073875-1AFE-401B-93DA-3D272BE4D84A/Documents/CachedObs144053119.json +2024-04-04 06:58:34.909 Ravens: file:///Users/ericdequartel/Library/Developer/CoreSimulator/Devices/017CCD8C-F819-45C1-9F5D-2AE646516EC3/data/Containers/Data/Application/A4073875-1AFE-401B-93DA-3D272BE4D84A/Documents/CachedObs68877157.json +2024-04-04 06:58:34.988 Ravens: file:///Users/ericdequartel/Library/Developer/CoreSimulator/Devices/017CCD8C-F819-45C1-9F5D-2AE646516EC3/data/Containers/Data/Application/A4073875-1AFE-401B-93DA-3D272BE4D84A/Documents/CachedObs82558131.json +2024-04-04 06:58:35.089 Ravens: file:///Users/ericdequartel/Library/Developer/CoreSimulator/Devices/017CCD8C-F819-45C1-9F5D-2AE646516EC3/data/Containers/Data/Application/A4073875-1AFE-401B-93DA-3D272BE4D84A/Documents/CachedObs155129481.json +2024-04-04 06:58:35.189 Ravens: file:///Users/ericdequartel/Library/Developer/CoreSimulator/Devices/017CCD8C-F819-45C1-9F5D-2AE646516EC3/data/Containers/Data/Application/A4073875-1AFE-401B-93DA-3D272BE4D84A/Documents/CachedObs169627210.json +2024-04-04 06:58:35.290 Ravens: file:///Users/ericdequartel/Library/Developer/CoreSimulator/Devices/017CCD8C-F819-45C1-9F5D-2AE646516EC3/data/Containers/Data/Application/A4073875-1AFE-401B-93DA-3D272BE4D84A/Documents/CachedObs271293209.json +2024-04-04 06:58:35.658 Ravens: Error ObsViewModel fetching data: https://waarneming.nl/api/v1/observations/271293209/ Accept-Language: nl +Authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d - responseSerializationFailed(reason: Alamofire.AFError.ResponseSerializationFailureReason.decodingFailed(error: Swift.DecodingError.keyNotFound(CodingKeys(stringValue: "id", intValue: nil), Swift.DecodingError.Context(codingPath: [], debugDescription: "No value associated with key CodingKeys(stringValue: \"id\", intValue: nil) (\"id\").", underlyingError: nil)))) +2024-04-04 06:58:35.664 Ravens: Optional(46 bytes) +2024-04-04 07:00:10.457 WARNING: *** NEW LAUNCH *** +2024-04-04 07:00:10.935 Ravens: fetchData ObservationsViewModel +2024-04-04 07:00:13.115 Ravens: https://waarneming.nl/api/v1/locations/geojson/?id=133746 +2024-04-04 07:00:13.153 Ravens: fetchData ObservationsLocationViewModel limit: 133746 100 offset: 0 +2024-04-04 07:00:13.157 Ravens: URL https://waarneming.nl/api/v1/locations/133746/observations/?species_group=2 +2024-04-04 07:00:13.162 Ravens: headers authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d +accept-Language: nl +2024-04-04 07:00:13.379 Ravens: observations locations count 42 +2024-04-04 07:00:24.323 Ravens: https://waarneming.nl/api/v1/locations/geojson/?id=5314 +2024-04-04 07:00:24.351 Ravens: fetchData ObservationsLocationViewModel limit: 5314 100 offset: 0 +2024-04-04 07:00:24.355 Ravens: URL https://waarneming.nl/api/v1/locations/5314/observations/?species_group=2 +2024-04-04 07:00:24.359 Ravens: headers authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d +accept-Language: nl +2024-04-04 07:00:27.219 Ravens: fetchData ObservationsLocationViewModel limit: 5314 100 offset: 0 +2024-04-04 07:00:27.223 Ravens: URL https://waarneming.nl/api/v1/locations/5314/observations/?species_group=2 +2024-04-04 07:00:27.227 Ravens: headers authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d +accept-Language: nl +2024-04-04 07:00:27.514 Ravens: file:///Users/ericdequartel/Library/Developer/CoreSimulator/Devices/017CCD8C-F819-45C1-9F5D-2AE646516EC3/data/Containers/Data/Application/DE4C5C33-C879-407C-8B72-D9FD714A4962/Documents/CachedObs146289270.json +2024-04-04 07:00:27.517 Ravens: file:///Users/ericdequartel/Library/Developer/CoreSimulator/Devices/017CCD8C-F819-45C1-9F5D-2AE646516EC3/data/Containers/Data/Application/DE4C5C33-C879-407C-8B72-D9FD714A4962/Documents/CachedObs47404253.json +2024-04-04 07:00:27.558 Ravens: file:///Users/ericdequartel/Library/Developer/CoreSimulator/Devices/017CCD8C-F819-45C1-9F5D-2AE646516EC3/data/Containers/Data/Application/DE4C5C33-C879-407C-8B72-D9FD714A4962/Documents/CachedObs47405802.json +2024-04-04 07:00:27.649 Ravens: file:///Users/ericdequartel/Library/Developer/CoreSimulator/Devices/017CCD8C-F819-45C1-9F5D-2AE646516EC3/data/Containers/Data/Application/DE4C5C33-C879-407C-8B72-D9FD714A4962/Documents/CachedObs116605774.json +2024-04-04 07:00:27.760 Ravens: file:///Users/ericdequartel/Library/Developer/CoreSimulator/Devices/017CCD8C-F819-45C1-9F5D-2AE646516EC3/data/Containers/Data/Application/DE4C5C33-C879-407C-8B72-D9FD714A4962/Documents/CachedObs136661467.json +2024-04-04 07:00:27.855 Ravens: file:///Users/ericdequartel/Library/Developer/CoreSimulator/Devices/017CCD8C-F819-45C1-9F5D-2AE646516EC3/data/Containers/Data/Application/DE4C5C33-C879-407C-8B72-D9FD714A4962/Documents/CachedObs271293209.json +2024-04-04 07:00:28.031 Ravens: Error ObsViewModel fetching data: https://waarneming.nl/api/v1/observations/271293209/ Accept-Language: nl +Authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d - responseSerializationFailed(reason: Alamofire.AFError.ResponseSerializationFailureReason.decodingFailed(error: Swift.DecodingError.keyNotFound(CodingKeys(stringValue: "id", intValue: nil), Swift.DecodingError.Context(codingPath: [], debugDescription: "No value associated with key CodingKeys(stringValue: \"id\", intValue: nil) (\"id\").", underlyingError: nil)))) +2024-04-04 07:00:28.034 Ravens: Optional(46 bytes) +2024-04-04 07:01:58.992 WARNING: *** NEW LAUNCH *** +2024-04-04 07:01:59.383 Ravens: fetchData ObservationsViewModel +2024-04-04 07:02:01.683 Ravens: observations locations count 42 +2024-04-04 07:02:03.288 Ravens: https://waarneming.nl/api/v1/locations/geojson/?id=133746 +2024-04-04 07:02:03.330 Ravens: fetchData ObservationsLocationViewModel limit: 133746 100 offset: 0 +2024-04-04 07:02:03.334 Ravens: URL https://waarneming.nl/api/v1/locations/133746/observations/?species_group=2 +2024-04-04 07:02:03.338 Ravens: headers authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d +accept-Language: nl +2024-04-04 07:02:13.794 Ravens: https://waarneming.nl/api/v1/locations/geojson/?id=671388 +2024-04-04 07:02:13.826 Ravens: fetchData ObservationsLocationViewModel limit: 671388 100 offset: 0 +2024-04-04 07:02:13.830 Ravens: URL https://waarneming.nl/api/v1/locations/671388/observations/?species_group=2 +2024-04-04 07:02:13.833 Ravens: headers authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d +accept-Language: nl +2024-04-04 07:02:15.019 Ravens: https://waarneming.nl/api/v1/locations/geojson/?id=5314 +2024-04-04 07:02:15.057 Ravens: fetchData ObservationsLocationViewModel limit: 5314 100 offset: 0 +2024-04-04 07:02:15.060 Ravens: URL https://waarneming.nl/api/v1/locations/5314/observations/?species_group=2 +2024-04-04 07:02:15.064 Ravens: headers authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d +accept-Language: nl +2024-04-04 07:02:17.045 Ravens: fetchData ObservationsLocationViewModel limit: 5314 100 offset: 0 +2024-04-04 07:02:17.049 Ravens: URL https://waarneming.nl/api/v1/locations/5314/observations/?species_group=2 +2024-04-04 07:02:17.053 Ravens: headers authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d +accept-Language: nl +2024-04-04 07:02:17.324 Ravens: file:///Users/ericdequartel/Library/Developer/CoreSimulator/Devices/017CCD8C-F819-45C1-9F5D-2AE646516EC3/data/Containers/Data/Application/1B0BE6DB-422E-47FE-A291-154FFB42E52C/Documents/CachedObs271293209.json +2024-04-04 07:02:17.559 Ravens: Error ObsViewModel fetching data: https://waarneming.nl/api/v1/observations/271293209/ Accept-Language: nl +Authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d - responseSerializationFailed(reason: Alamofire.AFError.ResponseSerializationFailureReason.decodingFailed(error: Swift.DecodingError.keyNotFound(CodingKeys(stringValue: "id", intValue: nil), Swift.DecodingError.Context(codingPath: [], debugDescription: "No value associated with key CodingKeys(stringValue: \"id\", intValue: nil) (\"id\").", underlyingError: nil)))) +2024-04-04 07:02:17.563 Ravens: Optional(46 bytes) +2024-04-04 07:03:43.421 Ravens: file:///Users/ericdequartel/Library/Developer/CoreSimulator/Devices/017CCD8C-F819-45C1-9F5D-2AE646516EC3/data/Containers/Data/Application/1B0BE6DB-422E-47FE-A291-154FFB42E52C/Documents/CachedObs271293209.json +2024-04-04 07:03:43.684 Ravens: Error ObsViewModel fetching data: https://waarneming.nl/api/v1/observations/271293209/ Accept-Language: nl +Authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d - responseSerializationFailed(reason: Alamofire.AFError.ResponseSerializationFailureReason.decodingFailed(error: Swift.DecodingError.keyNotFound(CodingKeys(stringValue: "id", intValue: nil), Swift.DecodingError.Context(codingPath: [], debugDescription: "No value associated with key CodingKeys(stringValue: \"id\", intValue: nil) (\"id\").", underlyingError: nil)))) +2024-04-04 07:03:43.687 Ravens: Optional(46 bytes) +2024-04-04 07:04:11.919 Ravens: https://waarneming.nl/api/v1/locations/geojson/?id=34620 +2024-04-04 07:04:11.990 Ravens: fetchData ObservationsLocationViewModel limit: 34620 100 offset: 0 +2024-04-04 07:04:11.994 Ravens: URL https://waarneming.nl/api/v1/locations/34620/observations/?species_group=2 +2024-04-04 07:04:12.000 Ravens: headers authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d +accept-Language: nl +2024-04-04 07:04:13.603 Ravens: fetchData ObservationsLocationViewModel limit: 34620 100 offset: 0 +2024-04-04 07:04:13.609 Ravens: URL https://waarneming.nl/api/v1/locations/34620/observations/?species_group=2 +2024-04-04 07:04:13.614 Ravens: headers authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d +accept-Language: nl +2024-04-04 07:04:13.803 Ravens: file:///Users/ericdequartel/Library/Developer/CoreSimulator/Devices/017CCD8C-F819-45C1-9F5D-2AE646516EC3/data/Containers/Data/Application/1B0BE6DB-422E-47FE-A291-154FFB42E52C/Documents/CachedObs301483865.json +2024-04-04 07:04:13.816 Ravens: file:///Users/ericdequartel/Library/Developer/CoreSimulator/Devices/017CCD8C-F819-45C1-9F5D-2AE646516EC3/data/Containers/Data/Application/1B0BE6DB-422E-47FE-A291-154FFB42E52C/Documents/CachedObs301483867.json +2024-04-04 07:04:13.916 Ravens: file:///Users/ericdequartel/Library/Developer/CoreSimulator/Devices/017CCD8C-F819-45C1-9F5D-2AE646516EC3/data/Containers/Data/Application/1B0BE6DB-422E-47FE-A291-154FFB42E52C/Documents/CachedObs301483869.json +2024-04-04 07:04:14.016 Ravens: file:///Users/ericdequartel/Library/Developer/CoreSimulator/Devices/017CCD8C-F819-45C1-9F5D-2AE646516EC3/data/Containers/Data/Application/1B0BE6DB-422E-47FE-A291-154FFB42E52C/Documents/CachedObs301483868.json +2024-04-04 07:04:14.113 Ravens: file:///Users/ericdequartel/Library/Developer/CoreSimulator/Devices/017CCD8C-F819-45C1-9F5D-2AE646516EC3/data/Containers/Data/Application/1B0BE6DB-422E-47FE-A291-154FFB42E52C/Documents/CachedObs301483870.json +2024-04-04 07:04:14.231 Ravens: file:///Users/ericdequartel/Library/Developer/CoreSimulator/Devices/017CCD8C-F819-45C1-9F5D-2AE646516EC3/data/Containers/Data/Application/1B0BE6DB-422E-47FE-A291-154FFB42E52C/Documents/CachedObs301483871.json +2024-04-04 07:04:14.314 Ravens: file:///Users/ericdequartel/Library/Developer/CoreSimulator/Devices/017CCD8C-F819-45C1-9F5D-2AE646516EC3/data/Containers/Data/Application/1B0BE6DB-422E-47FE-A291-154FFB42E52C/Documents/CachedObs301483873.json +2024-04-04 07:04:14.442 Ravens: file:///Users/ericdequartel/Library/Developer/CoreSimulator/Devices/017CCD8C-F819-45C1-9F5D-2AE646516EC3/data/Containers/Data/Application/1B0BE6DB-422E-47FE-A291-154FFB42E52C/Documents/CachedObs301483872.json +2024-04-04 07:04:14.527 Ravens: file:///Users/ericdequartel/Library/Developer/CoreSimulator/Devices/017CCD8C-F819-45C1-9F5D-2AE646516EC3/data/Containers/Data/Application/1B0BE6DB-422E-47FE-A291-154FFB42E52C/Documents/CachedObs301483874.json +2024-04-04 07:04:14.610 Ravens: file:///Users/ericdequartel/Library/Developer/CoreSimulator/Devices/017CCD8C-F819-45C1-9F5D-2AE646516EC3/data/Containers/Data/Application/1B0BE6DB-422E-47FE-A291-154FFB42E52C/Documents/CachedObs301483879.json +2024-04-04 07:04:14.736 Ravens: file:///Users/ericdequartel/Library/Developer/CoreSimulator/Devices/017CCD8C-F819-45C1-9F5D-2AE646516EC3/data/Containers/Data/Application/1B0BE6DB-422E-47FE-A291-154FFB42E52C/Documents/CachedObs301483881.json +2024-04-04 07:04:14.811 Ravens: file:///Users/ericdequartel/Library/Developer/CoreSimulator/Devices/017CCD8C-F819-45C1-9F5D-2AE646516EC3/data/Containers/Data/Application/1B0BE6DB-422E-47FE-A291-154FFB42E52C/Documents/CachedObs301483880.json +2024-04-04 07:04:14.915 Ravens: file:///Users/ericdequartel/Library/Developer/CoreSimulator/Devices/017CCD8C-F819-45C1-9F5D-2AE646516EC3/data/Containers/Data/Application/1B0BE6DB-422E-47FE-A291-154FFB42E52C/Documents/CachedObs301483882.json +2024-04-04 07:04:15.044 Ravens: file:///Users/ericdequartel/Library/Developer/CoreSimulator/Devices/017CCD8C-F819-45C1-9F5D-2AE646516EC3/data/Containers/Data/Application/1B0BE6DB-422E-47FE-A291-154FFB42E52C/Documents/CachedObs302490636.json +2024-04-04 07:04:15.111 Ravens: file:///Users/ericdequartel/Library/Developer/CoreSimulator/Devices/017CCD8C-F819-45C1-9F5D-2AE646516EC3/data/Containers/Data/Application/1B0BE6DB-422E-47FE-A291-154FFB42E52C/Documents/CachedObs280435333.json +2024-04-04 07:04:15.248 Ravens: file:///Users/ericdequartel/Library/Developer/CoreSimulator/Devices/017CCD8C-F819-45C1-9F5D-2AE646516EC3/data/Containers/Data/Application/1B0BE6DB-422E-47FE-A291-154FFB42E52C/Documents/CachedObs302253332.json +2024-04-04 07:04:31.153 Ravens: getID region: 200 groups: 1 +2024-04-04 07:04:31.158 Ravens: getId= RegionList(id: 5001, region: 200, species_group: 1) +2024-04-04 07:04:31.213 Ravens: speciesGroupViewModel.fetchData completed +2024-04-04 07:04:36.074 Ravens: https://waarneming.nl/api/v1/locations/geojson/?id=34620 +2024-04-04 07:04:36.134 Ravens: fetchData ObservationsLocationViewModel limit: 34620 100 offset: 0 +2024-04-04 07:04:36.137 Ravens: URL https://waarneming.nl/api/v1/locations/34620/observations/?species_group=1 +2024-04-04 07:04:36.141 Ravens: headers authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d +accept-Language: nl +2024-04-04 07:04:38.635 Ravens: fetchData ObservationsLocationViewModel limit: 34620 100 offset: 0 +2024-04-04 07:04:38.642 Ravens: URL https://waarneming.nl/api/v1/locations/34620/observations/?species_group=1 +2024-04-04 07:04:38.647 Ravens: headers authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d +accept-Language: nl +2024-04-04 07:04:38.863 Ravens: file:///Users/ericdequartel/Library/Developer/CoreSimulator/Devices/017CCD8C-F819-45C1-9F5D-2AE646516EC3/data/Containers/Data/Application/1B0BE6DB-422E-47FE-A291-154FFB42E52C/Documents/CachedObs302557945.json +2024-04-04 07:04:38.883 Ravens: file:///Users/ericdequartel/Library/Developer/CoreSimulator/Devices/017CCD8C-F819-45C1-9F5D-2AE646516EC3/data/Containers/Data/Application/1B0BE6DB-422E-47FE-A291-154FFB42E52C/Documents/CachedObs302557932.json +2024-04-04 07:04:38.954 Ravens: file:///Users/ericdequartel/Library/Developer/CoreSimulator/Devices/017CCD8C-F819-45C1-9F5D-2AE646516EC3/data/Containers/Data/Application/1B0BE6DB-422E-47FE-A291-154FFB42E52C/Documents/CachedObs302558054.json +2024-04-04 07:04:38.969 Ravens: Error ObsViewModel fetching data: https://waarneming.nl/api/v1/observations/302557932/ Accept-Language: nl +Authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d - responseSerializationFailed(reason: Alamofire.AFError.ResponseSerializationFailureReason.decodingFailed(error: Swift.DecodingError.keyNotFound(CodingKeys(stringValue: "id", intValue: nil), Swift.DecodingError.Context(codingPath: [], debugDescription: "No value associated with key CodingKeys(stringValue: \"id\", intValue: nil) (\"id\").", underlyingError: nil)))) +2024-04-04 07:04:38.975 Ravens: Optional(46 bytes) +2024-04-04 07:04:39.065 Ravens: file:///Users/ericdequartel/Library/Developer/CoreSimulator/Devices/017CCD8C-F819-45C1-9F5D-2AE646516EC3/data/Containers/Data/Application/1B0BE6DB-422E-47FE-A291-154FFB42E52C/Documents/CachedObs302557914.json +2024-04-04 07:04:39.076 Ravens: Error ObsViewModel fetching data: https://waarneming.nl/api/v1/observations/302557945/ Accept-Language: nl +Authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d - responseSerializationFailed(reason: Alamofire.AFError.ResponseSerializationFailureReason.decodingFailed(error: Swift.DecodingError.keyNotFound(CodingKeys(stringValue: "id", intValue: nil), Swift.DecodingError.Context(codingPath: [], debugDescription: "No value associated with key CodingKeys(stringValue: \"id\", intValue: nil) (\"id\").", underlyingError: nil)))) +2024-04-04 07:04:39.078 Ravens: Optional(46 bytes) +2024-04-04 07:04:39.100 Ravens: Error ObsViewModel fetching data: https://waarneming.nl/api/v1/observations/302557914/ Accept-Language: nl +Authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d - responseSerializationFailed(reason: Alamofire.AFError.ResponseSerializationFailureReason.decodingFailed(error: Swift.DecodingError.keyNotFound(CodingKeys(stringValue: "id", intValue: nil), Swift.DecodingError.Context(codingPath: [], debugDescription: "No value associated with key CodingKeys(stringValue: \"id\", intValue: nil) (\"id\").", underlyingError: nil)))) +2024-04-04 07:04:39.102 Ravens: Optional(46 bytes) +2024-04-04 07:04:39.171 Ravens: file:///Users/ericdequartel/Library/Developer/CoreSimulator/Devices/017CCD8C-F819-45C1-9F5D-2AE646516EC3/data/Containers/Data/Application/1B0BE6DB-422E-47FE-A291-154FFB42E52C/Documents/CachedObs302557849.json +2024-04-04 07:04:39.177 Ravens: Error ObsViewModel fetching data: https://waarneming.nl/api/v1/observations/302558054/ Accept-Language: nl +Authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d - responseSerializationFailed(reason: Alamofire.AFError.ResponseSerializationFailureReason.decodingFailed(error: Swift.DecodingError.keyNotFound(CodingKeys(stringValue: "id", intValue: nil), Swift.DecodingError.Context(codingPath: [], debugDescription: "No value associated with key CodingKeys(stringValue: \"id\", intValue: nil) (\"id\").", underlyingError: nil)))) +2024-04-04 07:04:39.179 Ravens: Optional(46 bytes) +2024-04-04 07:04:39.277 Ravens: file:///Users/ericdequartel/Library/Developer/CoreSimulator/Devices/017CCD8C-F819-45C1-9F5D-2AE646516EC3/data/Containers/Data/Application/1B0BE6DB-422E-47FE-A291-154FFB42E52C/Documents/CachedObs302557831.json +2024-04-04 07:04:39.379 Ravens: file:///Users/ericdequartel/Library/Developer/CoreSimulator/Devices/017CCD8C-F819-45C1-9F5D-2AE646516EC3/data/Containers/Data/Application/1B0BE6DB-422E-47FE-A291-154FFB42E52C/Documents/CachedObs302557876.json +2024-04-04 07:04:39.390 Ravens: Error ObsViewModel fetching data: https://waarneming.nl/api/v1/observations/302557849/ Accept-Language: nl +Authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d - responseSerializationFailed(reason: Alamofire.AFError.ResponseSerializationFailureReason.decodingFailed(error: Swift.DecodingError.keyNotFound(CodingKeys(stringValue: "id", intValue: nil), Swift.DecodingError.Context(codingPath: [], debugDescription: "No value associated with key CodingKeys(stringValue: \"id\", intValue: nil) (\"id\").", underlyingError: nil)))) +2024-04-04 07:04:39.393 Ravens: Optional(46 bytes) +2024-04-04 07:04:39.421 Ravens: Error ObsViewModel fetching data: https://waarneming.nl/api/v1/observations/302557876/ Accept-Language: nl +Authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d - responseSerializationFailed(reason: Alamofire.AFError.ResponseSerializationFailureReason.decodingFailed(error: Swift.DecodingError.keyNotFound(CodingKeys(stringValue: "id", intValue: nil), Swift.DecodingError.Context(codingPath: [], debugDescription: "No value associated with key CodingKeys(stringValue: \"id\", intValue: nil) (\"id\").", underlyingError: nil)))) +2024-04-04 07:04:39.425 Ravens: Optional(46 bytes) +2024-04-04 07:04:39.479 Ravens: file:///Users/ericdequartel/Library/Developer/CoreSimulator/Devices/017CCD8C-F819-45C1-9F5D-2AE646516EC3/data/Containers/Data/Application/1B0BE6DB-422E-47FE-A291-154FFB42E52C/Documents/CachedObs302557893.json +2024-04-04 07:04:39.485 Ravens: Error ObsViewModel fetching data: https://waarneming.nl/api/v1/observations/302557831/ Accept-Language: nl +Authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d - responseSerializationFailed(reason: Alamofire.AFError.ResponseSerializationFailureReason.decodingFailed(error: Swift.DecodingError.keyNotFound(CodingKeys(stringValue: "id", intValue: nil), Swift.DecodingError.Context(codingPath: [], debugDescription: "No value associated with key CodingKeys(stringValue: \"id\", intValue: nil) (\"id\").", underlyingError: nil)))) +2024-04-04 07:04:39.487 Ravens: Optional(46 bytes) +2024-04-04 07:04:39.592 Ravens: file:///Users/ericdequartel/Library/Developer/CoreSimulator/Devices/017CCD8C-F819-45C1-9F5D-2AE646516EC3/data/Containers/Data/Application/1B0BE6DB-422E-47FE-A291-154FFB42E52C/Documents/CachedObs302540781.json +2024-04-04 07:04:39.660 Ravens: file:///Users/ericdequartel/Library/Developer/CoreSimulator/Devices/017CCD8C-F819-45C1-9F5D-2AE646516EC3/data/Containers/Data/Application/1B0BE6DB-422E-47FE-A291-154FFB42E52C/Documents/CachedObs302557877.json +2024-04-04 07:04:39.668 Ravens: Error ObsViewModel fetching data: https://waarneming.nl/api/v1/observations/302557893/ Accept-Language: nl +Authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d - responseSerializationFailed(reason: Alamofire.AFError.ResponseSerializationFailureReason.decodingFailed(error: Swift.DecodingError.keyNotFound(CodingKeys(stringValue: "id", intValue: nil), Swift.DecodingError.Context(codingPath: [], debugDescription: "No value associated with key CodingKeys(stringValue: \"id\", intValue: nil) (\"id\").", underlyingError: nil)))) +2024-04-04 07:04:39.671 Ravens: Optional(46 bytes) +2024-04-04 07:04:39.706 Ravens: Error ObsViewModel fetching data: https://waarneming.nl/api/v1/observations/302557877/ Accept-Language: nl +Authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d - responseSerializationFailed(reason: Alamofire.AFError.ResponseSerializationFailureReason.decodingFailed(error: Swift.DecodingError.keyNotFound(CodingKeys(stringValue: "id", intValue: nil), Swift.DecodingError.Context(codingPath: [], debugDescription: "No value associated with key CodingKeys(stringValue: \"id\", intValue: nil) (\"id\").", underlyingError: nil)))) +2024-04-04 07:04:39.708 Ravens: Optional(46 bytes) +2024-04-04 07:04:39.802 Ravens: file:///Users/ericdequartel/Library/Developer/CoreSimulator/Devices/017CCD8C-F819-45C1-9F5D-2AE646516EC3/data/Containers/Data/Application/1B0BE6DB-422E-47FE-A291-154FFB42E52C/Documents/CachedObs302557886.json +2024-04-04 07:04:39.850 Ravens: Error ObsViewModel fetching data: https://waarneming.nl/api/v1/observations/302557886/ Accept-Language: nl +Authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d - responseSerializationFailed(reason: Alamofire.AFError.ResponseSerializationFailureReason.decodingFailed(error: Swift.DecodingError.keyNotFound(CodingKeys(stringValue: "id", intValue: nil), Swift.DecodingError.Context(codingPath: [], debugDescription: "No value associated with key CodingKeys(stringValue: \"id\", intValue: nil) (\"id\").", underlyingError: nil)))) +2024-04-04 07:04:39.854 Ravens: Optional(46 bytes) +2024-04-04 07:04:39.892 Ravens: file:///Users/ericdequartel/Library/Developer/CoreSimulator/Devices/017CCD8C-F819-45C1-9F5D-2AE646516EC3/data/Containers/Data/Application/1B0BE6DB-422E-47FE-A291-154FFB42E52C/Documents/CachedObs302557871.json +2024-04-04 07:04:39.932 Ravens: Error ObsViewModel fetching data: https://waarneming.nl/api/v1/observations/302557871/ Accept-Language: nl +Authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d - responseSerializationFailed(reason: Alamofire.AFError.ResponseSerializationFailureReason.decodingFailed(error: Swift.DecodingError.keyNotFound(CodingKeys(stringValue: "id", intValue: nil), Swift.DecodingError.Context(codingPath: [], debugDescription: "No value associated with key CodingKeys(stringValue: \"id\", intValue: nil) (\"id\").", underlyingError: nil)))) +2024-04-04 07:04:39.937 Ravens: Optional(46 bytes) +2024-04-04 07:04:40.007 Ravens: file:///Users/ericdequartel/Library/Developer/CoreSimulator/Devices/017CCD8C-F819-45C1-9F5D-2AE646516EC3/data/Containers/Data/Application/1B0BE6DB-422E-47FE-A291-154FFB42E52C/Documents/CachedObs302722742.json +2024-04-04 07:04:40.082 Ravens: file:///Users/ericdequartel/Library/Developer/CoreSimulator/Devices/017CCD8C-F819-45C1-9F5D-2AE646516EC3/data/Containers/Data/Application/1B0BE6DB-422E-47FE-A291-154FFB42E52C/Documents/CachedObs302557950.json +2024-04-04 07:04:40.126 Ravens: Error ObsViewModel fetching data: https://waarneming.nl/api/v1/observations/302557950/ Accept-Language: nl +Authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d - responseSerializationFailed(reason: Alamofire.AFError.ResponseSerializationFailureReason.decodingFailed(error: Swift.DecodingError.keyNotFound(CodingKeys(stringValue: "id", intValue: nil), Swift.DecodingError.Context(codingPath: [], debugDescription: "No value associated with key CodingKeys(stringValue: \"id\", intValue: nil) (\"id\").", underlyingError: nil)))) +2024-04-04 07:04:40.129 Ravens: Optional(46 bytes) +2024-04-04 07:04:40.196 Ravens: file:///Users/ericdequartel/Library/Developer/CoreSimulator/Devices/017CCD8C-F819-45C1-9F5D-2AE646516EC3/data/Containers/Data/Application/1B0BE6DB-422E-47FE-A291-154FFB42E52C/Documents/CachedObs302558008.json +2024-04-04 07:04:40.319 Ravens: file:///Users/ericdequartel/Library/Developer/CoreSimulator/Devices/017CCD8C-F819-45C1-9F5D-2AE646516EC3/data/Containers/Data/Application/1B0BE6DB-422E-47FE-A291-154FFB42E52C/Documents/CachedObs302557967.json +2024-04-04 07:04:40.516 Ravens: Error ObsViewModel fetching data: https://waarneming.nl/api/v1/observations/302557967/ Accept-Language: nl +Authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d - responseSerializationFailed(reason: Alamofire.AFError.ResponseSerializationFailureReason.decodingFailed(error: Swift.DecodingError.keyNotFound(CodingKeys(stringValue: "id", intValue: nil), Swift.DecodingError.Context(codingPath: [], debugDescription: "No value associated with key CodingKeys(stringValue: \"id\", intValue: nil) (\"id\").", underlyingError: nil)))) +2024-04-04 07:04:40.519 Ravens: Optional(46 bytes) +2024-04-04 07:04:41.477 Ravens: Error ObsViewModel fetching data: https://waarneming.nl/api/v1/observations/302558008/ Accept-Language: nl +Authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d - responseSerializationFailed(reason: Alamofire.AFError.ResponseSerializationFailureReason.decodingFailed(error: Swift.DecodingError.keyNotFound(CodingKeys(stringValue: "id", intValue: nil), Swift.DecodingError.Context(codingPath: [], debugDescription: "No value associated with key CodingKeys(stringValue: \"id\", intValue: nil) (\"id\").", underlyingError: nil)))) +2024-04-04 07:04:41.486 Ravens: Optional(46 bytes) +2024-04-04 07:04:48.088 Ravens: file:///Users/ericdequartel/Library/Developer/CoreSimulator/Devices/017CCD8C-F819-45C1-9F5D-2AE646516EC3/data/Containers/Data/Application/1B0BE6DB-422E-47FE-A291-154FFB42E52C/Documents/CachedObs302557871.json +2024-04-04 07:04:48.225 Ravens: file:///Users/ericdequartel/Library/Developer/CoreSimulator/Devices/017CCD8C-F819-45C1-9F5D-2AE646516EC3/data/Containers/Data/Application/1B0BE6DB-422E-47FE-A291-154FFB42E52C/Documents/CachedObs302557877.json +2024-04-04 07:04:48.269 Ravens: Error ObsViewModel fetching data: https://waarneming.nl/api/v1/observations/302557877/ Accept-Language: nl +Authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d - responseSerializationFailed(reason: Alamofire.AFError.ResponseSerializationFailureReason.decodingFailed(error: Swift.DecodingError.keyNotFound(CodingKeys(stringValue: "id", intValue: nil), Swift.DecodingError.Context(codingPath: [], debugDescription: "No value associated with key CodingKeys(stringValue: \"id\", intValue: nil) (\"id\").", underlyingError: nil)))) +2024-04-04 07:04:48.272 Ravens: Optional(46 bytes) +2024-04-04 07:04:48.318 Ravens: Error ObsViewModel fetching data: https://waarneming.nl/api/v1/observations/302557871/ Accept-Language: nl +Authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d - responseSerializationFailed(reason: Alamofire.AFError.ResponseSerializationFailureReason.decodingFailed(error: Swift.DecodingError.keyNotFound(CodingKeys(stringValue: "id", intValue: nil), Swift.DecodingError.Context(codingPath: [], debugDescription: "No value associated with key CodingKeys(stringValue: \"id\", intValue: nil) (\"id\").", underlyingError: nil)))) +2024-04-04 07:04:48.321 Ravens: Optional(46 bytes) +2024-04-04 07:04:48.329 Ravens: file:///Users/ericdequartel/Library/Developer/CoreSimulator/Devices/017CCD8C-F819-45C1-9F5D-2AE646516EC3/data/Containers/Data/Application/1B0BE6DB-422E-47FE-A291-154FFB42E52C/Documents/CachedObs302557886.json +2024-04-04 07:04:48.369 Ravens: Error ObsViewModel fetching data: https://waarneming.nl/api/v1/observations/302557886/ Accept-Language: nl +Authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d - responseSerializationFailed(reason: Alamofire.AFError.ResponseSerializationFailureReason.decodingFailed(error: Swift.DecodingError.keyNotFound(CodingKeys(stringValue: "id", intValue: nil), Swift.DecodingError.Context(codingPath: [], debugDescription: "No value associated with key CodingKeys(stringValue: \"id\", intValue: nil) (\"id\").", underlyingError: nil)))) +2024-04-04 07:04:48.372 Ravens: Optional(46 bytes) +2024-04-04 07:04:48.926 Ravens: file:///Users/ericdequartel/Library/Developer/CoreSimulator/Devices/017CCD8C-F819-45C1-9F5D-2AE646516EC3/data/Containers/Data/Application/1B0BE6DB-422E-47FE-A291-154FFB42E52C/Documents/CachedObs302557893.json +2024-04-04 07:04:48.994 Ravens: Error ObsViewModel fetching data: https://waarneming.nl/api/v1/observations/302557893/ Accept-Language: nl +Authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d - responseSerializationFailed(reason: Alamofire.AFError.ResponseSerializationFailureReason.decodingFailed(error: Swift.DecodingError.keyNotFound(CodingKeys(stringValue: "id", intValue: nil), Swift.DecodingError.Context(codingPath: [], debugDescription: "No value associated with key CodingKeys(stringValue: \"id\", intValue: nil) (\"id\").", underlyingError: nil)))) +2024-04-04 07:04:49.000 Ravens: Optional(46 bytes) +2024-04-04 07:04:49.064 Ravens: file:///Users/ericdequartel/Library/Developer/CoreSimulator/Devices/017CCD8C-F819-45C1-9F5D-2AE646516EC3/data/Containers/Data/Application/1B0BE6DB-422E-47FE-A291-154FFB42E52C/Documents/CachedObs302557876.json +2024-04-04 07:04:49.110 Ravens: Error ObsViewModel fetching data: https://waarneming.nl/api/v1/observations/302557876/ Accept-Language: nl +Authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d - responseSerializationFailed(reason: Alamofire.AFError.ResponseSerializationFailureReason.decodingFailed(error: Swift.DecodingError.keyNotFound(CodingKeys(stringValue: "id", intValue: nil), Swift.DecodingError.Context(codingPath: [], debugDescription: "No value associated with key CodingKeys(stringValue: \"id\", intValue: nil) (\"id\").", underlyingError: nil)))) +2024-04-04 07:04:49.113 Ravens: Optional(46 bytes) +2024-04-04 07:04:59.744 Ravens: file:///Users/ericdequartel/Library/Developer/CoreSimulator/Devices/017CCD8C-F819-45C1-9F5D-2AE646516EC3/data/Containers/Data/Application/1B0BE6DB-422E-47FE-A291-154FFB42E52C/Documents/CachedObs302557831.json +2024-04-04 07:04:59.797 Ravens: Error ObsViewModel fetching data: https://waarneming.nl/api/v1/observations/302557831/ Accept-Language: nl +Authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d - responseSerializationFailed(reason: Alamofire.AFError.ResponseSerializationFailureReason.decodingFailed(error: Swift.DecodingError.keyNotFound(CodingKeys(stringValue: "id", intValue: nil), Swift.DecodingError.Context(codingPath: [], debugDescription: "No value associated with key CodingKeys(stringValue: \"id\", intValue: nil) (\"id\").", underlyingError: nil)))) +2024-04-04 07:04:59.804 Ravens: Optional(46 bytes) +2024-04-04 07:04:59.870 Ravens: file:///Users/ericdequartel/Library/Developer/CoreSimulator/Devices/017CCD8C-F819-45C1-9F5D-2AE646516EC3/data/Containers/Data/Application/1B0BE6DB-422E-47FE-A291-154FFB42E52C/Documents/CachedObs302557849.json +2024-04-04 07:04:59.915 Ravens: Error ObsViewModel fetching data: https://waarneming.nl/api/v1/observations/302557849/ Accept-Language: nl +Authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d - responseSerializationFailed(reason: Alamofire.AFError.ResponseSerializationFailureReason.decodingFailed(error: Swift.DecodingError.keyNotFound(CodingKeys(stringValue: "id", intValue: nil), Swift.DecodingError.Context(codingPath: [], debugDescription: "No value associated with key CodingKeys(stringValue: \"id\", intValue: nil) (\"id\").", underlyingError: nil)))) +2024-04-04 07:04:59.919 Ravens: Optional(46 bytes) +2024-04-04 07:05:00.003 Ravens: file:///Users/ericdequartel/Library/Developer/CoreSimulator/Devices/017CCD8C-F819-45C1-9F5D-2AE646516EC3/data/Containers/Data/Application/1B0BE6DB-422E-47FE-A291-154FFB42E52C/Documents/CachedObs302557914.json +2024-04-04 07:05:00.141 Ravens: file:///Users/ericdequartel/Library/Developer/CoreSimulator/Devices/017CCD8C-F819-45C1-9F5D-2AE646516EC3/data/Containers/Data/Application/1B0BE6DB-422E-47FE-A291-154FFB42E52C/Documents/CachedObs302558054.json +2024-04-04 07:05:00.232 Ravens: Error ObsViewModel fetching data: https://waarneming.nl/api/v1/observations/302557914/ Accept-Language: nl +Authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d - responseSerializationFailed(reason: Alamofire.AFError.ResponseSerializationFailureReason.decodingFailed(error: Swift.DecodingError.keyNotFound(CodingKeys(stringValue: "id", intValue: nil), Swift.DecodingError.Context(codingPath: [], debugDescription: "No value associated with key CodingKeys(stringValue: \"id\", intValue: nil) (\"id\").", underlyingError: nil)))) +2024-04-04 07:05:00.235 Ravens: Optional(46 bytes) +2024-04-04 07:05:00.295 Ravens: file:///Users/ericdequartel/Library/Developer/CoreSimulator/Devices/017CCD8C-F819-45C1-9F5D-2AE646516EC3/data/Containers/Data/Application/1B0BE6DB-422E-47FE-A291-154FFB42E52C/Documents/CachedObs302557932.json +2024-04-04 07:05:00.336 Ravens: Error ObsViewModel fetching data: https://waarneming.nl/api/v1/observations/302557932/ Accept-Language: nl +Authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d - responseSerializationFailed(reason: Alamofire.AFError.ResponseSerializationFailureReason.decodingFailed(error: Swift.DecodingError.keyNotFound(CodingKeys(stringValue: "id", intValue: nil), Swift.DecodingError.Context(codingPath: [], debugDescription: "No value associated with key CodingKeys(stringValue: \"id\", intValue: nil) (\"id\").", underlyingError: nil)))) +2024-04-04 07:05:00.339 Ravens: Optional(46 bytes) +2024-04-04 07:05:00.369 Ravens: Error ObsViewModel fetching data: https://waarneming.nl/api/v1/observations/302558054/ Accept-Language: nl +Authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d - responseSerializationFailed(reason: Alamofire.AFError.ResponseSerializationFailureReason.decodingFailed(error: Swift.DecodingError.keyNotFound(CodingKeys(stringValue: "id", intValue: nil), Swift.DecodingError.Context(codingPath: [], debugDescription: "No value associated with key CodingKeys(stringValue: \"id\", intValue: nil) (\"id\").", underlyingError: nil)))) +2024-04-04 07:05:00.372 Ravens: Optional(46 bytes) +2024-04-04 07:05:00.418 Ravens: file:///Users/ericdequartel/Library/Developer/CoreSimulator/Devices/017CCD8C-F819-45C1-9F5D-2AE646516EC3/data/Containers/Data/Application/1B0BE6DB-422E-47FE-A291-154FFB42E52C/Documents/CachedObs302557945.json +2024-04-04 07:05:00.568 Ravens: file:///Users/ericdequartel/Library/Developer/CoreSimulator/Devices/017CCD8C-F819-45C1-9F5D-2AE646516EC3/data/Containers/Data/Application/1B0BE6DB-422E-47FE-A291-154FFB42E52C/Documents/CachedObs302557903.json +2024-04-04 07:05:00.601 Ravens: Error ObsViewModel fetching data: https://waarneming.nl/api/v1/observations/302557945/ Accept-Language: nl +Authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d - responseSerializationFailed(reason: Alamofire.AFError.ResponseSerializationFailureReason.decodingFailed(error: Swift.DecodingError.keyNotFound(CodingKeys(stringValue: "id", intValue: nil), Swift.DecodingError.Context(codingPath: [], debugDescription: "No value associated with key CodingKeys(stringValue: \"id\", intValue: nil) (\"id\").", underlyingError: nil)))) +2024-04-04 07:05:00.604 Ravens: Optional(46 bytes) +2024-04-04 07:05:00.751 Ravens: file:///Users/ericdequartel/Library/Developer/CoreSimulator/Devices/017CCD8C-F819-45C1-9F5D-2AE646516EC3/data/Containers/Data/Application/1B0BE6DB-422E-47FE-A291-154FFB42E52C/Documents/CachedObs302557884.json +2024-04-04 07:05:00.766 Ravens: Error ObsViewModel fetching data: https://waarneming.nl/api/v1/observations/302557903/ Accept-Language: nl +Authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d - responseSerializationFailed(reason: Alamofire.AFError.ResponseSerializationFailureReason.decodingFailed(error: Swift.DecodingError.keyNotFound(CodingKeys(stringValue: "id", intValue: nil), Swift.DecodingError.Context(codingPath: [], debugDescription: "No value associated with key CodingKeys(stringValue: \"id\", intValue: nil) (\"id\").", underlyingError: nil)))) +2024-04-04 07:05:00.768 Ravens: Optional(46 bytes) +2024-04-04 07:05:00.796 Ravens: Error ObsViewModel fetching data: https://waarneming.nl/api/v1/observations/302557884/ Accept-Language: nl +Authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d - responseSerializationFailed(reason: Alamofire.AFError.ResponseSerializationFailureReason.decodingFailed(error: Swift.DecodingError.keyNotFound(CodingKeys(stringValue: "id", intValue: nil), Swift.DecodingError.Context(codingPath: [], debugDescription: "No value associated with key CodingKeys(stringValue: \"id\", intValue: nil) (\"id\").", underlyingError: nil)))) +2024-04-04 07:05:00.799 Ravens: Optional(46 bytes) +2024-04-04 07:05:00.916 Ravens: file:///Users/ericdequartel/Library/Developer/CoreSimulator/Devices/017CCD8C-F819-45C1-9F5D-2AE646516EC3/data/Containers/Data/Application/1B0BE6DB-422E-47FE-A291-154FFB42E52C/Documents/CachedObs302557957.json +2024-04-04 07:05:00.957 Ravens: Error ObsViewModel fetching data: https://waarneming.nl/api/v1/observations/302557957/ Accept-Language: nl +Authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d - responseSerializationFailed(reason: Alamofire.AFError.ResponseSerializationFailureReason.decodingFailed(error: Swift.DecodingError.keyNotFound(CodingKeys(stringValue: "id", intValue: nil), Swift.DecodingError.Context(codingPath: [], debugDescription: "No value associated with key CodingKeys(stringValue: \"id\", intValue: nil) (\"id\").", underlyingError: nil)))) +2024-04-04 07:05:00.959 Ravens: Optional(46 bytes) +2024-04-04 07:05:01.085 Ravens: file:///Users/ericdequartel/Library/Developer/CoreSimulator/Devices/017CCD8C-F819-45C1-9F5D-2AE646516EC3/data/Containers/Data/Application/1B0BE6DB-422E-47FE-A291-154FFB42E52C/Documents/CachedObs302557955.json +2024-04-04 07:05:01.121 Ravens: Error ObsViewModel fetching data: https://waarneming.nl/api/v1/observations/302557955/ Accept-Language: nl +Authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d - responseSerializationFailed(reason: Alamofire.AFError.ResponseSerializationFailureReason.decodingFailed(error: Swift.DecodingError.keyNotFound(CodingKeys(stringValue: "id", intValue: nil), Swift.DecodingError.Context(codingPath: [], debugDescription: "No value associated with key CodingKeys(stringValue: \"id\", intValue: nil) (\"id\").", underlyingError: nil)))) +2024-04-04 07:05:01.124 Ravens: Optional(46 bytes) +2024-04-04 07:05:01.277 Ravens: file:///Users/ericdequartel/Library/Developer/CoreSimulator/Devices/017CCD8C-F819-45C1-9F5D-2AE646516EC3/data/Containers/Data/Application/1B0BE6DB-422E-47FE-A291-154FFB42E52C/Documents/CachedObs302557870.json +2024-04-04 07:05:01.322 Ravens: Error ObsViewModel fetching data: https://waarneming.nl/api/v1/observations/302557870/ Accept-Language: nl +Authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d - responseSerializationFailed(reason: Alamofire.AFError.ResponseSerializationFailureReason.decodingFailed(error: Swift.DecodingError.keyNotFound(CodingKeys(stringValue: "id", intValue: nil), Swift.DecodingError.Context(codingPath: [], debugDescription: "No value associated with key CodingKeys(stringValue: \"id\", intValue: nil) (\"id\").", underlyingError: nil)))) +2024-04-04 07:05:01.325 Ravens: Optional(46 bytes) +2024-04-04 07:05:01.479 Ravens: file:///Users/ericdequartel/Library/Developer/CoreSimulator/Devices/017CCD8C-F819-45C1-9F5D-2AE646516EC3/data/Containers/Data/Application/1B0BE6DB-422E-47FE-A291-154FFB42E52C/Documents/CachedObs302540701.json +2024-04-04 07:05:01.690 Ravens: file:///Users/ericdequartel/Library/Developer/CoreSimulator/Devices/017CCD8C-F819-45C1-9F5D-2AE646516EC3/data/Containers/Data/Application/1B0BE6DB-422E-47FE-A291-154FFB42E52C/Documents/CachedObs302557846.json +2024-04-04 07:05:01.932 Ravens: file:///Users/ericdequartel/Library/Developer/CoreSimulator/Devices/017CCD8C-F819-45C1-9F5D-2AE646516EC3/data/Containers/Data/Application/1B0BE6DB-422E-47FE-A291-154FFB42E52C/Documents/CachedObs302557912.json +2024-04-04 07:05:01.937 Ravens: Error ObsViewModel fetching data: https://waarneming.nl/api/v1/observations/302557846/ Accept-Language: nl +Authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d - responseSerializationFailed(reason: Alamofire.AFError.ResponseSerializationFailureReason.decodingFailed(error: Swift.DecodingError.keyNotFound(CodingKeys(stringValue: "id", intValue: nil), Swift.DecodingError.Context(codingPath: [], debugDescription: "No value associated with key CodingKeys(stringValue: \"id\", intValue: nil) (\"id\").", underlyingError: nil)))) +2024-04-04 07:05:01.940 Ravens: Optional(46 bytes) +2024-04-04 07:05:01.972 Ravens: Error ObsViewModel fetching data: https://waarneming.nl/api/v1/observations/302557912/ Accept-Language: nl +Authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d - responseSerializationFailed(reason: Alamofire.AFError.ResponseSerializationFailureReason.decodingFailed(error: Swift.DecodingError.keyNotFound(CodingKeys(stringValue: "id", intValue: nil), Swift.DecodingError.Context(codingPath: [], debugDescription: "No value associated with key CodingKeys(stringValue: \"id\", intValue: nil) (\"id\").", underlyingError: nil)))) +2024-04-04 07:05:01.975 Ravens: Optional(46 bytes) +2024-04-04 07:05:02.279 Ravens: file:///Users/ericdequartel/Library/Developer/CoreSimulator/Devices/017CCD8C-F819-45C1-9F5D-2AE646516EC3/data/Containers/Data/Application/1B0BE6DB-422E-47FE-A291-154FFB42E52C/Documents/CachedObs302557992.json +2024-04-04 07:05:02.337 Ravens: Error ObsViewModel fetching data: https://waarneming.nl/api/v1/observations/302557992/ Accept-Language: nl +Authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d - responseSerializationFailed(reason: Alamofire.AFError.ResponseSerializationFailureReason.decodingFailed(error: Swift.DecodingError.keyNotFound(CodingKeys(stringValue: "id", intValue: nil), Swift.DecodingError.Context(codingPath: [], debugDescription: "No value associated with key CodingKeys(stringValue: \"id\", intValue: nil) (\"id\").", underlyingError: nil)))) +2024-04-04 07:05:02.341 Ravens: Optional(46 bytes) +2024-04-04 07:05:02.801 Ravens: file:///Users/ericdequartel/Library/Developer/CoreSimulator/Devices/017CCD8C-F819-45C1-9F5D-2AE646516EC3/data/Containers/Data/Application/1B0BE6DB-422E-47FE-A291-154FFB42E52C/Documents/CachedObs302557902.json +2024-04-04 07:05:02.860 Ravens: Error ObsViewModel fetching data: https://waarneming.nl/api/v1/observations/302557902/ Accept-Language: nl +Authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d - responseSerializationFailed(reason: Alamofire.AFError.ResponseSerializationFailureReason.decodingFailed(error: Swift.DecodingError.keyNotFound(CodingKeys(stringValue: "id", intValue: nil), Swift.DecodingError.Context(codingPath: [], debugDescription: "No value associated with key CodingKeys(stringValue: \"id\", intValue: nil) (\"id\").", underlyingError: nil)))) +2024-04-04 07:05:02.864 Ravens: Optional(46 bytes) +2024-04-04 07:05:03.988 Ravens: file:///Users/ericdequartel/Library/Developer/CoreSimulator/Devices/017CCD8C-F819-45C1-9F5D-2AE646516EC3/data/Containers/Data/Application/1B0BE6DB-422E-47FE-A291-154FFB42E52C/Documents/CachedObs302557846.json +2024-04-04 07:05:04.042 Ravens: Error ObsViewModel fetching data: https://waarneming.nl/api/v1/observations/302557846/ Accept-Language: nl +Authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d - responseSerializationFailed(reason: Alamofire.AFError.ResponseSerializationFailureReason.decodingFailed(error: Swift.DecodingError.keyNotFound(CodingKeys(stringValue: "id", intValue: nil), Swift.DecodingError.Context(codingPath: [], debugDescription: "No value associated with key CodingKeys(stringValue: \"id\", intValue: nil) (\"id\").", underlyingError: nil)))) +2024-04-04 07:05:04.047 Ravens: Optional(46 bytes) +2024-04-04 07:05:04.155 Ravens: file:///Users/ericdequartel/Library/Developer/CoreSimulator/Devices/017CCD8C-F819-45C1-9F5D-2AE646516EC3/data/Containers/Data/Application/1B0BE6DB-422E-47FE-A291-154FFB42E52C/Documents/CachedObs302557912.json +2024-04-04 07:05:04.194 Ravens: Error ObsViewModel fetching data: https://waarneming.nl/api/v1/observations/302557912/ Accept-Language: nl +Authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d - responseSerializationFailed(reason: Alamofire.AFError.ResponseSerializationFailureReason.decodingFailed(error: Swift.DecodingError.keyNotFound(CodingKeys(stringValue: "id", intValue: nil), Swift.DecodingError.Context(codingPath: [], debugDescription: "No value associated with key CodingKeys(stringValue: \"id\", intValue: nil) (\"id\").", underlyingError: nil)))) +2024-04-04 07:05:04.197 Ravens: Optional(46 bytes) +2024-04-04 07:05:05.462 Ravens: file:///Users/ericdequartel/Library/Developer/CoreSimulator/Devices/017CCD8C-F819-45C1-9F5D-2AE646516EC3/data/Containers/Data/Application/1B0BE6DB-422E-47FE-A291-154FFB42E52C/Documents/CachedObs302557992.json +2024-04-04 07:05:05.524 Ravens: Error ObsViewModel fetching data: https://waarneming.nl/api/v1/observations/302557992/ Accept-Language: nl +Authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d - responseSerializationFailed(reason: Alamofire.AFError.ResponseSerializationFailureReason.decodingFailed(error: Swift.DecodingError.keyNotFound(CodingKeys(stringValue: "id", intValue: nil), Swift.DecodingError.Context(codingPath: [], debugDescription: "No value associated with key CodingKeys(stringValue: \"id\", intValue: nil) (\"id\").", underlyingError: nil)))) +2024-04-04 07:05:05.529 Ravens: Optional(46 bytes) +2024-04-04 07:05:05.586 Ravens: file:///Users/ericdequartel/Library/Developer/CoreSimulator/Devices/017CCD8C-F819-45C1-9F5D-2AE646516EC3/data/Containers/Data/Application/1B0BE6DB-422E-47FE-A291-154FFB42E52C/Documents/CachedObs302557902.json +2024-04-04 07:05:05.631 Ravens: Error ObsViewModel fetching data: https://waarneming.nl/api/v1/observations/302557902/ Accept-Language: nl +Authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d - responseSerializationFailed(reason: Alamofire.AFError.ResponseSerializationFailureReason.decodingFailed(error: Swift.DecodingError.keyNotFound(CodingKeys(stringValue: "id", intValue: nil), Swift.DecodingError.Context(codingPath: [], debugDescription: "No value associated with key CodingKeys(stringValue: \"id\", intValue: nil) (\"id\").", underlyingError: nil)))) +2024-04-04 07:05:05.633 Ravens: Optional(46 bytes) +2024-04-04 07:05:05.729 Ravens: file:///Users/ericdequartel/Library/Developer/CoreSimulator/Devices/017CCD8C-F819-45C1-9F5D-2AE646516EC3/data/Containers/Data/Application/1B0BE6DB-422E-47FE-A291-154FFB42E52C/Documents/CachedObs302557863.json +2024-04-04 07:05:05.773 Ravens: Error ObsViewModel fetching data: https://waarneming.nl/api/v1/observations/302557863/ Accept-Language: nl +Authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d - responseSerializationFailed(reason: Alamofire.AFError.ResponseSerializationFailureReason.decodingFailed(error: Swift.DecodingError.keyNotFound(CodingKeys(stringValue: "id", intValue: nil), Swift.DecodingError.Context(codingPath: [], debugDescription: "No value associated with key CodingKeys(stringValue: \"id\", intValue: nil) (\"id\").", underlyingError: nil)))) +2024-04-04 07:05:05.776 Ravens: Optional(46 bytes) +2024-04-04 07:05:05.850 Ravens: file:///Users/ericdequartel/Library/Developer/CoreSimulator/Devices/017CCD8C-F819-45C1-9F5D-2AE646516EC3/data/Containers/Data/Application/1B0BE6DB-422E-47FE-A291-154FFB42E52C/Documents/CachedObs302557952.json +2024-04-04 07:05:05.892 Ravens: Error ObsViewModel fetching data: https://waarneming.nl/api/v1/observations/302557952/ Accept-Language: nl +Authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d - responseSerializationFailed(reason: Alamofire.AFError.ResponseSerializationFailureReason.decodingFailed(error: Swift.DecodingError.keyNotFound(CodingKeys(stringValue: "id", intValue: nil), Swift.DecodingError.Context(codingPath: [], debugDescription: "No value associated with key CodingKeys(stringValue: \"id\", intValue: nil) (\"id\").", underlyingError: nil)))) +2024-04-04 07:05:05.895 Ravens: Optional(46 bytes) +2024-04-04 07:05:05.979 Ravens: file:///Users/ericdequartel/Library/Developer/CoreSimulator/Devices/017CCD8C-F819-45C1-9F5D-2AE646516EC3/data/Containers/Data/Application/1B0BE6DB-422E-47FE-A291-154FFB42E52C/Documents/CachedObs302557855.json +2024-04-04 07:05:06.186 Ravens: Error ObsViewModel fetching data: https://waarneming.nl/api/v1/observations/302557855/ Accept-Language: nl +Authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d - responseSerializationFailed(reason: Alamofire.AFError.ResponseSerializationFailureReason.decodingFailed(error: Swift.DecodingError.keyNotFound(CodingKeys(stringValue: "id", intValue: nil), Swift.DecodingError.Context(codingPath: [], debugDescription: "No value associated with key CodingKeys(stringValue: \"id\", intValue: nil) (\"id\").", underlyingError: nil)))) +2024-04-04 07:05:06.189 Ravens: Optional(46 bytes) +2024-04-04 07:05:06.686 Ravens: file:///Users/ericdequartel/Library/Developer/CoreSimulator/Devices/017CCD8C-F819-45C1-9F5D-2AE646516EC3/data/Containers/Data/Application/1B0BE6DB-422E-47FE-A291-154FFB42E52C/Documents/CachedObs302557884.json +2024-04-04 07:05:06.727 Ravens: Error ObsViewModel fetching data: https://waarneming.nl/api/v1/observations/302557884/ Accept-Language: nl +Authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d - responseSerializationFailed(reason: Alamofire.AFError.ResponseSerializationFailureReason.decodingFailed(error: Swift.DecodingError.keyNotFound(CodingKeys(stringValue: "id", intValue: nil), Swift.DecodingError.Context(codingPath: [], debugDescription: "No value associated with key CodingKeys(stringValue: \"id\", intValue: nil) (\"id\").", underlyingError: nil)))) +2024-04-04 07:05:06.730 Ravens: Optional(46 bytes) +2024-04-04 07:05:06.811 Ravens: file:///Users/ericdequartel/Library/Developer/CoreSimulator/Devices/017CCD8C-F819-45C1-9F5D-2AE646516EC3/data/Containers/Data/Application/1B0BE6DB-422E-47FE-A291-154FFB42E52C/Documents/CachedObs302557903.json +2024-04-04 07:05:06.859 Ravens: Error ObsViewModel fetching data: https://waarneming.nl/api/v1/observations/302557903/ Accept-Language: nl +Authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d - responseSerializationFailed(reason: Alamofire.AFError.ResponseSerializationFailureReason.decodingFailed(error: Swift.DecodingError.keyNotFound(CodingKeys(stringValue: "id", intValue: nil), Swift.DecodingError.Context(codingPath: [], debugDescription: "No value associated with key CodingKeys(stringValue: \"id\", intValue: nil) (\"id\").", underlyingError: nil)))) +2024-04-04 07:05:06.862 Ravens: Optional(46 bytes) +2024-04-04 07:05:06.928 Ravens: file:///Users/ericdequartel/Library/Developer/CoreSimulator/Devices/017CCD8C-F819-45C1-9F5D-2AE646516EC3/data/Containers/Data/Application/1B0BE6DB-422E-47FE-A291-154FFB42E52C/Documents/CachedObs302557945.json +2024-04-04 07:05:06.973 Ravens: Error ObsViewModel fetching data: https://waarneming.nl/api/v1/observations/302557945/ Accept-Language: nl +Authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d - responseSerializationFailed(reason: Alamofire.AFError.ResponseSerializationFailureReason.decodingFailed(error: Swift.DecodingError.keyNotFound(CodingKeys(stringValue: "id", intValue: nil), Swift.DecodingError.Context(codingPath: [], debugDescription: "No value associated with key CodingKeys(stringValue: \"id\", intValue: nil) (\"id\").", underlyingError: nil)))) +2024-04-04 07:05:06.976 Ravens: Optional(46 bytes) +2024-04-04 07:05:07.049 Ravens: file:///Users/ericdequartel/Library/Developer/CoreSimulator/Devices/017CCD8C-F819-45C1-9F5D-2AE646516EC3/data/Containers/Data/Application/1B0BE6DB-422E-47FE-A291-154FFB42E52C/Documents/CachedObs302557932.json +2024-04-04 07:05:07.174 Ravens: file:///Users/ericdequartel/Library/Developer/CoreSimulator/Devices/017CCD8C-F819-45C1-9F5D-2AE646516EC3/data/Containers/Data/Application/1B0BE6DB-422E-47FE-A291-154FFB42E52C/Documents/CachedObs302558054.json +2024-04-04 07:05:07.240 Ravens: Error ObsViewModel fetching data: https://waarneming.nl/api/v1/observations/302557932/ Accept-Language: nl +Authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d - responseSerializationFailed(reason: Alamofire.AFError.ResponseSerializationFailureReason.decodingFailed(error: Swift.DecodingError.keyNotFound(CodingKeys(stringValue: "id", intValue: nil), Swift.DecodingError.Context(codingPath: [], debugDescription: "No value associated with key CodingKeys(stringValue: \"id\", intValue: nil) (\"id\").", underlyingError: nil)))) +2024-04-04 07:05:07.243 Ravens: Optional(46 bytes) +2024-04-04 07:05:07.286 Ravens: file:///Users/ericdequartel/Library/Developer/CoreSimulator/Devices/017CCD8C-F819-45C1-9F5D-2AE646516EC3/data/Containers/Data/Application/1B0BE6DB-422E-47FE-A291-154FFB42E52C/Documents/CachedObs302557849.json +2024-04-04 07:05:07.343 Ravens: file:///Users/ericdequartel/Library/Developer/CoreSimulator/Devices/017CCD8C-F819-45C1-9F5D-2AE646516EC3/data/Containers/Data/Application/1B0BE6DB-422E-47FE-A291-154FFB42E52C/Documents/CachedObs302557914.json +2024-04-04 07:05:07.347 Ravens: Error ObsViewModel fetching data: https://waarneming.nl/api/v1/observations/302557849/ Accept-Language: nl +Authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d - responseSerializationFailed(reason: Alamofire.AFError.ResponseSerializationFailureReason.decodingFailed(error: Swift.DecodingError.keyNotFound(CodingKeys(stringValue: "id", intValue: nil), Swift.DecodingError.Context(codingPath: [], debugDescription: "No value associated with key CodingKeys(stringValue: \"id\", intValue: nil) (\"id\").", underlyingError: nil)))) +2024-04-04 07:05:07.352 Ravens: Optional(46 bytes) +2024-04-04 07:05:07.371 Ravens: Error ObsViewModel fetching data: https://waarneming.nl/api/v1/observations/302558054/ Accept-Language: nl +Authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d - responseSerializationFailed(reason: Alamofire.AFError.ResponseSerializationFailureReason.decodingFailed(error: Swift.DecodingError.keyNotFound(CodingKeys(stringValue: "id", intValue: nil), Swift.DecodingError.Context(codingPath: [], debugDescription: "No value associated with key CodingKeys(stringValue: \"id\", intValue: nil) (\"id\").", underlyingError: nil)))) +2024-04-04 07:05:07.374 Ravens: Optional(46 bytes) +2024-04-04 07:05:07.387 Ravens: Error ObsViewModel fetching data: https://waarneming.nl/api/v1/observations/302557914/ Accept-Language: nl +Authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d - responseSerializationFailed(reason: Alamofire.AFError.ResponseSerializationFailureReason.decodingFailed(error: Swift.DecodingError.keyNotFound(CodingKeys(stringValue: "id", intValue: nil), Swift.DecodingError.Context(codingPath: [], debugDescription: "No value associated with key CodingKeys(stringValue: \"id\", intValue: nil) (\"id\").", underlyingError: nil)))) +2024-04-04 07:05:07.390 Ravens: Optional(46 bytes) +2024-04-04 07:05:07.580 Ravens: file:///Users/ericdequartel/Library/Developer/CoreSimulator/Devices/017CCD8C-F819-45C1-9F5D-2AE646516EC3/data/Containers/Data/Application/1B0BE6DB-422E-47FE-A291-154FFB42E52C/Documents/CachedObs302557831.json +2024-04-04 07:05:07.584 Ravens: file:///Users/ericdequartel/Library/Developer/CoreSimulator/Devices/017CCD8C-F819-45C1-9F5D-2AE646516EC3/data/Containers/Data/Application/1B0BE6DB-422E-47FE-A291-154FFB42E52C/Documents/CachedObs302557893.json +2024-04-04 07:05:07.634 Ravens: Error ObsViewModel fetching data: https://waarneming.nl/api/v1/observations/302557893/ Accept-Language: nl +Authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d - responseSerializationFailed(reason: Alamofire.AFError.ResponseSerializationFailureReason.decodingFailed(error: Swift.DecodingError.keyNotFound(CodingKeys(stringValue: "id", intValue: nil), Swift.DecodingError.Context(codingPath: [], debugDescription: "No value associated with key CodingKeys(stringValue: \"id\", intValue: nil) (\"id\").", underlyingError: nil)))) +2024-04-04 07:05:07.639 Ravens: Optional(46 bytes) +2024-04-04 07:05:07.643 Ravens: Error ObsViewModel fetching data: https://waarneming.nl/api/v1/observations/302557831/ Accept-Language: nl +Authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d - responseSerializationFailed(reason: Alamofire.AFError.ResponseSerializationFailureReason.decodingFailed(error: Swift.DecodingError.keyNotFound(CodingKeys(stringValue: "id", intValue: nil), Swift.DecodingError.Context(codingPath: [], debugDescription: "No value associated with key CodingKeys(stringValue: \"id\", intValue: nil) (\"id\").", underlyingError: nil)))) +2024-04-04 07:05:07.646 Ravens: Optional(46 bytes) +2024-04-04 07:05:07.703 Ravens: file:///Users/ericdequartel/Library/Developer/CoreSimulator/Devices/017CCD8C-F819-45C1-9F5D-2AE646516EC3/data/Containers/Data/Application/1B0BE6DB-422E-47FE-A291-154FFB42E52C/Documents/CachedObs302557876.json +2024-04-04 07:05:07.778 Ravens: Error ObsViewModel fetching data: https://waarneming.nl/api/v1/observations/302557876/ Accept-Language: nl +Authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d - responseSerializationFailed(reason: Alamofire.AFError.ResponseSerializationFailureReason.decodingFailed(error: Swift.DecodingError.keyNotFound(CodingKeys(stringValue: "id", intValue: nil), Swift.DecodingError.Context(codingPath: [], debugDescription: "No value associated with key CodingKeys(stringValue: \"id\", intValue: nil) (\"id\").", underlyingError: nil)))) +2024-04-04 07:05:07.780 Ravens: Optional(46 bytes) +2024-04-04 07:05:08.095 Ravens: file:///Users/ericdequartel/Library/Developer/CoreSimulator/Devices/017CCD8C-F819-45C1-9F5D-2AE646516EC3/data/Containers/Data/Application/1B0BE6DB-422E-47FE-A291-154FFB42E52C/Documents/CachedObs302557877.json +2024-04-04 07:05:08.157 Ravens: file:///Users/ericdequartel/Library/Developer/CoreSimulator/Devices/017CCD8C-F819-45C1-9F5D-2AE646516EC3/data/Containers/Data/Application/1B0BE6DB-422E-47FE-A291-154FFB42E52C/Documents/CachedObs302557886.json +2024-04-04 07:05:08.164 Ravens: Error ObsViewModel fetching data: https://waarneming.nl/api/v1/observations/302557877/ Accept-Language: nl +Authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d - responseSerializationFailed(reason: Alamofire.AFError.ResponseSerializationFailureReason.decodingFailed(error: Swift.DecodingError.keyNotFound(CodingKeys(stringValue: "id", intValue: nil), Swift.DecodingError.Context(codingPath: [], debugDescription: "No value associated with key CodingKeys(stringValue: \"id\", intValue: nil) (\"id\").", underlyingError: nil)))) +2024-04-04 07:05:08.169 Ravens: Optional(46 bytes) +2024-04-04 07:05:08.213 Ravens: Error ObsViewModel fetching data: https://waarneming.nl/api/v1/observations/302557886/ Accept-Language: nl +Authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d - responseSerializationFailed(reason: Alamofire.AFError.ResponseSerializationFailureReason.decodingFailed(error: Swift.DecodingError.keyNotFound(CodingKeys(stringValue: "id", intValue: nil), Swift.DecodingError.Context(codingPath: [], debugDescription: "No value associated with key CodingKeys(stringValue: \"id\", intValue: nil) (\"id\").", underlyingError: nil)))) +2024-04-04 07:05:08.216 Ravens: Optional(46 bytes) +2024-04-04 07:05:08.337 Ravens: file:///Users/ericdequartel/Library/Developer/CoreSimulator/Devices/017CCD8C-F819-45C1-9F5D-2AE646516EC3/data/Containers/Data/Application/1B0BE6DB-422E-47FE-A291-154FFB42E52C/Documents/CachedObs302557871.json +2024-04-04 07:05:08.394 Ravens: Error ObsViewModel fetching data: https://waarneming.nl/api/v1/observations/302557871/ Accept-Language: nl +Authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d - responseSerializationFailed(reason: Alamofire.AFError.ResponseSerializationFailureReason.decodingFailed(error: Swift.DecodingError.keyNotFound(CodingKeys(stringValue: "id", intValue: nil), Swift.DecodingError.Context(codingPath: [], debugDescription: "No value associated with key CodingKeys(stringValue: \"id\", intValue: nil) (\"id\").", underlyingError: nil)))) +2024-04-04 07:05:08.397 Ravens: Optional(46 bytes) +2024-04-04 07:05:08.914 Ravens: file:///Users/ericdequartel/Library/Developer/CoreSimulator/Devices/017CCD8C-F819-45C1-9F5D-2AE646516EC3/data/Containers/Data/Application/1B0BE6DB-422E-47FE-A291-154FFB42E52C/Documents/CachedObs302557950.json +2024-04-04 07:05:08.977 Ravens: file:///Users/ericdequartel/Library/Developer/CoreSimulator/Devices/017CCD8C-F819-45C1-9F5D-2AE646516EC3/data/Containers/Data/Application/1B0BE6DB-422E-47FE-A291-154FFB42E52C/Documents/CachedObs302558008.json +2024-04-04 07:05:08.983 Ravens: Error ObsViewModel fetching data: https://waarneming.nl/api/v1/observations/302557950/ Accept-Language: nl +Authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d - responseSerializationFailed(reason: Alamofire.AFError.ResponseSerializationFailureReason.decodingFailed(error: Swift.DecodingError.keyNotFound(CodingKeys(stringValue: "id", intValue: nil), Swift.DecodingError.Context(codingPath: [], debugDescription: "No value associated with key CodingKeys(stringValue: \"id\", intValue: nil) (\"id\").", underlyingError: nil)))) +2024-04-04 07:05:08.988 Ravens: Optional(46 bytes) +2024-04-04 07:05:09.028 Ravens: Error ObsViewModel fetching data: https://waarneming.nl/api/v1/observations/302558008/ Accept-Language: nl +Authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d - responseSerializationFailed(reason: Alamofire.AFError.ResponseSerializationFailureReason.decodingFailed(error: Swift.DecodingError.keyNotFound(CodingKeys(stringValue: "id", intValue: nil), Swift.DecodingError.Context(codingPath: [], debugDescription: "No value associated with key CodingKeys(stringValue: \"id\", intValue: nil) (\"id\").", underlyingError: nil)))) +2024-04-04 07:05:09.031 Ravens: Optional(46 bytes) +2024-04-04 07:05:09.237 Ravens: file:///Users/ericdequartel/Library/Developer/CoreSimulator/Devices/017CCD8C-F819-45C1-9F5D-2AE646516EC3/data/Containers/Data/Application/1B0BE6DB-422E-47FE-A291-154FFB42E52C/Documents/CachedObs302557967.json +2024-04-04 07:05:09.300 Ravens: Error ObsViewModel fetching data: https://waarneming.nl/api/v1/observations/302557967/ Accept-Language: nl +Authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d - responseSerializationFailed(reason: Alamofire.AFError.ResponseSerializationFailureReason.decodingFailed(error: Swift.DecodingError.keyNotFound(CodingKeys(stringValue: "id", intValue: nil), Swift.DecodingError.Context(codingPath: [], debugDescription: "No value associated with key CodingKeys(stringValue: \"id\", intValue: nil) (\"id\").", underlyingError: nil)))) +2024-04-04 07:05:09.306 Ravens: Optional(46 bytes) +2024-04-04 07:11:43.868 WARNING: *** NEW LAUNCH *** +2024-04-04 07:11:44.397 Ravens: fetchData ObservationsViewModel +2024-04-04 07:11:47.511 Ravens: observations locations count 100 +2024-04-04 07:12:11.496 WARNING: *** NEW LAUNCH *** +2024-04-04 07:12:11.895 Ravens: fetchData ObservationsViewModel +2024-04-04 07:12:14.878 Ravens: observations locations count 100 +2024-04-04 07:12:18.243 Ravens: https://waarneming.nl/api/v1/locations/geojson/?id=133746 +2024-04-04 07:12:18.300 Ravens: fetchData ObservationsLocationViewModel limit: 133746 100 offset: 0 +2024-04-04 07:12:18.304 Ravens: URL https://waarneming.nl/api/v1/locations/133746/observations/?species_group=1 +2024-04-04 07:12:18.308 Ravens: headers authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d +accept-Language: nl +2024-04-04 07:12:23.696 Ravens: https://waarneming.nl/api/v1/locations/geojson/?id=133746 +2024-04-04 07:12:23.731 Ravens: fetchData ObservationsLocationViewModel limit: 133746 100 offset: 0 +2024-04-04 07:12:23.735 Ravens: URL https://waarneming.nl/api/v1/locations/133746/observations/?species_group=1 +2024-04-04 07:12:23.738 Ravens: headers authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d +accept-Language: nl +2024-04-04 07:12:37.183 Ravens: https://waarneming.nl/api/v1/locations/geojson/?id=258388 +2024-04-04 07:12:37.224 Ravens: fetchData ObservationsLocationViewModel limit: 258388 100 offset: 0 +2024-04-04 07:12:37.227 Ravens: URL https://waarneming.nl/api/v1/locations/258388/observations/?species_group=1 +2024-04-04 07:12:37.230 Ravens: headers authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d +accept-Language: nl +2024-04-04 07:12:41.662 Ravens: https://waarneming.nl/api/v1/locations/geojson/?id=5314 +2024-04-04 07:12:41.698 Ravens: fetchData ObservationsLocationViewModel limit: 5314 100 offset: 0 +2024-04-04 07:12:41.702 Ravens: URL https://waarneming.nl/api/v1/locations/5314/observations/?species_group=1 +2024-04-04 07:12:41.707 Ravens: headers authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d +accept-Language: nl +2024-04-04 07:12:44.302 Ravens: fetchData ObservationsLocationViewModel limit: 5314 100 offset: 0 +2024-04-04 07:12:44.306 Ravens: URL https://waarneming.nl/api/v1/locations/5314/observations/?species_group=1 +2024-04-04 07:12:44.309 Ravens: headers authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d +accept-Language: nl +2024-04-04 07:12:44.524 Ravens: file:///Users/ericdequartel/Library/Developer/CoreSimulator/Devices/017CCD8C-F819-45C1-9F5D-2AE646516EC3/data/Containers/Data/Application/462B1774-1F72-441A-BD4E-1B5E2CD62DD3/Documents/CachedObs278708296.json +2024-04-04 07:12:44.528 Ravens: file:///Users/ericdequartel/Library/Developer/CoreSimulator/Devices/017CCD8C-F819-45C1-9F5D-2AE646516EC3/data/Containers/Data/Application/462B1774-1F72-441A-BD4E-1B5E2CD62DD3/Documents/CachedObs302108921.json +2024-04-04 07:12:44.823 Ravens: file:///Users/ericdequartel/Library/Developer/CoreSimulator/Devices/017CCD8C-F819-45C1-9F5D-2AE646516EC3/data/Containers/Data/Application/462B1774-1F72-441A-BD4E-1B5E2CD62DD3/Documents/CachedObs239512182.json +2024-04-04 07:12:44.960 Ravens: file:///Users/ericdequartel/Library/Developer/CoreSimulator/Devices/017CCD8C-F819-45C1-9F5D-2AE646516EC3/data/Containers/Data/Application/462B1774-1F72-441A-BD4E-1B5E2CD62DD3/Documents/CachedObs2053311.json +2024-04-04 07:12:45.455 Ravens: file:///Users/ericdequartel/Library/Developer/CoreSimulator/Devices/017CCD8C-F819-45C1-9F5D-2AE646516EC3/data/Containers/Data/Application/462B1774-1F72-441A-BD4E-1B5E2CD62DD3/Documents/CachedObs299898269.json +2024-04-04 07:12:46.076 Ravens: file:///Users/ericdequartel/Library/Developer/CoreSimulator/Devices/017CCD8C-F819-45C1-9F5D-2AE646516EC3/data/Containers/Data/Application/462B1774-1F72-441A-BD4E-1B5E2CD62DD3/Documents/CachedObs299317107.json +2024-04-04 07:12:46.803 Ravens: file:///Users/ericdequartel/Library/Developer/CoreSimulator/Devices/017CCD8C-F819-45C1-9F5D-2AE646516EC3/data/Containers/Data/Application/462B1774-1F72-441A-BD4E-1B5E2CD62DD3/Documents/CachedObs298528308.json +2024-04-04 07:12:51.450 Ravens: getID region: 200 groups: 2 +2024-04-04 07:12:51.454 Ravens: getId= RegionList(id: 5002, region: 200, species_group: 2) +2024-04-04 07:12:51.501 Ravens: speciesGroupViewModel.fetchData completed +2024-04-04 07:12:52.432 Ravens: https://waarneming.nl/api/v1/locations/geojson/?id=5314 +2024-04-04 07:12:52.466 Ravens: fetchData ObservationsLocationViewModel limit: 5314 100 offset: 0 +2024-04-04 07:12:52.469 Ravens: URL https://waarneming.nl/api/v1/locations/5314/observations/?species_group=2 +2024-04-04 07:12:52.473 Ravens: headers authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d +accept-Language: nl +2024-04-04 07:12:54.290 Ravens: fetchData ObservationsLocationViewModel limit: 5314 100 offset: 0 +2024-04-04 07:12:54.296 Ravens: URL https://waarneming.nl/api/v1/locations/5314/observations/?species_group=2 +2024-04-04 07:12:54.301 Ravens: headers authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d +accept-Language: nl +2024-04-04 07:12:54.442 Ravens: file:///Users/ericdequartel/Library/Developer/CoreSimulator/Devices/017CCD8C-F819-45C1-9F5D-2AE646516EC3/data/Containers/Data/Application/462B1774-1F72-441A-BD4E-1B5E2CD62DD3/Documents/CachedObs271293209.json +2024-04-04 07:12:54.674 Ravens: Error ObsViewModel fetching data: https://waarneming.nl/api/v1/observations/271293209/ Accept-Language: nl +Authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d - responseSerializationFailed(reason: Alamofire.AFError.ResponseSerializationFailureReason.decodingFailed(error: Swift.DecodingError.keyNotFound(CodingKeys(stringValue: "id", intValue: nil), Swift.DecodingError.Context(codingPath: [], debugDescription: "No value associated with key CodingKeys(stringValue: \"id\", intValue: nil) (\"id\").", underlyingError: nil)))) +2024-04-04 07:12:54.677 Ravens: Optional(46 bytes) +2024-04-04 07:13:38.027 Ravens: https://waarneming.nl/api/v1/locations/geojson/?id=5314 +2024-04-04 07:13:38.097 Ravens: fetchData ObservationsLocationViewModel limit: 5314 100 offset: 0 +2024-04-04 07:13:38.101 Ravens: URL https://waarneming.nl/api/v1/locations/5314/observations/?species_group=2 +2024-04-04 07:13:38.105 Ravens: headers authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d +accept-Language: nl +2024-04-04 07:13:52.575 Ravens: https://waarneming.nl/api/v1/locations/geojson/?id=33691 +2024-04-04 07:13:52.679 Ravens: fetchData ObservationsLocationViewModel limit: 33691 100 offset: 0 +2024-04-04 07:13:52.682 Ravens: URL https://waarneming.nl/api/v1/locations/33691/observations/?species_group=2 +2024-04-04 07:13:52.686 Ravens: headers authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d +accept-Language: nl +2024-04-04 07:13:54.006 Ravens: https://waarneming.nl/api/v1/locations/geojson/?id=34620 +2024-04-04 07:13:54.056 Ravens: fetchData ObservationsLocationViewModel limit: 34620 100 offset: 0 +2024-04-04 07:13:54.059 Ravens: URL https://waarneming.nl/api/v1/locations/34620/observations/?species_group=2 +2024-04-04 07:13:54.063 Ravens: headers authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d +accept-Language: nl +2024-04-04 07:14:00.834 Ravens: getID region: 200 groups: 1 +2024-04-04 07:14:00.838 Ravens: getId= RegionList(id: 5001, region: 200, species_group: 1) +2024-04-04 07:14:00.903 Ravens: speciesGroupViewModel.fetchData completed +2024-04-04 07:14:02.207 Ravens: https://waarneming.nl/api/v1/locations/geojson/?id=34620 +2024-04-04 07:14:02.251 Ravens: fetchData ObservationsLocationViewModel limit: 34620 100 offset: 0 +2024-04-04 07:14:02.255 Ravens: URL https://waarneming.nl/api/v1/locations/34620/observations/?species_group=1 +2024-04-04 07:14:02.259 Ravens: headers authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d +accept-Language: nl +2024-04-04 07:14:03.878 Ravens: fetchData ObservationsLocationViewModel limit: 34620 100 offset: 0 +2024-04-04 07:14:03.884 Ravens: URL https://waarneming.nl/api/v1/locations/34620/observations/?species_group=1 +2024-04-04 07:14:03.890 Ravens: headers authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d +accept-Language: nl +2024-04-04 07:14:05.515 Ravens: file:///Users/ericdequartel/Library/Developer/CoreSimulator/Devices/017CCD8C-F819-45C1-9F5D-2AE646516EC3/data/Containers/Data/Application/462B1774-1F72-441A-BD4E-1B5E2CD62DD3/Documents/CachedObs302558008.json +2024-04-04 07:14:05.600 Ravens: file:///Users/ericdequartel/Library/Developer/CoreSimulator/Devices/017CCD8C-F819-45C1-9F5D-2AE646516EC3/data/Containers/Data/Application/462B1774-1F72-441A-BD4E-1B5E2CD62DD3/Documents/CachedObs302557967.json +2024-04-04 07:14:05.687 Ravens: Error ObsViewModel fetching data: https://waarneming.nl/api/v1/observations/302558008/ Accept-Language: nl +Authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d - responseSerializationFailed(reason: Alamofire.AFError.ResponseSerializationFailureReason.decodingFailed(error: Swift.DecodingError.keyNotFound(CodingKeys(stringValue: "id", intValue: nil), Swift.DecodingError.Context(codingPath: [], debugDescription: "No value associated with key CodingKeys(stringValue: \"id\", intValue: nil) (\"id\").", underlyingError: nil)))) +2024-04-04 07:14:05.690 Ravens: Optional(46 bytes) +2024-04-04 07:14:05.809 Ravens: Error ObsViewModel fetching data: https://waarneming.nl/api/v1/observations/302557967/ Accept-Language: nl +Authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d - responseSerializationFailed(reason: Alamofire.AFError.ResponseSerializationFailureReason.decodingFailed(error: Swift.DecodingError.keyNotFound(CodingKeys(stringValue: "id", intValue: nil), Swift.DecodingError.Context(codingPath: [], debugDescription: "No value associated with key CodingKeys(stringValue: \"id\", intValue: nil) (\"id\").", underlyingError: nil)))) +2024-04-04 07:14:05.812 Ravens: Optional(46 bytes) +2024-04-04 07:14:16.005 Ravens: file:///Users/ericdequartel/Library/Developer/CoreSimulator/Devices/017CCD8C-F819-45C1-9F5D-2AE646516EC3/data/Containers/Data/Application/462B1774-1F72-441A-BD4E-1B5E2CD62DD3/Documents/CachedObs302557950.json +2024-04-04 07:14:16.079 Ravens: Error ObsViewModel fetching data: https://waarneming.nl/api/v1/observations/302557950/ Accept-Language: nl +Authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d - responseSerializationFailed(reason: Alamofire.AFError.ResponseSerializationFailureReason.decodingFailed(error: Swift.DecodingError.keyNotFound(CodingKeys(stringValue: "id", intValue: nil), Swift.DecodingError.Context(codingPath: [], debugDescription: "No value associated with key CodingKeys(stringValue: \"id\", intValue: nil) (\"id\").", underlyingError: nil)))) +2024-04-04 07:14:16.082 Ravens: Optional(46 bytes) +2024-04-04 07:14:29.446 Ravens: file:///Users/ericdequartel/Library/Developer/CoreSimulator/Devices/017CCD8C-F819-45C1-9F5D-2AE646516EC3/data/Containers/Data/Application/462B1774-1F72-441A-BD4E-1B5E2CD62DD3/Documents/CachedObs302558008.json +2024-04-04 07:14:29.620 Ravens: Error ObsViewModel fetching data: https://waarneming.nl/api/v1/observations/302558008/ Accept-Language: nl +Authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d - responseSerializationFailed(reason: Alamofire.AFError.ResponseSerializationFailureReason.decodingFailed(error: Swift.DecodingError.keyNotFound(CodingKeys(stringValue: "id", intValue: nil), Swift.DecodingError.Context(codingPath: [], debugDescription: "No value associated with key CodingKeys(stringValue: \"id\", intValue: nil) (\"id\").", underlyingError: nil)))) +2024-04-04 07:14:29.623 Ravens: Optional(46 bytes) +2024-04-04 07:14:42.377 Ravens: file:///Users/ericdequartel/Library/Developer/CoreSimulator/Devices/017CCD8C-F819-45C1-9F5D-2AE646516EC3/data/Containers/Data/Application/462B1774-1F72-441A-BD4E-1B5E2CD62DD3/Documents/CachedObs302557871.json +2024-04-04 07:14:42.428 Ravens: Error ObsViewModel fetching data: https://waarneming.nl/api/v1/observations/302557871/ Accept-Language: nl +Authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d - responseSerializationFailed(reason: Alamofire.AFError.ResponseSerializationFailureReason.decodingFailed(error: Swift.DecodingError.keyNotFound(CodingKeys(stringValue: "id", intValue: nil), Swift.DecodingError.Context(codingPath: [], debugDescription: "No value associated with key CodingKeys(stringValue: \"id\", intValue: nil) (\"id\").", underlyingError: nil)))) +2024-04-04 07:14:42.433 Ravens: Optional(46 bytes) +2024-04-04 07:14:42.936 Ravens: file:///Users/ericdequartel/Library/Developer/CoreSimulator/Devices/017CCD8C-F819-45C1-9F5D-2AE646516EC3/data/Containers/Data/Application/462B1774-1F72-441A-BD4E-1B5E2CD62DD3/Documents/CachedObs302557886.json +2024-04-04 07:14:43.163 Ravens: Error ObsViewModel fetching data: https://waarneming.nl/api/v1/observations/302557886/ Accept-Language: nl +Authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d - responseSerializationFailed(reason: Alamofire.AFError.ResponseSerializationFailureReason.decodingFailed(error: Swift.DecodingError.keyNotFound(CodingKeys(stringValue: "id", intValue: nil), Swift.DecodingError.Context(codingPath: [], debugDescription: "No value associated with key CodingKeys(stringValue: \"id\", intValue: nil) (\"id\").", underlyingError: nil)))) +2024-04-04 07:14:43.167 Ravens: Optional(46 bytes) +2024-04-04 10:34:07.651 WARNING: *** NEW LAUNCH *** +2024-04-04 10:34:08.731 Ravens: fetchData ObservationsViewModel +2024-04-04 10:34:11.823 Ravens: observations locations count 100 +2024-04-04 16:12:18.384 WARNING: *** NEW LAUNCH *** +2024-04-04 16:12:18.919 Ravens: fetchData ObservationsViewModel +2024-04-04 16:12:22.366 Ravens: observations locations count 100 +2024-04-04 16:13:15.497 Ravens: fetchData ObservationsViewModel +2024-04-04 16:13:17.693 Ravens: fetchData ObservationsViewModel +2024-04-04 16:13:18.750 Ravens: observations locations count 100 +2024-04-04 16:13:20.531 Ravens: observations locations count 100 +2024-04-04 16:14:37.600 WARNING: *** NEW LAUNCH *** +2024-04-04 16:14:38.236 Ravens: fetchData ObservationsViewModel +2024-04-04 16:14:41.415 Ravens: observations locations count 100 +2024-04-04 16:14:42.743 Ravens: fetchData ObservationsViewModel +2024-04-04 16:14:42.983 Ravens: file:///Users/ericdequartel/Library/Developer/CoreSimulator/Devices/017CCD8C-F819-45C1-9F5D-2AE646516EC3/data/Containers/Data/Application/570CE723-0662-4AAD-BCF3-461434072903/Documents/CachedObs303126517.json +2024-04-04 16:14:42.986 Ravens: file:///Users/ericdequartel/Library/Developer/CoreSimulator/Devices/017CCD8C-F819-45C1-9F5D-2AE646516EC3/data/Containers/Data/Application/570CE723-0662-4AAD-BCF3-461434072903/Documents/CachedObs303065376.json +2024-04-04 16:14:43.110 Ravens: file:///Users/ericdequartel/Library/Developer/CoreSimulator/Devices/017CCD8C-F819-45C1-9F5D-2AE646516EC3/data/Containers/Data/Application/570CE723-0662-4AAD-BCF3-461434072903/Documents/CachedObs303069779.json +2024-04-04 16:14:43.189 Ravens: file:///Users/ericdequartel/Library/Developer/CoreSimulator/Devices/017CCD8C-F819-45C1-9F5D-2AE646516EC3/data/Containers/Data/Application/570CE723-0662-4AAD-BCF3-461434072903/Documents/CachedObs303127610.json +2024-04-04 16:14:43.299 Ravens: file:///Users/ericdequartel/Library/Developer/CoreSimulator/Devices/017CCD8C-F819-45C1-9F5D-2AE646516EC3/data/Containers/Data/Application/570CE723-0662-4AAD-BCF3-461434072903/Documents/CachedObs303142497.json +2024-04-04 16:14:43.395 Ravens: file:///Users/ericdequartel/Library/Developer/CoreSimulator/Devices/017CCD8C-F819-45C1-9F5D-2AE646516EC3/data/Containers/Data/Application/570CE723-0662-4AAD-BCF3-461434072903/Documents/CachedObs303127319.json +2024-04-04 16:14:43.507 Ravens: file:///Users/ericdequartel/Library/Developer/CoreSimulator/Devices/017CCD8C-F819-45C1-9F5D-2AE646516EC3/data/Containers/Data/Application/570CE723-0662-4AAD-BCF3-461434072903/Documents/CachedObs303077259.json +2024-04-04 16:14:43.595 Ravens: file:///Users/ericdequartel/Library/Developer/CoreSimulator/Devices/017CCD8C-F819-45C1-9F5D-2AE646516EC3/data/Containers/Data/Application/570CE723-0662-4AAD-BCF3-461434072903/Documents/CachedObs303077270.json +2024-04-04 16:14:43.720 Ravens: file:///Users/ericdequartel/Library/Developer/CoreSimulator/Devices/017CCD8C-F819-45C1-9F5D-2AE646516EC3/data/Containers/Data/Application/570CE723-0662-4AAD-BCF3-461434072903/Documents/CachedObs303142509.json +2024-04-04 16:14:43.788 Ravens: file:///Users/ericdequartel/Library/Developer/CoreSimulator/Devices/017CCD8C-F819-45C1-9F5D-2AE646516EC3/data/Containers/Data/Application/570CE723-0662-4AAD-BCF3-461434072903/Documents/CachedObs303138738.json +2024-04-04 16:14:43.933 Ravens: file:///Users/ericdequartel/Library/Developer/CoreSimulator/Devices/017CCD8C-F819-45C1-9F5D-2AE646516EC3/data/Containers/Data/Application/570CE723-0662-4AAD-BCF3-461434072903/Documents/CachedObs303127180.json +2024-04-04 16:14:44.025 Ravens: file:///Users/ericdequartel/Library/Developer/CoreSimulator/Devices/017CCD8C-F819-45C1-9F5D-2AE646516EC3/data/Containers/Data/Application/570CE723-0662-4AAD-BCF3-461434072903/Documents/CachedObs303063670.json +2024-04-04 16:14:44.093 Ravens: file:///Users/ericdequartel/Library/Developer/CoreSimulator/Devices/017CCD8C-F819-45C1-9F5D-2AE646516EC3/data/Containers/Data/Application/570CE723-0662-4AAD-BCF3-461434072903/Documents/CachedObs303142524.json +2024-04-04 16:14:44.187 Ravens: file:///Users/ericdequartel/Library/Developer/CoreSimulator/Devices/017CCD8C-F819-45C1-9F5D-2AE646516EC3/data/Containers/Data/Application/570CE723-0662-4AAD-BCF3-461434072903/Documents/CachedObs303065294.json +2024-04-04 16:14:44.295 Ravens: file:///Users/ericdequartel/Library/Developer/CoreSimulator/Devices/017CCD8C-F819-45C1-9F5D-2AE646516EC3/data/Containers/Data/Application/570CE723-0662-4AAD-BCF3-461434072903/Documents/CachedObs303078390.json +2024-04-04 16:14:45.931 Ravens: observations locations count 100 +2024-04-05 06:58:01.520 WARNING: *** NEW LAUNCH *** +2024-04-05 06:58:02.781 Ravens: fetchData ObservationsViewModel +2024-04-05 06:58:05.784 Ravens: https://waarneming.nl/api/v1/locations/geojson/?id=133746 +2024-04-05 06:58:05.816 Ravens: fetchData ObservationsLocationViewModel limit: 133746 100 offset: 0 +2024-04-05 06:58:05.820 Ravens: URL https://waarneming.nl/api/v1/locations/133746/observations/?species_group=1 +2024-04-05 06:58:05.823 Ravens: headers authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d +accept-Language: nl +2024-04-05 06:58:06.228 Ravens: observations locations count 100 +2024-04-05 06:58:11.619 Ravens: fetchData ObservationsLocationViewModel limit: 133746 100 offset: 0 +2024-04-05 06:58:11.623 Ravens: URL https://waarneming.nl/api/v1/locations/133746/observations/?species_group=1 +2024-04-05 06:58:11.627 Ravens: headers authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d +accept-Language: nl +2024-04-05 06:58:11.839 Ravens: file:///Users/ericdequartel/Library/Developer/CoreSimulator/Devices/017CCD8C-F819-45C1-9F5D-2AE646516EC3/data/Containers/Data/Application/820E2451-8267-46F1-B44A-F231D3F67702/Documents/CachedObs206168028.json +2024-04-05 06:58:11.843 Ravens: file:///Users/ericdequartel/Library/Developer/CoreSimulator/Devices/017CCD8C-F819-45C1-9F5D-2AE646516EC3/data/Containers/Data/Application/820E2451-8267-46F1-B44A-F231D3F67702/Documents/CachedObs206168057.json +2024-04-05 06:58:12.166 Ravens: file:///Users/ericdequartel/Library/Developer/CoreSimulator/Devices/017CCD8C-F819-45C1-9F5D-2AE646516EC3/data/Containers/Data/Application/820E2451-8267-46F1-B44A-F231D3F67702/Documents/CachedObs296538334.json +2024-04-05 06:58:14.204 Ravens: file:///Users/ericdequartel/Library/Developer/CoreSimulator/Devices/017CCD8C-F819-45C1-9F5D-2AE646516EC3/data/Containers/Data/Application/820E2451-8267-46F1-B44A-F231D3F67702/Documents/CachedObs248786213.json +2024-04-05 06:58:15.908 Ravens: file:///Users/ericdequartel/Library/Developer/CoreSimulator/Devices/017CCD8C-F819-45C1-9F5D-2AE646516EC3/data/Containers/Data/Application/820E2451-8267-46F1-B44A-F231D3F67702/Documents/CachedObs248207933.json +2024-04-05 06:58:16.516 Ravens: file:///Users/ericdequartel/Library/Developer/CoreSimulator/Devices/017CCD8C-F819-45C1-9F5D-2AE646516EC3/data/Containers/Data/Application/820E2451-8267-46F1-B44A-F231D3F67702/Documents/CachedObs248207932.json +2024-04-05 06:58:17.783 Ravens: file:///Users/ericdequartel/Library/Developer/CoreSimulator/Devices/017CCD8C-F819-45C1-9F5D-2AE646516EC3/data/Containers/Data/Application/820E2451-8267-46F1-B44A-F231D3F67702/Documents/CachedObs247621753.json +2024-04-05 06:58:18.587 Ravens: file:///Users/ericdequartel/Library/Developer/CoreSimulator/Devices/017CCD8C-F819-45C1-9F5D-2AE646516EC3/data/Containers/Data/Application/820E2451-8267-46F1-B44A-F231D3F67702/Documents/CachedObs247190769.json +2024-04-05 06:58:28.699 Ravens: getID region: 200 groups: 2 +2024-04-05 06:58:28.704 Ravens: getId= RegionList(id: 5002, region: 200, species_group: 2) +2024-04-05 06:58:28.750 Ravens: speciesGroupViewModel.fetchData completed +2024-04-05 06:58:29.553 Ravens: https://waarneming.nl/api/v1/locations/geojson/?id=133746 +2024-04-05 06:58:29.585 Ravens: fetchData ObservationsLocationViewModel limit: 133746 100 offset: 0 +2024-04-05 06:58:29.588 Ravens: URL https://waarneming.nl/api/v1/locations/133746/observations/?species_group=2 +2024-04-05 06:58:29.592 Ravens: headers authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d +accept-Language: nl +2024-04-05 06:58:38.408 Ravens: https://waarneming.nl/api/v1/locations/geojson/?id=671388 +2024-04-05 06:58:39.816 Ravens: fetchData ObservationsLocationViewModel limit: 671388 100 offset: 0 +2024-04-05 06:58:39.821 Ravens: URL https://waarneming.nl/api/v1/locations/671388/observations/?species_group=2 +2024-04-05 06:58:39.826 Ravens: headers authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d +accept-Language: nl +2024-04-05 06:58:40.873 Ravens: https://waarneming.nl/api/v1/locations/geojson/?id=5314 +2024-04-05 06:58:40.910 Ravens: fetchData ObservationsLocationViewModel limit: 5314 100 offset: 0 +2024-04-05 06:58:40.913 Ravens: URL https://waarneming.nl/api/v1/locations/5314/observations/?species_group=2 +2024-04-05 06:58:40.917 Ravens: headers authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d +accept-Language: nl +2024-04-05 06:58:43.715 Ravens: fetchData ObservationsLocationViewModel limit: 5314 100 offset: 0 +2024-04-05 06:58:43.721 Ravens: URL https://waarneming.nl/api/v1/locations/5314/observations/?species_group=2 +2024-04-05 06:58:43.725 Ravens: headers authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d +accept-Language: nl +2024-04-05 06:58:43.867 Ravens: file:///Users/ericdequartel/Library/Developer/CoreSimulator/Devices/017CCD8C-F819-45C1-9F5D-2AE646516EC3/data/Containers/Data/Application/820E2451-8267-46F1-B44A-F231D3F67702/Documents/CachedObs271293209.json +2024-04-05 06:58:44.046 Ravens: Error ObsViewModel fetching data: https://waarneming.nl/api/v1/observations/271293209/ Accept-Language: nl +Authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d - responseSerializationFailed(reason: Alamofire.AFError.ResponseSerializationFailureReason.decodingFailed(error: Swift.DecodingError.keyNotFound(CodingKeys(stringValue: "date", intValue: nil), Swift.DecodingError.Context(codingPath: [], debugDescription: "No value associated with key CodingKeys(stringValue: \"date\", intValue: nil) (\"date\").", underlyingError: nil)))) +2024-04-05 06:58:44.050 Ravens: Optional(46 bytes) +2024-04-05 07:00:04.702 Ravens: fetchData ObservationsViewModel +2024-04-05 07:00:07.422 Ravens: fetchData ObservationsViewModel +2024-04-05 07:00:07.647 Ravens: file:///Users/ericdequartel/Library/Developer/CoreSimulator/Devices/017CCD8C-F819-45C1-9F5D-2AE646516EC3/data/Containers/Data/Application/820E2451-8267-46F1-B44A-F231D3F67702/Documents/CachedObs303196430.json +2024-04-05 07:00:07.674 Ravens: file:///Users/ericdequartel/Library/Developer/CoreSimulator/Devices/017CCD8C-F819-45C1-9F5D-2AE646516EC3/data/Containers/Data/Application/820E2451-8267-46F1-B44A-F231D3F67702/Documents/CachedObs303196874.json +2024-04-05 07:00:07.699 Ravens: observations locations count 41 +2024-04-05 07:00:07.824 Ravens: file:///Users/ericdequartel/Library/Developer/CoreSimulator/Devices/017CCD8C-F819-45C1-9F5D-2AE646516EC3/data/Containers/Data/Application/820E2451-8267-46F1-B44A-F231D3F67702/Documents/CachedObs303189885.json +2024-04-05 07:00:07.837 Ravens: file:///Users/ericdequartel/Library/Developer/CoreSimulator/Devices/017CCD8C-F819-45C1-9F5D-2AE646516EC3/data/Containers/Data/Application/820E2451-8267-46F1-B44A-F231D3F67702/Documents/CachedObs303192672.json +2024-04-05 07:00:07.926 Ravens: file:///Users/ericdequartel/Library/Developer/CoreSimulator/Devices/017CCD8C-F819-45C1-9F5D-2AE646516EC3/data/Containers/Data/Application/820E2451-8267-46F1-B44A-F231D3F67702/Documents/CachedObs303187663.json +2024-04-05 07:00:08.013 Ravens: file:///Users/ericdequartel/Library/Developer/CoreSimulator/Devices/017CCD8C-F819-45C1-9F5D-2AE646516EC3/data/Containers/Data/Application/820E2451-8267-46F1-B44A-F231D3F67702/Documents/CachedObs303162073.json +2024-04-05 07:00:08.113 Ravens: file:///Users/ericdequartel/Library/Developer/CoreSimulator/Devices/017CCD8C-F819-45C1-9F5D-2AE646516EC3/data/Containers/Data/Application/820E2451-8267-46F1-B44A-F231D3F67702/Documents/CachedObs303173533.json +2024-04-05 07:00:08.213 Ravens: file:///Users/ericdequartel/Library/Developer/CoreSimulator/Devices/017CCD8C-F819-45C1-9F5D-2AE646516EC3/data/Containers/Data/Application/820E2451-8267-46F1-B44A-F231D3F67702/Documents/CachedObs303198074.json +2024-04-05 07:00:08.352 Ravens: file:///Users/ericdequartel/Library/Developer/CoreSimulator/Devices/017CCD8C-F819-45C1-9F5D-2AE646516EC3/data/Containers/Data/Application/820E2451-8267-46F1-B44A-F231D3F67702/Documents/CachedObs303196871.json +2024-04-05 07:00:08.423 Ravens: file:///Users/ericdequartel/Library/Developer/CoreSimulator/Devices/017CCD8C-F819-45C1-9F5D-2AE646516EC3/data/Containers/Data/Application/820E2451-8267-46F1-B44A-F231D3F67702/Documents/CachedObs303197003.json +2024-04-05 07:00:08.531 Ravens: file:///Users/ericdequartel/Library/Developer/CoreSimulator/Devices/017CCD8C-F819-45C1-9F5D-2AE646516EC3/data/Containers/Data/Application/820E2451-8267-46F1-B44A-F231D3F67702/Documents/CachedObs303216185.json +2024-04-05 07:00:08.940 Ravens: file:///Users/ericdequartel/Library/Developer/CoreSimulator/Devices/017CCD8C-F819-45C1-9F5D-2AE646516EC3/data/Containers/Data/Application/820E2451-8267-46F1-B44A-F231D3F67702/Documents/CachedObs302471600.json +2024-04-05 07:00:09.036 Ravens: file:///Users/ericdequartel/Library/Developer/CoreSimulator/Devices/017CCD8C-F819-45C1-9F5D-2AE646516EC3/data/Containers/Data/Application/820E2451-8267-46F1-B44A-F231D3F67702/Documents/CachedObs303061561.json +2024-04-05 07:00:09.102 Ravens: file:///Users/ericdequartel/Library/Developer/CoreSimulator/Devices/017CCD8C-F819-45C1-9F5D-2AE646516EC3/data/Containers/Data/Application/820E2451-8267-46F1-B44A-F231D3F67702/Documents/CachedObs303037341.json +2024-04-05 07:00:09.216 Ravens: file:///Users/ericdequartel/Library/Developer/CoreSimulator/Devices/017CCD8C-F819-45C1-9F5D-2AE646516EC3/data/Containers/Data/Application/820E2451-8267-46F1-B44A-F231D3F67702/Documents/CachedObs302522829.json +2024-04-05 07:00:09.368 Ravens: file:///Users/ericdequartel/Library/Developer/CoreSimulator/Devices/017CCD8C-F819-45C1-9F5D-2AE646516EC3/data/Containers/Data/Application/820E2451-8267-46F1-B44A-F231D3F67702/Documents/CachedObs302214919.json +2024-04-05 07:00:09.402 Ravens: file:///Users/ericdequartel/Library/Developer/CoreSimulator/Devices/017CCD8C-F819-45C1-9F5D-2AE646516EC3/data/Containers/Data/Application/820E2451-8267-46F1-B44A-F231D3F67702/Documents/CachedObs302033405.json +2024-04-05 07:00:09.517 Ravens: file:///Users/ericdequartel/Library/Developer/CoreSimulator/Devices/017CCD8C-F819-45C1-9F5D-2AE646516EC3/data/Containers/Data/Application/820E2451-8267-46F1-B44A-F231D3F67702/Documents/CachedObs301924224.json +2024-04-05 07:00:09.615 Ravens: file:///Users/ericdequartel/Library/Developer/CoreSimulator/Devices/017CCD8C-F819-45C1-9F5D-2AE646516EC3/data/Containers/Data/Application/820E2451-8267-46F1-B44A-F231D3F67702/Documents/CachedObs302590741.json +2024-04-05 07:00:09.706 Ravens: file:///Users/ericdequartel/Library/Developer/CoreSimulator/Devices/017CCD8C-F819-45C1-9F5D-2AE646516EC3/data/Containers/Data/Application/820E2451-8267-46F1-B44A-F231D3F67702/Documents/CachedObs302151802.json +2024-04-05 07:00:09.831 Ravens: file:///Users/ericdequartel/Library/Developer/CoreSimulator/Devices/017CCD8C-F819-45C1-9F5D-2AE646516EC3/data/Containers/Data/Application/820E2451-8267-46F1-B44A-F231D3F67702/Documents/CachedObs302436648.json +2024-04-05 07:00:09.899 Ravens: file:///Users/ericdequartel/Library/Developer/CoreSimulator/Devices/017CCD8C-F819-45C1-9F5D-2AE646516EC3/data/Containers/Data/Application/820E2451-8267-46F1-B44A-F231D3F67702/Documents/CachedObs302727915.json +2024-04-05 07:00:10.106 Ravens: file:///Users/ericdequartel/Library/Developer/CoreSimulator/Devices/017CCD8C-F819-45C1-9F5D-2AE646516EC3/data/Containers/Data/Application/820E2451-8267-46F1-B44A-F231D3F67702/Documents/CachedObs302724811.json +2024-04-05 07:00:10.115 Ravens: file:///Users/ericdequartel/Library/Developer/CoreSimulator/Devices/017CCD8C-F819-45C1-9F5D-2AE646516EC3/data/Containers/Data/Application/820E2451-8267-46F1-B44A-F231D3F67702/Documents/CachedObs302893783.json +2024-04-05 07:00:10.201 Ravens: file:///Users/ericdequartel/Library/Developer/CoreSimulator/Devices/017CCD8C-F819-45C1-9F5D-2AE646516EC3/data/Containers/Data/Application/820E2451-8267-46F1-B44A-F231D3F67702/Documents/CachedObs303061585.json +2024-04-05 07:00:10.423 Ravens: file:///Users/ericdequartel/Library/Developer/CoreSimulator/Devices/017CCD8C-F819-45C1-9F5D-2AE646516EC3/data/Containers/Data/Application/820E2451-8267-46F1-B44A-F231D3F67702/Documents/CachedObs303194704.json +2024-04-05 07:00:11.097 Ravens: observations locations count 100 +2024-04-05 07:00:11.255 Ravens: file:///Users/ericdequartel/Library/Developer/CoreSimulator/Devices/017CCD8C-F819-45C1-9F5D-2AE646516EC3/data/Containers/Data/Application/820E2451-8267-46F1-B44A-F231D3F67702/Documents/CachedObs302836574.json +2024-04-05 07:00:11.336 Ravens: file:///Users/ericdequartel/Library/Developer/CoreSimulator/Devices/017CCD8C-F819-45C1-9F5D-2AE646516EC3/data/Containers/Data/Application/820E2451-8267-46F1-B44A-F231D3F67702/Documents/CachedObs302729486.json +2024-04-05 07:00:11.434 Ravens: file:///Users/ericdequartel/Library/Developer/CoreSimulator/Devices/017CCD8C-F819-45C1-9F5D-2AE646516EC3/data/Containers/Data/Application/820E2451-8267-46F1-B44A-F231D3F67702/Documents/CachedObs302728969.json +2024-04-05 07:00:11.526 Ravens: file:///Users/ericdequartel/Library/Developer/CoreSimulator/Devices/017CCD8C-F819-45C1-9F5D-2AE646516EC3/data/Containers/Data/Application/820E2451-8267-46F1-B44A-F231D3F67702/Documents/CachedObs302683368.json +2024-04-05 07:00:11.652 Ravens: file:///Users/ericdequartel/Library/Developer/CoreSimulator/Devices/017CCD8C-F819-45C1-9F5D-2AE646516EC3/data/Containers/Data/Application/820E2451-8267-46F1-B44A-F231D3F67702/Documents/CachedObs302690239.json +2024-04-05 07:00:11.730 Ravens: file:///Users/ericdequartel/Library/Developer/CoreSimulator/Devices/017CCD8C-F819-45C1-9F5D-2AE646516EC3/data/Containers/Data/Application/820E2451-8267-46F1-B44A-F231D3F67702/Documents/CachedObs302690242.json +2024-04-05 07:00:11.855 Ravens: file:///Users/ericdequartel/Library/Developer/CoreSimulator/Devices/017CCD8C-F819-45C1-9F5D-2AE646516EC3/data/Containers/Data/Application/820E2451-8267-46F1-B44A-F231D3F67702/Documents/CachedObs302690238.json +2024-04-05 07:00:11.957 Ravens: file:///Users/ericdequartel/Library/Developer/CoreSimulator/Devices/017CCD8C-F819-45C1-9F5D-2AE646516EC3/data/Containers/Data/Application/820E2451-8267-46F1-B44A-F231D3F67702/Documents/CachedObs302690234.json +2024-04-05 07:00:12.029 Ravens: file:///Users/ericdequartel/Library/Developer/CoreSimulator/Devices/017CCD8C-F819-45C1-9F5D-2AE646516EC3/data/Containers/Data/Application/820E2451-8267-46F1-B44A-F231D3F67702/Documents/CachedObs302690235.json +2024-04-05 07:00:12.173 Ravens: file:///Users/ericdequartel/Library/Developer/CoreSimulator/Devices/017CCD8C-F819-45C1-9F5D-2AE646516EC3/data/Containers/Data/Application/820E2451-8267-46F1-B44A-F231D3F67702/Documents/CachedObs302690233.json +2024-04-05 07:00:12.237 Ravens: file:///Users/ericdequartel/Library/Developer/CoreSimulator/Devices/017CCD8C-F819-45C1-9F5D-2AE646516EC3/data/Containers/Data/Application/820E2451-8267-46F1-B44A-F231D3F67702/Documents/CachedObs302690229.json +2024-04-05 07:00:12.381 Ravens: file:///Users/ericdequartel/Library/Developer/CoreSimulator/Devices/017CCD8C-F819-45C1-9F5D-2AE646516EC3/data/Containers/Data/Application/820E2451-8267-46F1-B44A-F231D3F67702/Documents/CachedObs302690227.json +2024-04-05 07:00:12.450 Ravens: file:///Users/ericdequartel/Library/Developer/CoreSimulator/Devices/017CCD8C-F819-45C1-9F5D-2AE646516EC3/data/Containers/Data/Application/820E2451-8267-46F1-B44A-F231D3F67702/Documents/CachedObs302690243.json +2024-04-05 07:00:12.567 Ravens: file:///Users/ericdequartel/Library/Developer/CoreSimulator/Devices/017CCD8C-F819-45C1-9F5D-2AE646516EC3/data/Containers/Data/Application/820E2451-8267-46F1-B44A-F231D3F67702/Documents/CachedObs302690226.json +2024-04-05 07:00:12.640 Ravens: file:///Users/ericdequartel/Library/Developer/CoreSimulator/Devices/017CCD8C-F819-45C1-9F5D-2AE646516EC3/data/Containers/Data/Application/820E2451-8267-46F1-B44A-F231D3F67702/Documents/CachedObs302823484.json +2024-04-05 07:00:49.267 WARNING: *** NEW LAUNCH *** +2024-04-05 07:00:49.746 Ravens: fetchData ObservationsViewModel +2024-04-05 07:00:52.671 Ravens: observations locations count 41 +2024-04-05 07:01:04.011 WARNING: *** NEW LAUNCH *** +2024-04-05 07:01:04.348 Ravens: fetchData ObservationsViewModel +2024-04-05 07:01:06.957 Ravens: observations locations count 41 +2024-04-05 07:01:07.249 Ravens: https://waarneming.nl/api/v1/locations/geojson/?id=133746 +2024-04-05 07:01:07.309 Ravens: fetchData ObservationsLocationViewModel limit: 133746 100 offset: 0 +2024-04-05 07:01:07.313 Ravens: URL https://waarneming.nl/api/v1/locations/133746/observations/?species_group=2 +2024-04-05 07:01:07.317 Ravens: headers authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d +accept-Language: nl +2024-04-05 07:01:08.753 Ravens: fetchData ObservationsLocationViewModel limit: 133746 100 offset: 0 +2024-04-05 07:01:08.756 Ravens: URL https://waarneming.nl/api/v1/locations/133746/observations/?species_group=2 +2024-04-05 07:01:08.759 Ravens: headers authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d +accept-Language: nl +2024-04-05 07:10:04.581 WARNING: *** NEW LAUNCH *** +2024-04-05 07:10:05.497 Ravens: fetchData ObservationsViewModel +2024-04-05 07:10:07.038 Ravens: https://waarneming.nl/api/v1/locations/geojson/?id=133746 +2024-04-05 07:10:07.077 Ravens: fetchData ObservationsLocationViewModel limit: 133746 100 offset: 0 +2024-04-05 07:10:07.081 Ravens: URL https://waarneming.nl/api/v1/locations/133746/observations/?species_group=2 +2024-04-05 07:10:07.085 Ravens: headers authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d +accept-Language: nl +2024-04-05 07:10:08.386 Ravens: observations locations count 41 +2024-04-05 07:10:10.383 Ravens: fetchData ObservationsLocationViewModel limit: 133746 100 offset: 0 +2024-04-05 07:10:10.387 Ravens: URL https://waarneming.nl/api/v1/locations/133746/observations/?species_group=2 +2024-04-05 07:10:10.390 Ravens: headers authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d +accept-Language: nl +2024-04-05 07:12:36.979 WARNING: *** NEW LAUNCH *** +2024-04-05 07:12:37.615 Ravens: fetchData ObservationsViewModel +2024-04-05 07:12:39.991 Ravens: observations locations count 41 +2024-04-05 07:12:41.491 Ravens: fetchData ObservationsViewModel +2024-04-05 07:12:44.041 Ravens: observations locations count 41 +2024-04-05 07:12:46.251 Ravens: https://waarneming.nl/api/v1/locations/geojson/?id=133746 +2024-04-05 07:12:46.293 Ravens: fetchData ObservationsLocationViewModel limit: 133746 100 offset: 0 +2024-04-05 07:12:46.308 Ravens: URL https://waarneming.nl/api/v1/locations/133746/observations/?species_group=2 +2024-04-05 07:12:46.313 Ravens: headers authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d +accept-Language: nl +2024-04-05 07:12:48.429 Ravens: fetchData ObservationsLocationViewModel limit: 133746 100 offset: 0 +2024-04-05 07:12:48.433 Ravens: URL https://waarneming.nl/api/v1/locations/133746/observations/?species_group=2 +2024-04-05 07:12:48.437 Ravens: headers authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d +accept-Language: nl +2024-04-05 07:14:32.660 WARNING: *** NEW LAUNCH *** +2024-04-05 07:14:33.032 Ravens: fetchData ObservationsViewModel +2024-04-05 07:14:34.662 Ravens: https://waarneming.nl/api/v1/locations/geojson/?id=133746 +2024-04-05 07:14:34.711 Ravens: fetchData ObservationsLocationViewModel limit: 133746 100 offset: 0 +2024-04-05 07:14:34.714 Ravens: URL https://waarneming.nl/api/v1/locations/133746/observations/?species_group=2 +2024-04-05 07:14:34.718 Ravens: headers authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d +accept-Language: nl +2024-04-05 07:14:35.445 Ravens: observations locations count 41 +2024-04-05 07:14:37.603 Ravens: fetchData ObservationsLocationViewModel limit: 133746 100 offset: 0 +2024-04-05 07:14:37.606 Ravens: URL https://waarneming.nl/api/v1/locations/133746/observations/?species_group=2 +2024-04-05 07:14:37.610 Ravens: headers authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d +accept-Language: nl +2024-04-05 07:15:04.075 WARNING: *** NEW LAUNCH *** +2024-04-05 07:15:04.446 Ravens: fetchData ObservationsViewModel +2024-04-05 07:15:06.286 Ravens: https://waarneming.nl/api/v1/locations/geojson/?id=133746 +2024-04-05 07:15:06.340 Ravens: fetchData ObservationsLocationViewModel limit: 133746 100 offset: 0 +2024-04-05 07:15:06.344 Ravens: URL https://waarneming.nl/api/v1/locations/133746/observations/?species_group=2 +2024-04-05 07:15:06.348 Ravens: headers authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d +accept-Language: nl +2024-04-05 07:15:06.990 Ravens: observations locations count 41 +2024-04-05 07:15:07.894 Ravens: fetchData ObservationsLocationViewModel limit: 133746 100 offset: 0 +2024-04-05 07:15:07.898 Ravens: URL https://waarneming.nl/api/v1/locations/133746/observations/?species_group=2 +2024-04-05 07:15:07.901 Ravens: headers authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d +accept-Language: nl +2024-04-05 07:15:38.680 WARNING: *** NEW LAUNCH *** +2024-04-05 07:15:39.075 Ravens: fetchData ObservationsViewModel +2024-04-05 07:15:41.089 Ravens: https://waarneming.nl/api/v1/locations/geojson/?id=133746 +2024-04-05 07:15:41.131 Ravens: fetchData ObservationsLocationViewModel limit: 133746 100 offset: 0 +2024-04-05 07:15:41.135 Ravens: URL https://waarneming.nl/api/v1/locations/133746/observations/?species_group=2 +2024-04-05 07:15:41.138 Ravens: headers authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d +accept-Language: nl +2024-04-05 07:15:41.492 Ravens: observations locations count 41 +2024-04-05 07:15:43.034 Ravens: fetchData ObservationsLocationViewModel limit: 133746 100 offset: 0 +2024-04-05 07:15:43.039 Ravens: URL https://waarneming.nl/api/v1/locations/133746/observations/?species_group=2 +2024-04-05 07:15:43.042 Ravens: headers authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d +accept-Language: nl +2024-04-05 07:16:32.846 Ravens: https://waarneming.nl/api/v1/locations/geojson/?id=5314 +2024-04-05 07:16:32.876 Ravens: fetchData ObservationsLocationViewModel limit: 5314 100 offset: 0 +2024-04-05 07:16:32.880 Ravens: URL https://waarneming.nl/api/v1/locations/5314/observations/?species_group=2 +2024-04-05 07:16:32.885 Ravens: headers authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d +accept-Language: nl +2024-04-05 07:16:35.349 Ravens: fetchData ObservationsLocationViewModel limit: 5314 100 offset: 0 +2024-04-05 07:16:35.354 Ravens: URL https://waarneming.nl/api/v1/locations/5314/observations/?species_group=2 +2024-04-05 07:16:35.360 Ravens: headers authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d +accept-Language: nl +2024-04-05 07:16:56.642 WARNING: *** NEW LAUNCH *** +2024-04-05 07:16:57.018 Ravens: fetchData ObservationsViewModel +2024-04-05 07:16:59.296 Ravens: observations locations count 41 +2024-04-05 07:17:12.836 Ravens: https://waarneming.nl/api/v1/locations/geojson/?id=133746 +2024-04-05 07:17:12.883 Ravens: fetchData ObservationsLocationViewModel limit: 133746 100 offset: 0 +2024-04-05 07:17:12.890 Ravens: URL https://waarneming.nl/api/v1/locations/133746/observations/?species_group=2 +2024-04-05 07:17:12.895 Ravens: headers authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d +accept-Language: nl +2024-04-05 07:17:23.158 Ravens: https://waarneming.nl/api/v1/locations/geojson/?id=16066 +2024-04-05 07:17:23.214 Ravens: fetchData ObservationsLocationViewModel limit: 16066 100 offset: 0 +2024-04-05 07:17:23.217 Ravens: URL https://waarneming.nl/api/v1/locations/16066/observations/?species_group=2 +2024-04-05 07:17:23.221 Ravens: headers authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d +accept-Language: nl +2024-04-05 07:17:28.475 Ravens: https://waarneming.nl/api/v1/locations/geojson/?id=5314 +2024-04-05 07:17:28.510 Ravens: fetchData ObservationsLocationViewModel limit: 5314 100 offset: 0 +2024-04-05 07:17:28.514 Ravens: URL https://waarneming.nl/api/v1/locations/5314/observations/?species_group=2 +2024-04-05 07:17:28.519 Ravens: headers authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d +accept-Language: nl +2024-04-05 07:17:30.633 Ravens: fetchData ObservationsLocationViewModel limit: 5314 100 offset: 0 +2024-04-05 07:17:30.637 Ravens: URL https://waarneming.nl/api/v1/locations/5314/observations/?species_group=2 +2024-04-05 07:17:30.640 Ravens: headers authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d +accept-Language: nl +2024-04-05 07:19:59.521 Ravens: fetchData ObservationsViewModel +2024-04-05 07:20:00.336 Ravens: fetchData ObservationsViewModel +2024-04-05 07:20:02.177 Ravens: observations locations count 41 +2024-04-05 07:20:03.247 Ravens: observations locations count 100 +2024-04-05 07:20:03.479 Ravens: file:///Users/ericdequartel/Library/Developer/CoreSimulator/Devices/017CCD8C-F819-45C1-9F5D-2AE646516EC3/data/Containers/Data/Application/FADB0506-2BD7-4CC5-979E-0473E2D2C78C/Documents/CachedObs302791322.json +2024-04-05 07:20:16.705 Ravens: fetchData ObservationsUserViewModel limit: 100 offset: 0 +2024-04-05 07:20:16.709 Ravens: https://waarneming.nl/api/v1/user/observations/?limit=100&offset=0 +2024-04-05 07:20:18.864 Ravens: https://waarneming.nl/api/v1/user/info/ +2024-04-05 08:39:58.822 WARNING: *** NEW LAUNCH *** +2024-04-05 08:39:59.387 Ravens: fetchData ObservationsViewModel +2024-04-05 08:40:02.050 Ravens: observations locations count 41 +2024-04-05 08:40:03.509 Ravens: https://waarneming.nl/api/v1/locations/geojson/?id=133746 +2024-04-05 08:40:03.560 Ravens: fetchData ObservationsLocationViewModel limit: 133746 100 offset: 0 +2024-04-05 08:40:03.563 Ravens: URL https://waarneming.nl/api/v1/locations/133746/observations/?species_group=2 +2024-04-05 08:40:03.567 Ravens: headers authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d +accept-Language: nl +2024-04-05 08:40:05.181 Ravens: fetchData ObservationsLocationViewModel limit: 133746 100 offset: 0 +2024-04-05 08:40:05.185 Ravens: URL https://waarneming.nl/api/v1/locations/133746/observations/?species_group=2 +2024-04-05 08:40:05.189 Ravens: headers authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d +accept-Language: nl +2024-04-05 08:41:24.603 WARNING: *** NEW LAUNCH *** +2024-04-05 08:41:24.971 Ravens: fetchData ObservationsViewModel +2024-04-05 08:41:27.882 Ravens: observations locations count 41 +2024-04-05 08:41:30.096 Ravens: https://waarneming.nl/api/v1/locations/geojson/?id=133746 +2024-04-05 08:41:30.142 Ravens: fetchData ObservationsLocationViewModel limit: 133746 100 offset: 0 +2024-04-05 08:41:30.146 Ravens: URL https://waarneming.nl/api/v1/locations/133746/observations/?species_group=2 +2024-04-05 08:41:30.151 Ravens: headers authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d +accept-Language: nl +2024-04-05 08:41:32.159 Ravens: fetchData ObservationsLocationViewModel limit: 133746 100 offset: 0 +2024-04-05 08:41:32.163 Ravens: URL https://waarneming.nl/api/v1/locations/133746/observations/?species_group=2 +2024-04-05 08:41:32.167 Ravens: headers authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d +accept-Language: nl +2024-04-05 08:42:33.548 WARNING: *** NEW LAUNCH *** +2024-04-05 08:42:33.935 Ravens: fetchData ObservationsViewModel +2024-04-05 08:42:36.975 Ravens: observations locations count 41 +2024-04-05 08:42:37.401 Ravens: https://waarneming.nl/api/v1/locations/geojson/?id=133746 +2024-04-05 08:42:37.440 Ravens: fetchData ObservationsLocationViewModel limit: 133746 100 offset: 0 +2024-04-05 08:42:37.443 Ravens: URL https://waarneming.nl/api/v1/locations/133746/observations/?species_group=2 +2024-04-05 08:42:37.448 Ravens: headers authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d +accept-Language: nl +2024-04-05 08:42:38.477 Ravens: fetchData ObservationsLocationViewModel limit: 133746 100 offset: 0 +2024-04-05 08:42:38.481 Ravens: URL https://waarneming.nl/api/v1/locations/133746/observations/?species_group=2 +2024-04-05 08:42:38.485 Ravens: headers authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d +accept-Language: nl +2024-04-05 08:43:02.168 WARNING: *** NEW LAUNCH *** +2024-04-05 08:43:02.536 Ravens: fetchData ObservationsViewModel +2024-04-05 08:43:05.342 Ravens: observations locations count 41 +2024-04-05 08:43:06.480 Ravens: fetchData ObservationsViewModel +2024-04-05 08:43:08.891 Ravens: observations locations count 41 +2024-04-05 08:43:10.352 Ravens: https://waarneming.nl/api/v1/locations/geojson/?id=133746 +2024-04-05 08:43:10.408 Ravens: fetchData ObservationsLocationViewModel limit: 133746 100 offset: 0 +2024-04-05 08:43:10.412 Ravens: URL https://waarneming.nl/api/v1/locations/133746/observations/?species_group=2 +2024-04-05 08:43:10.416 Ravens: headers authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d +accept-Language: nl +2024-04-05 08:43:11.900 Ravens: fetchData ObservationsLocationViewModel limit: 133746 100 offset: 0 +2024-04-05 08:43:11.904 Ravens: URL https://waarneming.nl/api/v1/locations/133746/observations/?species_group=2 +2024-04-05 08:43:11.908 Ravens: headers authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d +accept-Language: nl +2024-04-05 08:44:24.737 WARNING: *** NEW LAUNCH *** +2024-04-05 08:44:25.130 Ravens: fetchData ObservationsViewModel +2024-04-05 08:44:27.403 Ravens: https://waarneming.nl/api/v1/locations/geojson/?id=133746 +2024-04-05 08:44:27.472 Ravens: fetchData ObservationsLocationViewModel limit: 133746 100 offset: 0 +2024-04-05 08:44:27.477 Ravens: URL https://waarneming.nl/api/v1/locations/133746/observations/?species_group=2 +2024-04-05 08:44:27.482 Ravens: headers authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d +accept-Language: nl +2024-04-05 08:44:27.726 Ravens: observations locations count 41 +2024-04-05 08:44:28.570 Ravens: fetchData ObservationsLocationViewModel limit: 133746 100 offset: 0 +2024-04-05 08:44:28.574 Ravens: URL https://waarneming.nl/api/v1/locations/133746/observations/?species_group=2 +2024-04-05 08:44:28.578 Ravens: headers authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d +accept-Language: nl +2024-04-05 08:45:31.802 WARNING: *** NEW LAUNCH *** +2024-04-05 08:45:32.164 Ravens: fetchData ObservationsViewModel +2024-04-05 08:45:34.645 Ravens: observations locations count 41 +2024-04-05 08:45:37.622 Ravens: https://waarneming.nl/api/v1/locations/geojson/?id=133746 +2024-04-05 08:45:37.708 Ravens: fetchData ObservationsLocationViewModel limit: 133746 100 offset: 0 +2024-04-05 08:45:37.712 Ravens: URL https://waarneming.nl/api/v1/locations/133746/observations/?species_group=2 +2024-04-05 08:45:37.716 Ravens: headers authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d +accept-Language: nl +2024-04-05 08:45:38.142 Ravens: fetchData ObservationsLocationViewModel limit: 133746 100 offset: 0 +2024-04-05 08:45:38.146 Ravens: URL https://waarneming.nl/api/v1/locations/133746/observations/?species_group=2 +2024-04-05 08:45:38.150 Ravens: headers authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d +accept-Language: nl +2024-04-05 08:45:57.539 Ravens: https://waarneming.nl/api/v1/locations/geojson/?id=5314 +2024-04-05 08:45:57.584 Ravens: fetchData ObservationsLocationViewModel limit: 5314 100 offset: 0 +2024-04-05 08:45:57.588 Ravens: URL https://waarneming.nl/api/v1/locations/5314/observations/?species_group=2 +2024-04-05 08:45:57.593 Ravens: headers authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d +accept-Language: nl +2024-04-05 08:45:59.709 Ravens: fetchData ObservationsLocationViewModel limit: 5314 100 offset: 0 +2024-04-05 08:45:59.713 Ravens: URL https://waarneming.nl/api/v1/locations/5314/observations/?species_group=2 +2024-04-05 08:45:59.717 Ravens: headers authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d +accept-Language: nl +2024-04-05 08:46:04.235 Ravens: fetchData ObservationsLocationViewModel limit: 5314 100 offset: 0 +2024-04-05 08:46:04.239 Ravens: URL https://waarneming.nl/api/v1/locations/5314/observations/?species_group=2 +2024-04-05 08:46:04.243 Ravens: headers authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d +accept-Language: nl +2024-04-05 08:46:15.566 Ravens: fetchData ObservationsLocationViewModel limit: 5314 100 offset: 0 +2024-04-05 08:46:15.574 Ravens: URL https://waarneming.nl/api/v1/locations/5314/observations/?species_group=2 +2024-04-05 08:46:15.580 Ravens: headers authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d +accept-Language: nl +2024-04-05 08:47:50.523 Ravens: https://waarneming.nl/api/v1/locations/geojson/?id=5314 +2024-04-05 08:47:50.572 Ravens: fetchData ObservationsLocationViewModel limit: 5314 100 offset: 0 +2024-04-05 08:47:50.576 Ravens: URL https://waarneming.nl/api/v1/locations/5314/observations/?species_group=2 +2024-04-05 08:47:50.579 Ravens: headers authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d +accept-Language: nl +2024-04-05 08:47:52.467 Ravens: fetchData ObservationsLocationViewModel limit: 5314 100 offset: 0 +2024-04-05 08:47:52.472 Ravens: URL https://waarneming.nl/api/v1/locations/5314/observations/?species_group=2 +2024-04-05 08:47:52.476 Ravens: headers authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d +accept-Language: nl +2024-04-05 08:48:51.545 WARNING: *** NEW LAUNCH *** +2024-04-05 08:48:51.931 Ravens: fetchData ObservationsViewModel +2024-04-05 08:48:54.322 Ravens: observations locations count 41 +2024-04-05 08:48:57.976 Ravens: https://waarneming.nl/api/v1/locations/geojson/?id=133746 +2024-04-05 08:48:58.027 Ravens: fetchData ObservationsLocationViewModel limit: 133746 100 offset: 0 +2024-04-05 08:48:58.031 Ravens: URL https://waarneming.nl/api/v1/locations/133746/observations/?species_group=2 +2024-04-05 08:48:58.034 Ravens: headers authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d +accept-Language: nl +2024-04-05 08:48:59.506 Ravens: fetchData ObservationsLocationViewModel limit: 133746 100 offset: 0 +2024-04-05 08:48:59.510 Ravens: URL https://waarneming.nl/api/v1/locations/133746/observations/?species_group=2 +2024-04-05 08:48:59.513 Ravens: headers authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d +accept-Language: nl +2024-04-05 08:50:00.306 WARNING: *** NEW LAUNCH *** +2024-04-05 08:50:00.698 Ravens: fetchData ObservationsViewModel +2024-04-05 08:50:02.520 Ravens: https://waarneming.nl/api/v1/locations/geojson/?id=133746 +2024-04-05 08:50:02.581 Ravens: fetchData ObservationsLocationViewModel limit: 133746 100 offset: 0 +2024-04-05 08:50:02.585 Ravens: URL https://waarneming.nl/api/v1/locations/133746/observations/?species_group=2 +2024-04-05 08:50:02.589 Ravens: headers authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d +accept-Language: nl +2024-04-05 08:50:03.479 Ravens: observations locations count 41 +2024-04-05 08:50:03.638 Ravens: fetchData ObservationsLocationViewModel limit: 133746 100 offset: 0 +2024-04-05 08:50:03.642 Ravens: URL https://waarneming.nl/api/v1/locations/133746/observations/?species_group=2 +2024-04-05 08:50:03.646 Ravens: headers authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d +accept-Language: nl +2024-04-05 08:53:56.012 WARNING: *** NEW LAUNCH *** +2024-04-05 08:53:56.479 Ravens: fetchData ObservationsViewModel +2024-04-05 08:53:58.967 Ravens: observations locations count 41 +2024-04-05 08:53:59.010 Ravens: https://waarneming.nl/api/v1/locations/geojson/?id=133746 +2024-04-05 08:53:59.067 Ravens: fetchData ObservationsLocationViewModel limit: 133746 100 offset: 0 +2024-04-05 08:53:59.070 Ravens: URL https://waarneming.nl/api/v1/locations/133746/observations/?species_group=2 +2024-04-05 08:53:59.075 Ravens: headers authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d +accept-Language: nl +2024-04-05 08:54:09.006 Ravens: fetchData ObservationsUserViewModel limit: 100 offset: 0 +2024-04-05 08:54:09.010 Ravens: https://waarneming.nl/api/v1/user/observations/?limit=100&offset=0 +2024-04-05 08:54:09.928 Ravens: https://waarneming.nl/api/v1/user/info/ +2024-04-05 08:55:39.280 WARNING: *** NEW LAUNCH *** +2024-04-05 08:55:39.674 Ravens: fetchData ObservationsViewModel +2024-04-05 08:55:42.464 Ravens: observations locations count 41 +2024-04-05 08:56:07.555 WARNING: *** NEW LAUNCH *** +2024-04-05 08:56:07.925 Ravens: fetchData ObservationsViewModel +2024-04-05 08:56:10.806 Ravens: observations locations count 41 +2024-04-05 08:56:59.480 WARNING: *** NEW LAUNCH *** +2024-04-05 08:56:59.839 Ravens: fetchData ObservationsViewModel +2024-04-05 08:57:01.369 Ravens: https://waarneming.nl/api/v1/locations/geojson/?id=133746 +2024-04-05 08:57:01.418 Ravens: fetchData ObservationsLocationViewModel limit: 133746 100 offset: 0 +2024-04-05 08:57:01.422 Ravens: URL https://waarneming.nl/api/v1/locations/133746/observations/?species_group=2 +2024-04-05 08:57:01.427 Ravens: headers authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d +accept-Language: nl +2024-04-05 08:57:02.479 Ravens: observations locations count 41 +2024-04-05 08:57:03.731 Ravens: fetchData ObservationsLocationViewModel limit: 133746 100 offset: 0 +2024-04-05 08:57:03.734 Ravens: URL https://waarneming.nl/api/v1/locations/133746/observations/?species_group=2 +2024-04-05 08:57:03.738 Ravens: headers authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d +accept-Language: nl +2024-04-05 08:57:50.996 WARNING: *** NEW LAUNCH *** +2024-04-05 08:57:51.420 Ravens: fetchData ObservationsViewModel +2024-04-05 08:57:53.966 Ravens: observations locations count 41 +2024-04-05 08:58:02.259 Ravens: https://waarneming.nl/api/v1/locations/geojson/?id=133746 +2024-04-05 08:58:02.313 Ravens: fetchData ObservationsLocationViewModel limit: 133746 100 offset: 0 +2024-04-05 08:58:02.317 Ravens: URL https://waarneming.nl/api/v1/locations/133746/observations/?species_group=2 +2024-04-05 08:58:02.321 Ravens: headers authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d +accept-Language: nl +2024-04-05 08:58:04.407 Ravens: fetchData ObservationsLocationViewModel limit: 133746 100 offset: 0 +2024-04-05 08:58:04.411 Ravens: URL https://waarneming.nl/api/v1/locations/133746/observations/?species_group=2 +2024-04-05 08:58:04.415 Ravens: headers authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d +accept-Language: nl +2024-04-05 08:59:00.740 WARNING: *** NEW LAUNCH *** +2024-04-05 08:59:01.384 Ravens: fetchData ObservationsViewModel +2024-04-05 08:59:04.035 Ravens: observations locations count 41 +2024-04-05 08:59:07.036 Ravens: https://waarneming.nl/api/v1/locations/geojson/?id=133746 +2024-04-05 08:59:07.084 Ravens: fetchData ObservationsLocationViewModel limit: 133746 100 offset: 0 +2024-04-05 08:59:07.088 Ravens: URL https://waarneming.nl/api/v1/locations/133746/observations/?species_group=2 +2024-04-05 08:59:07.092 Ravens: headers authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d +accept-Language: nl +2024-04-05 08:59:08.861 Ravens: fetchData ObservationsLocationViewModel limit: 133746 100 offset: 0 +2024-04-05 08:59:08.867 Ravens: URL https://waarneming.nl/api/v1/locations/133746/observations/?species_group=2 +2024-04-05 08:59:08.871 Ravens: headers authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d +accept-Language: nl +2024-04-05 08:59:57.888 Ravens: https://waarneming.nl/api/v1/locations/geojson/?id=90 +2024-04-05 08:59:57.950 Ravens: fetchData ObservationsLocationViewModel limit: 90 100 offset: 0 +2024-04-05 08:59:57.954 Ravens: URL https://waarneming.nl/api/v1/locations/90/observations/?species_group=2 +2024-04-05 08:59:57.959 Ravens: headers authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d +accept-Language: nl +2024-04-05 09:00:03.061 Ravens: https://waarneming.nl/api/v1/locations/geojson/?id=5314 +2024-04-05 09:00:03.107 Ravens: fetchData ObservationsLocationViewModel limit: 5314 100 offset: 0 +2024-04-05 09:00:03.111 Ravens: URL https://waarneming.nl/api/v1/locations/5314/observations/?species_group=2 +2024-04-05 09:00:03.117 Ravens: headers authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d +accept-Language: nl +2024-04-05 09:00:04.974 Ravens: fetchData ObservationsLocationViewModel limit: 5314 100 offset: 0 +2024-04-05 09:00:04.981 Ravens: URL https://waarneming.nl/api/v1/locations/5314/observations/?species_group=2 +2024-04-05 09:00:04.986 Ravens: headers authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d +accept-Language: nl +2024-04-05 09:07:27.790 WARNING: *** NEW LAUNCH *** +2024-04-05 09:07:28.337 Ravens: fetchData ObservationsViewModel +2024-04-05 09:07:30.682 Ravens: fetchData ObservationsUserViewModel limit: 100 offset: 0 +2024-04-05 09:07:30.688 Ravens: https://waarneming.nl/api/v1/user/observations/?limit=100&offset=0 +2024-04-05 09:07:31.345 Ravens: observations locations count 41 +2024-04-05 09:07:52.690 Ravens: fetchData ObservationsUserViewModel limit: 100 offset: 0 +2024-04-05 09:07:52.695 Ravens: https://waarneming.nl/api/v1/user/observations/?limit=100&offset=0 +2024-04-05 09:07:55.898 Ravens: https://waarneming.nl/api/v1/user/info/ +2024-04-05 09:08:07.699 Ravens: https://waarneming.nl/api/v1/locations/geojson/?id=133746 +2024-04-05 09:08:07.759 Ravens: fetchData ObservationsLocationViewModel limit: 133746 100 offset: 0 +2024-04-05 09:08:07.764 Ravens: URL https://waarneming.nl/api/v1/locations/133746/observations/?species_group=2 +2024-04-05 09:08:07.769 Ravens: headers authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d +accept-Language: nl +2024-04-05 09:08:09.828 Ravens: https://waarneming.nl/api/v1/locations/geojson/?id=17820 +2024-04-05 09:08:09.870 Ravens: fetchData ObservationsLocationViewModel limit: 17820 100 offset: 0 +2024-04-05 09:08:09.874 Ravens: URL https://waarneming.nl/api/v1/locations/17820/observations/?species_group=2 +2024-04-05 09:08:09.877 Ravens: headers authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d +accept-Language: nl +2024-04-05 09:08:13.230 Ravens: fetchData ObservationsLocationViewModel limit: 17820 100 offset: 0 +2024-04-05 09:08:13.237 Ravens: URL https://waarneming.nl/api/v1/locations/17820/observations/?species_group=2 +2024-04-05 09:08:13.242 Ravens: headers authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d +accept-Language: nl +2024-04-05 09:08:40.702 Ravens: fetchData ObservationsUserViewModel limit: 100 offset: 0 +2024-04-05 09:08:40.706 Ravens: https://waarneming.nl/api/v1/user/observations/?limit=100&offset=0 +2024-04-05 09:08:42.138 Ravens: https://waarneming.nl/api/v1/user/info/ +2024-04-05 09:11:03.581 Ravens: https://waarneming.nl/api/v1/locations/geojson/?id=17820 +2024-04-05 09:11:03.630 Ravens: fetchData ObservationsLocationViewModel limit: 17820 100 offset: 0 +2024-04-05 09:11:03.634 Ravens: URL https://waarneming.nl/api/v1/locations/17820/observations/?species_group=2 +2024-04-05 09:11:03.637 Ravens: headers authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d +accept-Language: nl +2024-04-05 09:13:12.265 WARNING: *** NEW LAUNCH *** +2024-04-05 09:13:12.814 Ravens: fetchData ObservationsViewModel +2024-04-05 09:13:15.539 Ravens: observations locations count 42 +2024-04-05 09:13:20.864 Ravens: fetchData ObservationsViewModel +2024-04-05 09:13:21.231 Ravens: file:///Users/ericdequartel/Library/Developer/CoreSimulator/Devices/017CCD8C-F819-45C1-9F5D-2AE646516EC3/data/Containers/Data/Application/206BDE1A-EC6C-43AC-AFBF-D82C4B9FD60B/Documents/CachedObs303260257.json +2024-04-05 09:13:23.691 Ravens: observations locations count 42 +2024-04-05 10:59:19.399 WARNING: *** NEW LAUNCH *** +2024-04-05 10:59:20.856 Ravens: fetchData ObservationsViewModel +2024-04-05 10:59:23.669 Ravens: observations locations count 42 +2024-04-05 10:59:25.986 Ravens: fetchData ObservationsUserViewModel limit: 100 offset: 0 +2024-04-05 10:59:25.989 Ravens: https://waarneming.nl/api/v1/user/observations/?limit=100&offset=0 +2024-04-05 10:59:35.167 Ravens: fetchData ObservationsViewModel +2024-04-05 10:59:37.786 Ravens: observations locations count 42 +2024-04-05 10:59:39.324 Ravens: fetchData ObservationsUserViewModel limit: 100 offset: 0 +2024-04-05 10:59:39.328 Ravens: https://waarneming.nl/api/v1/user/observations/?limit=100&offset=0 +2024-04-05 10:59:41.322 Ravens: https://waarneming.nl/api/v1/locations/geojson/?id=133746 +2024-04-05 10:59:41.374 Ravens: fetchData ObservationsLocationViewModel limit: 133746 100 offset: 0 +2024-04-05 10:59:41.378 Ravens: URL https://waarneming.nl/api/v1/locations/133746/observations/?species_group=2 +2024-04-05 10:59:41.381 Ravens: headers authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d +accept-Language: nl +2024-04-05 11:01:28.630 WARNING: *** NEW LAUNCH *** +2024-04-05 11:01:29.253 Ravens: fetchData ObservationsViewModel +2024-04-05 11:01:32.116 Ravens: observations locations count 42 +2024-04-05 11:01:38.146 Ravens: https://waarneming.nl/api/v1/locations/geojson/?id=133746 +2024-04-05 11:01:38.201 Ravens: fetchData ObservationsLocationViewModel limit: 133746 100 offset: 0 +2024-04-05 11:01:38.206 Ravens: URL https://waarneming.nl/api/v1/locations/133746/observations/?species_group=2 +2024-04-05 11:01:38.211 Ravens: headers authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d +accept-Language: nl +2024-04-05 11:01:41.470 Ravens: fetchData ObservationsLocationViewModel limit: 133746 100 offset: 0 +2024-04-05 11:01:41.473 Ravens: URL https://waarneming.nl/api/v1/locations/133746/observations/?species_group=2 +2024-04-05 11:01:41.477 Ravens: headers authorization: Token 01d3455e878b6c4e6712c550ef460e17b9d2dc2d +accept-Language: nl +2024-04-05 11:07:41.471 WARNING: *** NEW LAUNCH *** +2024-04-05 11:07:41.983 Ravens: fetchData ObservationsViewModel +2024-04-05 11:07:45.164 Ravens: observations locations count 42 +2024-04-05 11:07:45.484 Ravens: https://waarneming.nl/api/v1/locations/geojson/?id=133746 +2024-04-05 11:07:55.035 Ravens: getID region: 200 groups: 1 +2024-04-05 11:07:55.040 Ravens: getId= RegionList(id: 5001, region: 200, species_group: 1) +2024-04-05 11:07:55.097 Ravens: speciesGroupViewModel.fetchData completed +2024-04-05 11:08:07.509 Ravens: https://waarneming.nl/api/v1/locations/geojson/?id=133746 +2024-04-05 11:08:16.519 Ravens: https://waarneming.nl/api/v1/locations/geojson/?id=17820 +2024-04-05 11:08:22.327 Ravens: https://waarneming.nl/api/v1/locations/geojson/?id=121177 +2024-04-05 11:08:28.907 Ravens: https://waarneming.nl/api/v1/locations/geojson/?id=34620 +2024-04-05 11:09:11.756 WARNING: *** NEW LAUNCH *** +2024-04-05 11:09:12.327 Ravens: fetchData ObservationsViewModel +2024-04-05 11:09:15.684 Ravens: observations locations count 100 +2024-04-05 11:09:48.812 WARNING: *** NEW LAUNCH *** +2024-04-05 11:09:49.364 Ravens: fetchData ObservationsViewModel +2024-04-05 11:09:53.187 Ravens: https://waarneming.nl/api/v1/locations/geojson/?id=133746 +2024-04-05 11:10:55.142 WARNING: *** NEW LAUNCH *** +2024-04-05 11:10:55.751 Ravens: fetchData ObservationsViewModel +2024-04-05 11:20:01.760 WARNING: *** NEW LAUNCH *** +2024-04-05 11:20:02.282 Ravens: fetchData ObservationsViewModel +2024-04-05 11:21:07.643 WARNING: *** NEW LAUNCH *** +2024-04-05 11:21:08.029 Ravens: fetchData ObservationsViewModel +2024-04-05 11:22:20.091 WARNING: *** NEW LAUNCH *** +2024-04-05 11:22:20.450 Ravens: fetchData ObservationsViewModel +2024-04-05 11:23:01.891 WARNING: *** NEW LAUNCH *** +2024-04-05 11:23:02.474 Ravens: fetchData ObservationsViewModel +2024-04-05 11:23:19.341 WARNING: *** NEW LAUNCH *** +2024-04-05 11:23:19.730 Ravens: fetchData ObservationsViewModel +2024-04-05 11:23:22.929 Ravens: fetchData ObservationsViewModel +2024-04-05 11:23:23.213 Ravens: file:///Users/ericdequartel/Library/Developer/CoreSimulator/Devices/017CCD8C-F819-45C1-9F5D-2AE646516EC3/data/Containers/Data/Application/4C32C822-7421-4F1B-842E-5E0D011E0C7B/Documents/CachedObs303284053.json +2024-04-05 11:23:23.266 Ravens: file:///Users/ericdequartel/Library/Developer/CoreSimulator/Devices/017CCD8C-F819-45C1-9F5D-2AE646516EC3/data/Containers/Data/Application/4C32C822-7421-4F1B-842E-5E0D011E0C7B/Documents/CachedObs303283923.json +2024-04-05 11:23:27.976 Ravens: fetchData ObservationsViewModel +2024-04-05 11:23:30.387 Ravens: file:///Users/ericdequartel/Library/Developer/CoreSimulator/Devices/017CCD8C-F819-45C1-9F5D-2AE646516EC3/data/Containers/Data/Application/4C32C822-7421-4F1B-842E-5E0D011E0C7B/Documents/CachedObs303283824.json +2024-04-05 11:23:30.508 Ravens: file:///Users/ericdequartel/Library/Developer/CoreSimulator/Devices/017CCD8C-F819-45C1-9F5D-2AE646516EC3/data/Containers/Data/Application/4C32C822-7421-4F1B-842E-5E0D011E0C7B/Documents/CachedObs303166250.json +2024-04-05 11:23:30.645 Ravens: file:///Users/ericdequartel/Library/Developer/CoreSimulator/Devices/017CCD8C-F819-45C1-9F5D-2AE646516EC3/data/Containers/Data/Application/4C32C822-7421-4F1B-842E-5E0D011E0C7B/Documents/CachedObs303185579.json +2024-04-05 11:23:30.783 Ravens: file:///Users/ericdequartel/Library/Developer/CoreSimulator/Devices/017CCD8C-F819-45C1-9F5D-2AE646516EC3/data/Containers/Data/Application/4C32C822-7421-4F1B-842E-5E0D011E0C7B/Documents/CachedObs303190270.json +2024-04-05 11:23:30.903 Ravens: file:///Users/ericdequartel/Library/Developer/CoreSimulator/Devices/017CCD8C-F819-45C1-9F5D-2AE646516EC3/data/Containers/Data/Application/4C32C822-7421-4F1B-842E-5E0D011E0C7B/Documents/CachedObs303284841.json +2024-04-05 11:23:31.041 Ravens: file:///Users/ericdequartel/Library/Developer/CoreSimulator/Devices/017CCD8C-F819-45C1-9F5D-2AE646516EC3/data/Containers/Data/Application/4C32C822-7421-4F1B-842E-5E0D011E0C7B/Documents/CachedObs303160369.json +2024-04-05 11:23:31.166 Ravens: file:///Users/ericdequartel/Library/Developer/CoreSimulator/Devices/017CCD8C-F819-45C1-9F5D-2AE646516EC3/data/Containers/Data/Application/4C32C822-7421-4F1B-842E-5E0D011E0C7B/Documents/CachedObs303284841.json +2024-04-05 11:23:31.303 Ravens: file:///Users/ericdequartel/Library/Developer/CoreSimulator/Devices/017CCD8C-F819-45C1-9F5D-2AE646516EC3/data/Containers/Data/Application/4C32C822-7421-4F1B-842E-5E0D011E0C7B/Documents/CachedObs303160369.json +2024-04-05 11:23:31.426 Ravens: file:///Users/ericdequartel/Library/Developer/CoreSimulator/Devices/017CCD8C-F819-45C1-9F5D-2AE646516EC3/data/Containers/Data/Application/4C32C822-7421-4F1B-842E-5E0D011E0C7B/Documents/CachedObs303196436.json +2024-04-05 11:23:31.538 Ravens: file:///Users/ericdequartel/Library/Developer/CoreSimulator/Devices/017CCD8C-F819-45C1-9F5D-2AE646516EC3/data/Containers/Data/Application/4C32C822-7421-4F1B-842E-5E0D011E0C7B/Documents/CachedObs303160369.json +2024-04-05 11:23:31.720 Ravens: file:///Users/ericdequartel/Library/Developer/CoreSimulator/Devices/017CCD8C-F819-45C1-9F5D-2AE646516EC3/data/Containers/Data/Application/4C32C822-7421-4F1B-842E-5E0D011E0C7B/Documents/CachedObs303196436.json +2024-04-05 11:23:33.048 Ravens: file:///Users/ericdequartel/Library/Developer/CoreSimulator/Devices/017CCD8C-F819-45C1-9F5D-2AE646516EC3/data/Containers/Data/Application/4C32C822-7421-4F1B-842E-5E0D011E0C7B/Documents/CachedObs303196433.json +2024-04-05 11:23:33.129 Ravens: file:///Users/ericdequartel/Library/Developer/CoreSimulator/Devices/017CCD8C-F819-45C1-9F5D-2AE646516EC3/data/Containers/Data/Application/4C32C822-7421-4F1B-842E-5E0D011E0C7B/Documents/CachedObs303196877.json +2024-04-05 11:23:33.222 Ravens: file:///Users/ericdequartel/Library/Developer/CoreSimulator/Devices/017CCD8C-F819-45C1-9F5D-2AE646516EC3/data/Containers/Data/Application/4C32C822-7421-4F1B-842E-5E0D011E0C7B/Documents/CachedObs303207562.json +2024-04-05 11:23:33.559 Ravens: file:///Users/ericdequartel/Library/Developer/CoreSimulator/Devices/017CCD8C-F819-45C1-9F5D-2AE646516EC3/data/Containers/Data/Application/4C32C822-7421-4F1B-842E-5E0D011E0C7B/Documents/CachedObs303196433.json +2024-04-05 11:23:33.694 Ravens: file:///Users/ericdequartel/Library/Developer/CoreSimulator/Devices/017CCD8C-F819-45C1-9F5D-2AE646516EC3/data/Containers/Data/Application/4C32C822-7421-4F1B-842E-5E0D011E0C7B/Documents/CachedObs303196877.json +2024-04-05 11:23:33.787 Ravens: file:///Users/ericdequartel/Library/Developer/CoreSimulator/Devices/017CCD8C-F819-45C1-9F5D-2AE646516EC3/data/Containers/Data/Application/4C32C822-7421-4F1B-842E-5E0D011E0C7B/Documents/CachedObs303207562.json +2024-04-05 11:23:33.863 Ravens: file:///Users/ericdequartel/Library/Developer/CoreSimulator/Devices/017CCD8C-F819-45C1-9F5D-2AE646516EC3/data/Containers/Data/Application/4C32C822-7421-4F1B-842E-5E0D011E0C7B/Documents/CachedObs303188012.json +2024-04-05 11:23:33.971 Ravens: file:///Users/ericdequartel/Library/Developer/CoreSimulator/Devices/017CCD8C-F819-45C1-9F5D-2AE646516EC3/data/Containers/Data/Application/4C32C822-7421-4F1B-842E-5E0D011E0C7B/Documents/CachedObs303185571.json +2024-04-05 11:23:34.108 Ravens: file:///Users/ericdequartel/Library/Developer/CoreSimulator/Devices/017CCD8C-F819-45C1-9F5D-2AE646516EC3/data/Containers/Data/Application/4C32C822-7421-4F1B-842E-5E0D011E0C7B/Documents/CachedObs303190035.json +2024-04-05 11:23:34.221 Ravens: file:///Users/ericdequartel/Library/Developer/CoreSimulator/Devices/017CCD8C-F819-45C1-9F5D-2AE646516EC3/data/Containers/Data/Application/4C32C822-7421-4F1B-842E-5E0D011E0C7B/Documents/CachedObs303187657.json +2024-04-05 11:23:34.458 Ravens: file:///Users/ericdequartel/Library/Developer/CoreSimulator/Devices/017CCD8C-F819-45C1-9F5D-2AE646516EC3/data/Containers/Data/Application/4C32C822-7421-4F1B-842E-5E0D011E0C7B/Documents/CachedObs303151756.json +2024-04-05 11:23:34.579 Ravens: file:///Users/ericdequartel/Library/Developer/CoreSimulator/Devices/017CCD8C-F819-45C1-9F5D-2AE646516EC3/data/Containers/Data/Application/4C32C822-7421-4F1B-842E-5E0D011E0C7B/Documents/CachedObs303248574.json +2024-04-05 11:23:34.718 Ravens: file:///Users/ericdequartel/Library/Developer/CoreSimulator/Devices/017CCD8C-F819-45C1-9F5D-2AE646516EC3/data/Containers/Data/Application/4C32C822-7421-4F1B-842E-5E0D011E0C7B/Documents/CachedObs303258003.json +2024-04-05 11:23:34.801 Ravens: file:///Users/ericdequartel/Library/Developer/CoreSimulator/Devices/017CCD8C-F819-45C1-9F5D-2AE646516EC3/data/Containers/Data/Application/4C32C822-7421-4F1B-842E-5E0D011E0C7B/Documents/CachedObs303248577.json +2024-04-05 11:23:34.900 Ravens: file:///Users/ericdequartel/Library/Developer/CoreSimulator/Devices/017CCD8C-F819-45C1-9F5D-2AE646516EC3/data/Containers/Data/Application/4C32C822-7421-4F1B-842E-5E0D011E0C7B/Documents/CachedObs303259024.json +2024-04-05 11:25:09.028 WARNING: *** NEW LAUNCH *** +2024-04-05 11:25:09.497 Ravens: fetchData ObservationsViewModel +2024-04-05 11:25:12.697 Ravens: fetchData ObservationsViewModel +2024-04-05 11:25:12.936 Ravens: Error ObservationsViewModel: responseSerializationFailed(reason: Alamofire.AFError.ResponseSerializationFailureReason.decodingFailed(error: Swift.DecodingError.keyNotFound(CodingKeys(stringValue: "species", intValue: nil), Swift.DecodingError.Context(codingPath: [CodingKeys(stringValue: "results", intValue: nil), _JSONKey(stringValue: "Index 0", intValue: 0)], debugDescription: "No value associated with key CodingKeys(stringValue: \"species\", intValue: nil) (\"species\").", underlyingError: nil)))) +2024-04-05 11:25:16.102 Ravens: Error ObservationsViewModel: responseSerializationFailed(reason: Alamofire.AFError.ResponseSerializationFailureReason.decodingFailed(error: Swift.DecodingError.keyNotFound(CodingKeys(stringValue: "species", intValue: nil), Swift.DecodingError.Context(codingPath: [CodingKeys(stringValue: "results", intValue: nil), _JSONKey(stringValue: "Index 0", intValue: 0)], debugDescription: "No value associated with key CodingKeys(stringValue: \"species\", intValue: nil) (\"species\").", underlyingError: nil)))) +2024-04-05 11:25:36.151 Ravens: Error ObservationsLocationViewModel decoding JSON: keyNotFound(CodingKeys(stringValue: "has_photo", intValue: nil), Swift.DecodingError.Context(codingPath: [CodingKeys(stringValue: "results", intValue: nil), _JSONKey(stringValue: "Index 0", intValue: 0)], debugDescription: "No value associated with key CodingKeys(stringValue: \"has_photo\", intValue: nil) (\"has_photo\").", underlyingError: nil)) +2024-04-05 11:25:36.159 Ravens: https://waarneming.nl/api/v1/locations/133746/observations/?species_group=1 +2024-04-05 11:26:16.310 WARNING: *** NEW LAUNCH *** +2024-04-05 11:26:16.669 Ravens: fetchData ObservationsViewModel +2024-04-05 11:26:19.904 Ravens: Error ObservationsViewModel: responseSerializationFailed(reason: Alamofire.AFError.ResponseSerializationFailureReason.decodingFailed(error: Swift.DecodingError.keyNotFound(CodingKeys(stringValue: "species", intValue: nil), Swift.DecodingError.Context(codingPath: [CodingKeys(stringValue: "results", intValue: nil), _JSONKey(stringValue: "Index 0", intValue: 0)], debugDescription: "No value associated with key CodingKeys(stringValue: \"species\", intValue: nil) (\"species\").", underlyingError: nil)))) +2024-04-05 11:26:40.471 Ravens: fetchData ObservationsViewModel +2024-04-05 11:26:43.868 Ravens: Error ObservationsViewModel: responseSerializationFailed(reason: Alamofire.AFError.ResponseSerializationFailureReason.decodingFailed(error: Swift.DecodingError.keyNotFound(CodingKeys(stringValue: "species", intValue: nil), Swift.DecodingError.Context(codingPath: [CodingKeys(stringValue: "results", intValue: nil), _JSONKey(stringValue: "Index 0", intValue: 0)], debugDescription: "No value associated with key CodingKeys(stringValue: \"species\", intValue: nil) (\"species\").", underlyingError: nil)))) +2024-04-05 11:28:20.075 WARNING: *** NEW LAUNCH *** +2024-04-05 11:28:22.259 Ravens: fetchData ObservationsViewModel +2024-04-05 11:28:24.410 Ravens: fetchData ObservationsViewModel +2024-04-05 11:28:25.166 Ravens: Error ObservationsViewModel: responseSerializationFailed(reason: Alamofire.AFError.ResponseSerializationFailureReason.decodingFailed(error: Swift.DecodingError.keyNotFound(CodingKeys(stringValue: "accuracy", intValue: nil), Swift.DecodingError.Context(codingPath: [CodingKeys(stringValue: "results", intValue: nil), _JSONKey(stringValue: "Index 0", intValue: 0)], debugDescription: "No value associated with key CodingKeys(stringValue: \"accuracy\", intValue: nil) (\"accuracy\").", underlyingError: nil)))) +2024-04-05 11:28:27.250 Ravens: Error ObservationsViewModel: responseSerializationFailed(reason: Alamofire.AFError.ResponseSerializationFailureReason.decodingFailed(error: Swift.DecodingError.keyNotFound(CodingKeys(stringValue: "accuracy", intValue: nil), Swift.DecodingError.Context(codingPath: [CodingKeys(stringValue: "results", intValue: nil), _JSONKey(stringValue: "Index 0", intValue: 0)], debugDescription: "No value associated with key CodingKeys(stringValue: \"accuracy\", intValue: nil) (\"accuracy\").", underlyingError: nil)))) +2024-04-05 11:28:34.361 Ravens: fetchData ObservationsUserViewModel limit: 100 offset: 0 +2024-04-05 11:28:34.364 Ravens: https://waarneming.nl/api/v1/user/observations/?limit=100&offset=0 +2024-04-05 11:28:36.440 Ravens: https://waarneming.nl/api/v1/user/info/ +2024-04-05 11:28:54.775 WARNING: *** NEW LAUNCH *** +2024-04-05 11:28:55.124 Ravens: fetchData ObservationsViewModel +2024-04-05 11:28:57.909 Ravens: Error ObservationsViewModel: responseSerializationFailed(reason: Alamofire.AFError.ResponseSerializationFailureReason.decodingFailed(error: Swift.DecodingError.keyNotFound(CodingKeys(stringValue: "accuracy", intValue: nil), Swift.DecodingError.Context(codingPath: [CodingKeys(stringValue: "results", intValue: nil), _JSONKey(stringValue: "Index 0", intValue: 0)], debugDescription: "No value associated with key CodingKeys(stringValue: \"accuracy\", intValue: nil) (\"accuracy\").", underlyingError: nil)))) +2024-04-05 11:30:04.556 WARNING: *** NEW LAUNCH *** +2024-04-05 11:30:04.947 Ravens: fetchData ObservationsViewModel +2024-04-05 11:30:08.259 Ravens: Error ObservationsViewModel: responseSerializationFailed(reason: Alamofire.AFError.ResponseSerializationFailureReason.decodingFailed(error: Swift.DecodingError.keyNotFound(CodingKeys(stringValue: "accuracy", intValue: nil), Swift.DecodingError.Context(codingPath: [CodingKeys(stringValue: "results", intValue: nil), _JSONKey(stringValue: "Index 0", intValue: 0)], debugDescription: "No value associated with key CodingKeys(stringValue: \"accuracy\", intValue: nil) (\"accuracy\").", underlyingError: nil)))) +2024-04-05 11:30:47.943 WARNING: *** NEW LAUNCH *** +2024-04-05 11:30:48.324 Ravens: fetchData ObservationsViewModel +2024-04-05 11:30:51.374 Ravens: Error ObservationsViewModel: responseSerializationFailed(reason: Alamofire.AFError.ResponseSerializationFailureReason.decodingFailed(error: Swift.DecodingError.keyNotFound(CodingKeys(stringValue: "related_species", intValue: nil), Swift.DecodingError.Context(codingPath: [CodingKeys(stringValue: "results", intValue: nil), _JSONKey(stringValue: "Index 0", intValue: 0)], debugDescription: "No value associated with key CodingKeys(stringValue: \"related_species\", intValue: nil) (\"related_species\").", underlyingError: nil)))) +2024-04-05 11:31:07.692 WARNING: *** NEW LAUNCH *** +2024-04-05 11:31:08.059 Ravens: fetchData ObservationsViewModel +2024-04-05 11:31:11.258 Ravens: Error ObservationsViewModel: responseSerializationFailed(reason: Alamofire.AFError.ResponseSerializationFailureReason.decodingFailed(error: Swift.DecodingError.keyNotFound(CodingKeys(stringValue: "obscurity", intValue: nil), Swift.DecodingError.Context(codingPath: [CodingKeys(stringValue: "results", intValue: nil), _JSONKey(stringValue: "Index 0", intValue: 0)], debugDescription: "No value associated with key CodingKeys(stringValue: \"obscurity\", intValue: nil) (\"obscurity\").", underlyingError: nil)))) +2024-04-05 11:31:25.761 WARNING: *** NEW LAUNCH *** +2024-04-05 11:31:26.137 Ravens: fetchData ObservationsViewModel +2024-04-05 11:31:29.066 Ravens: Error ObservationsViewModel: responseSerializationFailed(reason: Alamofire.AFError.ResponseSerializationFailureReason.decodingFailed(error: Swift.DecodingError.keyNotFound(CodingKeys(stringValue: "embargo_date", intValue: nil), Swift.DecodingError.Context(codingPath: [CodingKeys(stringValue: "results", intValue: nil), _JSONKey(stringValue: "Index 0", intValue: 0)], debugDescription: "No value associated with key CodingKeys(stringValue: \"embargo_date\", intValue: nil) (\"embargo_date\").", underlyingError: nil)))) +2024-04-05 11:31:49.506 WARNING: *** NEW LAUNCH *** +2024-04-05 11:31:49.870 Ravens: fetchData ObservationsViewModel +2024-04-05 11:31:53.205 Ravens: Error ObservationsViewModel: responseSerializationFailed(reason: Alamofire.AFError.ResponseSerializationFailureReason.decodingFailed(error: Swift.DecodingError.keyNotFound(CodingKeys(stringValue: "user_detail", intValue: nil), Swift.DecodingError.Context(codingPath: [CodingKeys(stringValue: "results", intValue: nil), _JSONKey(stringValue: "Index 0", intValue: 0)], debugDescription: "No value associated with key CodingKeys(stringValue: \"user_detail\", intValue: nil) (\"user_detail\").", underlyingError: nil)))) +2024-04-05 11:33:22.255 WARNING: *** NEW LAUNCH *** +2024-04-05 11:33:22.648 Ravens: fetchData ObservationsViewModel +2024-04-05 11:33:26.301 Ravens: Error ObservationsViewModel: responseSerializationFailed(reason: Alamofire.AFError.ResponseSerializationFailureReason.decodingFailed(error: Swift.DecodingError.keyNotFound(CodingKeys(stringValue: "modified", intValue: nil), Swift.DecodingError.Context(codingPath: [CodingKeys(stringValue: "results", intValue: nil), _JSONKey(stringValue: "Index 0", intValue: 0)], debugDescription: "No value associated with key CodingKeys(stringValue: \"modified\", intValue: nil) (\"modified\").", underlyingError: nil)))) +2024-04-05 11:33:49.335 WARNING: *** NEW LAUNCH *** +2024-04-05 11:33:49.701 Ravens: fetchData ObservationsViewModel +2024-04-05 11:33:52.760 Ravens: Error ObservationsViewModel: responseSerializationFailed(reason: Alamofire.AFError.ResponseSerializationFailureReason.decodingFailed(error: Swift.DecodingError.keyNotFound(CodingKeys(stringValue: "species_group", intValue: nil), Swift.DecodingError.Context(codingPath: [CodingKeys(stringValue: "results", intValue: nil), _JSONKey(stringValue: "Index 0", intValue: 0)], debugDescription: "No value associated with key CodingKeys(stringValue: \"species_group\", intValue: nil) (\"species_group\").", underlyingError: nil)))) +2024-04-05 11:35:08.404 WARNING: *** NEW LAUNCH *** +2024-04-05 11:35:08.807 Ravens: fetchData ObservationsViewModel +2024-04-05 11:35:12.232 Ravens: Error ObservationsViewModel: responseSerializationFailed(reason: Alamofire.AFError.ResponseSerializationFailureReason.decodingFailed(error: Swift.DecodingError.keyNotFound(CodingKeys(stringValue: "location", intValue: nil), Swift.DecodingError.Context(codingPath: [CodingKeys(stringValue: "results", intValue: nil), _JSONKey(stringValue: "Index 0", intValue: 0)], debugDescription: "No value associated with key CodingKeys(stringValue: \"location\", intValue: nil) (\"location\").", underlyingError: nil)))) +2024-04-05 11:36:07.929 WARNING: *** NEW LAUNCH *** +2024-04-05 11:36:08.326 Ravens: fetchData ObservationsViewModel +2024-04-05 11:36:11.821 Ravens: Error ObservationsViewModel: responseSerializationFailed(reason: Alamofire.AFError.ResponseSerializationFailureReason.decodingFailed(error: Swift.DecodingError.keyNotFound(CodingKeys(stringValue: "location", intValue: nil), Swift.DecodingError.Context(codingPath: [CodingKeys(stringValue: "results", intValue: nil), _JSONKey(stringValue: "Index 0", intValue: 0)], debugDescription: "No value associated with key CodingKeys(stringValue: \"location\", intValue: nil) (\"location\").", underlyingError: nil)))) +2024-04-05 11:36:34.108 WARNING: *** NEW LAUNCH *** +2024-04-05 11:36:34.495 Ravens: fetchData ObservationsViewModel +2024-04-05 11:36:37.995 Ravens: Error ObservationsViewModel: responseSerializationFailed(reason: Alamofire.AFError.ResponseSerializationFailureReason.decodingFailed(error: Swift.DecodingError.keyNotFound(CodingKeys(stringValue: "photos", intValue: nil), Swift.DecodingError.Context(codingPath: [CodingKeys(stringValue: "results", intValue: nil), _JSONKey(stringValue: "Index 0", intValue: 0)], debugDescription: "No value associated with key CodingKeys(stringValue: \"photos\", intValue: nil) (\"photos\").", underlyingError: nil)))) +2024-04-05 11:40:38.416 WARNING: *** NEW LAUNCH *** +2024-04-05 11:40:38.914 Ravens: fetchData ObservationsViewModel +2024-04-05 11:40:45.613 Ravens: fetchData ObservationsViewModel +2024-04-05 11:42:22.975 WARNING: *** NEW LAUNCH *** +2024-04-05 11:42:23.384 Ravens: fetchData ObservationsViewModel +2024-04-05 11:45:24.431 WARNING: *** NEW LAUNCH *** +2024-04-05 11:45:24.847 Ravens: fetchData ObservationsViewModel +2024-04-05 11:45:30.097 Ravens: fetchData ObservationsViewModel +2024-04-05 11:46:34.490 WARNING: *** NEW LAUNCH *** +2024-04-05 11:46:34.874 Ravens: fetchData ObservationsViewModel +2024-04-05 11:47:08.916 WARNING: *** NEW LAUNCH *** +2024-04-05 11:47:09.298 Ravens: fetchData ObservationsViewModel +2024-04-05 11:47:13.748 Ravens: fetchData ObservationsViewModel +2024-04-05 11:47:34.378 WARNING: *** NEW LAUNCH *** +2024-04-05 11:47:34.727 Ravens: fetchData ObservationsViewModel +2024-04-05 11:47:36.490 Ravens: fetchData ObservationsViewModel +2024-04-05 11:48:41.262 WARNING: *** NEW LAUNCH *** +2024-04-05 11:48:41.628 Ravens: fetchData ObservationsViewModel +2024-04-05 11:48:46.556 Ravens: fetchData ObservationsViewModel +2024-04-05 11:50:41.615 WARNING: *** NEW LAUNCH *** +2024-04-05 11:50:41.968 Ravens: fetchData ObservationsViewModel +2024-04-05 11:50:46.973 Ravens: fetchData ObservationsViewModel +2024-04-05 11:52:53.636 WARNING: *** NEW LAUNCH *** +2024-04-05 11:52:54.186 Ravens: fetchData ObservationsViewModel +2024-04-05 11:54:02.032 WARNING: *** NEW LAUNCH *** +2024-04-05 11:54:02.457 Ravens: fetchData ObservationsViewModel +2024-04-05 11:54:16.542 Ravens: fetchData ObservationsViewModel +2024-04-05 11:54:17.209 Ravens: fetchData ObservationsViewModel +2024-04-05 11:54:44.110 Ravens: fetchData ObservationsUserViewModel limit: 100 offset: 0 +2024-04-05 11:54:44.113 Ravens: https://waarneming.nl/api/v1/user/observations/?limit=100&offset=0 +2024-04-05 11:54:46.821 Ravens: https://waarneming.nl/api/v1/user/info/ +2024-04-05 11:57:06.750 WARNING: *** NEW LAUNCH *** +2024-04-05 11:57:07.269 Ravens: fetchData ObservationsViewModel +2024-04-05 11:58:26.680 WARNING: *** NEW LAUNCH *** +2024-04-05 11:58:27.056 Ravens: fetchData ObservationsViewModel +2024-04-05 12:00:30.827 WARNING: *** NEW LAUNCH *** +2024-04-05 12:00:31.425 Ravens: fetchData ObservationsViewModel +2024-04-05 12:01:09.342 WARNING: *** NEW LAUNCH *** +2024-04-05 12:01:09.719 Ravens: fetchData ObservationsViewModel +2024-04-05 12:04:32.343 WARNING: *** NEW LAUNCH *** +2024-04-05 12:04:32.759 Ravens: fetchData ObservationsViewModel +2024-04-05 12:05:32.938 WARNING: *** NEW LAUNCH *** +2024-04-05 12:05:33.332 Ravens: fetchData ObservationsViewModel +2024-04-05 12:05:38.354 Ravens: fetchData ObservationsViewModel +2024-04-05 12:06:15.972 WARNING: *** NEW LAUNCH *** +2024-04-05 12:06:16.337 Ravens: fetchData ObservationsViewModel +2024-04-05 12:06:36.901 WARNING: *** NEW LAUNCH *** +2024-04-05 12:06:37.255 Ravens: fetchData ObservationsViewModel +2024-04-05 12:07:00.680 Ravens: fetchData ObservationsViewModel +2024-04-05 12:08:23.690 WARNING: *** NEW LAUNCH *** +2024-04-05 12:08:24.063 Ravens: fetchData ObservationsViewModel +2024-04-05 12:08:30.041 Ravens: fetchData ObservationsViewModel +2024-04-05 12:12:16.502 WARNING: *** NEW LAUNCH *** +2024-04-05 12:12:16.904 Ravens: fetchData ObservationsViewModel +2024-04-05 12:12:37.769 WARNING: *** NEW LAUNCH *** +2024-04-05 12:12:38.203 Ravens: fetchData ObservationsViewModel +2024-04-05 12:13:08.136 WARNING: *** NEW LAUNCH *** +2024-04-05 12:13:08.564 Ravens: fetchData ObservationsViewModel +2024-04-05 12:14:16.886 WARNING: *** NEW LAUNCH *** +2024-04-05 12:14:17.382 Ravens: fetchData ObservationsViewModel +2024-04-05 12:17:15.283 WARNING: *** NEW LAUNCH *** +2024-04-05 12:17:15.655 Ravens: fetchData ObservationsViewModel +2024-04-05 12:17:17.207 Ravens: fetchData ObservationsViewModel +2024-04-05 12:17:31.584 Ravens: fetchData ObservationsViewModel +2024-04-05 12:17:32.546 Ravens: fetchData ObservationsViewModel +2024-04-05 12:17:41.851 Ravens: fetchData ObservationsViewModel +2024-04-05 12:22:17.434 WARNING: *** NEW LAUNCH *** +2024-04-05 12:22:17.934 Ravens: fetchData ObservationsViewModel +2024-04-05 12:23:44.260 WARNING: *** NEW LAUNCH *** +2024-04-05 12:23:44.977 Ravens: fetchData ObservationsViewModel +2024-04-05 12:23:56.601 WARNING: *** NEW LAUNCH *** +2024-04-05 12:23:56.958 Ravens: fetchData ObservationsViewModel +2024-04-05 12:24:39.096 WARNING: *** NEW LAUNCH *** +2024-04-05 12:24:39.463 Ravens: fetchData ObservationsViewModel +2024-04-05 12:26:41.637 WARNING: *** NEW LAUNCH *** +2024-04-05 12:26:42.017 Ravens: fetchData ObservationsViewModel +2024-04-05 12:30:15.015 WARNING: *** NEW LAUNCH *** +2024-04-05 12:30:15.568 Ravens: fetchData ObservationsViewModel +2024-04-05 12:30:24.561 Ravens: fetchData ObservationsViewModel +2024-04-05 12:30:47.751 Ravens: fetchData ObservationsViewModel +2024-04-05 12:30:48.759 Ravens: fetchData ObservationsViewModel +2024-04-05 12:31:32.194 Ravens: fetchData ObservationsUserViewModel limit: 100 offset: 0 +2024-04-05 12:31:32.199 Ravens: https://waarneming.nl/api/v1/user/observations/?limit=100&offset=0 +2024-04-05 12:31:45.871 WARNING: *** NEW LAUNCH *** +2024-04-05 12:31:46.242 Ravens: fetchData ObservationsViewModel +2024-04-05 12:31:58.595 WARNING: *** NEW LAUNCH *** +2024-04-05 12:31:58.948 Ravens: fetchData ObservationsViewModel +2024-04-05 12:38:24.093 WARNING: *** NEW LAUNCH *** +2024-04-05 12:38:24.651 Ravens: fetchData ObservationsViewModel +2024-04-05 12:42:03.757 WARNING: *** NEW LAUNCH *** +2024-04-05 12:42:04.218 Ravens: fetchData ObservationsViewModel +2024-04-05 12:43:15.231 WARNING: *** NEW LAUNCH *** +2024-04-05 12:43:15.748 Ravens: fetchData ObservationsViewModel +2024-04-05 12:51:23.523 WARNING: *** NEW LAUNCH *** +2024-04-05 12:51:24.066 Ravens: fetchData ObservationsViewModel +2024-04-05 12:51:29.438 Ravens: fetchData ObservationsViewModel +2024-04-05 12:51:39.498 Ravens: fetchData ObservationsUserViewModel limit: 100 offset: 0 +2024-04-05 12:51:39.503 Ravens: https://waarneming.nl/api/v1/user/observations/?limit=100&offset=0 +2024-04-05 12:51:40.701 Ravens: https://waarneming.nl/api/v1/user/info/ +2024-04-05 12:56:48.182 WARNING: *** NEW LAUNCH *** +2024-04-05 12:56:48.569 Ravens: fetchData ObservationsViewModel +2024-04-05 12:59:17.739 WARNING: *** NEW LAUNCH *** +2024-04-05 12:59:18.145 Ravens: fetchData ObservationsViewModel +2024-04-05 13:00:01.873 WARNING: *** NEW LAUNCH *** +2024-04-05 13:00:02.261 Ravens: fetchData ObservationsViewModel +2024-04-05 13:00:27.970 WARNING: *** NEW LAUNCH *** +2024-04-05 13:00:28.326 Ravens: fetchData ObservationsViewModel +2024-04-05 13:01:48.617 WARNING: *** NEW LAUNCH *** +2024-04-05 13:01:49.018 Ravens: fetchData ObservationsViewModel +2024-04-05 13:02:44.559 WARNING: *** NEW LAUNCH *** +2024-04-05 13:02:44.941 Ravens: fetchData ObservationsViewModel +2024-04-05 13:12:44.994 WARNING: *** NEW LAUNCH *** +2024-04-05 13:12:45.754 Ravens: fetchData ObservationsViewModel +2024-04-05 13:19:22.195 WARNING: *** NEW LAUNCH *** +2024-04-05 13:19:22.712 Ravens: fetchData ObservationsViewModel +2024-04-05 13:24:30.816 WARNING: *** NEW LAUNCH *** +2024-04-05 13:24:31.436 Ravens: fetchData ObservationsViewModel +2024-04-05 13:32:11.585 WARNING: *** NEW LAUNCH *** +2024-04-05 13:32:12.556 Ravens: fetchData ObservationsViewModel +2024-04-05 13:39:55.396 WARNING: *** NEW LAUNCH *** +2024-04-05 13:39:56.022 Ravens: fetchData ObservationsViewModel +2024-04-05 13:40:22.386 WARNING: *** NEW LAUNCH *** +2024-04-05 13:40:22.748 Ravens: fetchData ObservationsViewModel +2024-04-05 13:40:25.988 Ravens: fetchData ObservationsViewModel +2024-04-05 14:02:44.410 WARNING: *** NEW LAUNCH *** +2024-04-05 14:02:44.974 Ravens: fetchData ObservationsViewModel +2024-04-05 14:03:28.531 WARNING: *** NEW LAUNCH *** +2024-04-05 14:03:29.068 Ravens: fetchData ObservationsViewModel +2024-04-05 14:03:39.907 WARNING: *** NEW LAUNCH *** +2024-04-05 14:03:40.284 Ravens: fetchData ObservationsViewModel +2024-04-05 14:03:51.196 Ravens: fetchData ObservationsUserViewModel limit: 100 offset: 0 +2024-04-05 14:03:51.200 Ravens: https://waarneming.nl/api/v1/user/observations/?limit=100&offset=0 +2024-04-05 14:03:52.623 Ravens: https://waarneming.nl/api/v1/user/info/ +2024-04-05 14:03:58.371 Ravens: fetchData ObservationsViewModel +2024-04-05 14:03:59.674 Ravens: fetchData ObservationsViewModel +2024-04-05 14:06:28.186 Ravens: Error ObservationsSpeciesViewModel decoding JSON: keyNotFound(CodingKeys(stringValue: "results", intValue: nil), Swift.DecodingError.Context(codingPath: [], debugDescription: "No value associated with key CodingKeys(stringValue: \"results\", intValue: nil) (\"results\").", underlyingError: nil)) +2024-04-05 14:06:28.231 Ravens: https://waarneming.nl/api/v1/species/2/observations/?date_after=2024-03-31&date_before=2024-04-05&limit=100 +2024-04-05 14:06:41.305 Ravens: Error ObservationsSpeciesViewModel decoding JSON: keyNotFound(CodingKeys(stringValue: "results", intValue: nil), Swift.DecodingError.Context(codingPath: [], debugDescription: "No value associated with key CodingKeys(stringValue: \"results\", intValue: nil) (\"results\").", underlyingError: nil)) +2024-04-05 14:06:41.323 Ravens: https://waarneming.nl/api/v1/species/2/observations/?date_after=2024-03-31&date_before=2024-04-05&limit=100 +2024-04-05 14:06:43.056 Ravens: Error ObservationsSpeciesViewModel decoding JSON: keyNotFound(CodingKeys(stringValue: "results", intValue: nil), Swift.DecodingError.Context(codingPath: [], debugDescription: "No value associated with key CodingKeys(stringValue: \"results\", intValue: nil) (\"results\").", underlyingError: nil)) +2024-04-05 14:06:43.062 Ravens: https://waarneming.nl/api/v1/species/2/observations/?date_after=2024-03-31&date_before=2024-04-05&limit=100 +2024-04-05 14:06:45.681 Ravens: Error ObservationsSpeciesViewModel decoding JSON: keyNotFound(CodingKeys(stringValue: "results", intValue: nil), Swift.DecodingError.Context(codingPath: [], debugDescription: "No value associated with key CodingKeys(stringValue: \"results\", intValue: nil) (\"results\").", underlyingError: nil)) +2024-04-05 14:06:45.687 Ravens: https://waarneming.nl/api/v1/species/2/observations/?date_after=2024-03-31&date_before=2024-04-05&limit=100 +2024-04-05 14:07:01.244 Ravens: Error ObservationsSpeciesViewModel decoding JSON: keyNotFound(CodingKeys(stringValue: "results", intValue: nil), Swift.DecodingError.Context(codingPath: [], debugDescription: "No value associated with key CodingKeys(stringValue: \"results\", intValue: nil) (\"results\").", underlyingError: nil)) +2024-04-05 14:07:01.250 Ravens: https://waarneming.nl/api/v1/species/2/observations/?date_after=2024-03-31&date_before=2024-04-05&limit=100 +2024-04-05 14:07:09.116 WARNING: *** NEW LAUNCH *** +2024-04-05 14:07:09.727 Ravens: fetchData ObservationsViewModel +2024-04-05 14:13:40.637 WARNING: *** NEW LAUNCH *** +2024-04-05 14:13:41.189 Ravens: fetchData ObservationsViewModel +2024-04-05 14:14:29.975 Ravens: fetchData ObservationsUserViewModel limit: 100 offset: 0 +2024-04-05 14:14:29.980 Ravens: https://waarneming.nl/api/v1/user/observations/?limit=100&offset=0 +2024-04-05 14:14:32.464 Ravens: https://waarneming.nl/api/v1/user/info/ +2024-04-05 14:14:40.571 Ravens: fetchData ObservationsUserViewModel limit: 100 offset: 0 +2024-04-05 14:14:40.575 Ravens: https://waarneming.nl/api/v1/user/observations/?limit=100&offset=0 +2024-04-05 14:14:48.233 Ravens: fetchData ObservationsViewModel +2024-04-05 14:14:53.394 Ravens: fetchData ObservationsUserViewModel limit: 100 offset: 0 +2024-04-05 14:14:53.398 Ravens: https://waarneming.nl/api/v1/user/observations/?limit=100&offset=0 +2024-04-05 14:15:36.965 WARNING: *** NEW LAUNCH *** +2024-04-05 14:15:37.343 Ravens: fetchData ObservationsViewModel +2024-04-05 14:15:42.147 Ravens: fetchData ObservationsUserViewModel limit: 100 offset: 0 +2024-04-05 14:15:42.151 Ravens: https://waarneming.nl/api/v1/user/observations/?limit=100&offset=0 +2024-04-05 14:15:44.264 Ravens: fetchData ObservationsViewModel +2024-04-05 14:15:58.560 WARNING: *** NEW LAUNCH *** +2024-04-05 14:15:58.920 Ravens: fetchData ObservationsViewModel +2024-04-05 14:16:00.958 Ravens: fetchData ObservationsUserViewModel limit: 100 offset: 0 +2024-04-05 14:16:00.962 Ravens: https://waarneming.nl/api/v1/user/observations/?limit=100&offset=0 +2024-04-05 14:16:13.387 WARNING: *** NEW LAUNCH *** +2024-04-05 14:16:13.762 Ravens: fetchData ObservationsViewModel +2024-04-05 14:16:16.094 Ravens: fetchData ObservationsUserViewModel limit: 100 offset: 0 +2024-04-05 14:16:16.098 Ravens: https://waarneming.nl/api/v1/user/observations/?limit=100&offset=0 +2024-04-05 14:16:18.435 Ravens: fetchData ObservationsViewModel +2024-04-05 14:19:58.295 WARNING: *** NEW LAUNCH *** +2024-04-05 14:19:58.688 Ravens: fetchData ObservationsViewModel +2024-04-05 14:21:02.138 WARNING: *** NEW LAUNCH *** +2024-04-05 14:21:02.520 Ravens: fetchData ObservationsViewModel +2024-04-05 14:21:06.008 Ravens: fetchData ObservationsViewModel +2024-04-05 14:24:52.822 WARNING: *** NEW LAUNCH *** +2024-04-05 14:24:53.201 Ravens: fetchData ObservationsViewModel +2024-04-05 14:24:54.833 Ravens: fetchData ObservationsViewModel +2024-04-05 14:27:18.526 WARNING: *** NEW LAUNCH *** +2024-04-05 14:27:18.913 Ravens: fetchData ObservationsViewModel +2024-04-05 14:27:26.349 Ravens: fetchData ObservationsUserViewModel limit: 100 offset: 0 +2024-04-05 14:27:26.354 Ravens: https://waarneming.nl/api/v1/user/observations/?limit=100&offset=0 +2024-04-05 14:27:27.575 Ravens: https://waarneming.nl/api/v1/user/info/ +2024-04-05 14:33:23.909 WARNING: *** NEW LAUNCH *** +2024-04-05 14:33:24.362 Ravens: fetchData ObservationsViewModel +2024-04-05 14:33:27.132 Ravens: fetchData ObservationsViewModel +2024-04-05 14:34:14.478 WARNING: *** NEW LAUNCH *** +2024-04-05 14:34:14.834 Ravens: fetchData ObservationsViewModel +2024-04-05 14:36:14.431 WARNING: *** NEW LAUNCH *** +2024-04-05 14:36:14.917 Ravens: fetchData ObservationsViewModel +2024-04-05 14:36:55.685 WARNING: *** NEW LAUNCH *** +2024-04-05 14:36:56.046 Ravens: fetchData ObservationsViewModel +2024-04-05 14:37:38.387 Ravens: fetchData ObservationsUserViewModel limit: 100 offset: 0 +2024-04-05 14:37:38.392 Ravens: https://waarneming.nl/api/v1/user/observations/?limit=100&offset=0 +2024-04-05 14:41:55.567 WARNING: *** NEW LAUNCH *** +2024-04-05 14:41:55.968 Ravens: fetchData ObservationsViewModel +2024-04-05 14:45:29.973 WARNING: *** NEW LAUNCH *** +2024-04-05 14:45:30.371 Ravens: fetchData ObservationsViewModel +2024-04-05 14:47:24.335 WARNING: *** NEW LAUNCH *** +2024-04-05 14:47:24.725 Ravens: fetchData ObservationsViewModel +2024-04-05 14:48:16.642 WARNING: *** NEW LAUNCH *** +2024-04-05 14:48:17.037 Ravens: fetchData ObservationsViewModel +2024-04-05 14:49:41.644 WARNING: *** NEW LAUNCH *** +2024-04-05 14:49:42.033 Ravens: fetchData ObservationsViewModel +2024-04-05 14:49:46.070 Ravens: Error ObservationsLocationViewModel decoding JSON: keyNotFound(CodingKeys(stringValue: "results", intValue: nil), Swift.DecodingError.Context(codingPath: [], debugDescription: "No value associated with key CodingKeys(stringValue: \"results\", intValue: nil) (\"results\").", underlyingError: nil)) +2024-04-05 14:49:46.074 Ravens: https://waarneming.nl/api/v1/locations/0/observations/?species_group=1 +2024-04-05 14:49:52.555 Ravens: fetchData ObservationsViewModel +2024-04-05 14:49:54.089 Ravens: fetchData ObservationsViewModel +2024-04-05 14:50:28.585 WARNING: *** NEW LAUNCH *** +2024-04-05 14:50:28.954 Ravens: fetchData ObservationsViewModel +2024-04-05 14:50:40.905 Ravens: fetchData ObservationsUserViewModel limit: 100 offset: 0 +2024-04-05 14:50:40.910 Ravens: https://waarneming.nl/api/v1/user/observations/?limit=100&offset=0 +2024-04-05 14:50:42.792 Ravens: https://waarneming.nl/api/v1/user/info/ +2024-04-05 14:52:52.186 WARNING: *** NEW LAUNCH *** +2024-04-05 14:52:52.574 Ravens: fetchData ObservationsViewModel +2024-04-05 14:53:38.892 WARNING: *** NEW LAUNCH *** +2024-04-05 14:53:39.258 Ravens: fetchData ObservationsViewModel +2024-04-05 14:55:56.997 WARNING: *** NEW LAUNCH *** +2024-04-05 14:55:57.362 Ravens: fetchData ObservationsViewModel +2024-04-05 14:56:03.690 Ravens: 0 +2024-04-05 14:57:15.908 WARNING: *** NEW LAUNCH *** +2024-04-05 14:57:16.255 Ravens: fetchData ObservationsViewModel +2024-04-05 14:57:19.771 Ravens: 100 +2024-04-05 15:00:34.153 WARNING: *** NEW LAUNCH *** +2024-04-05 15:00:34.535 Ravens: fetchData ObservationsViewModel +2024-04-05 15:00:39.400 Ravens: URL https://waarneming.nl/api/v1/locations/133746/observations/?species_group=1 +2024-04-05 15:04:49.657 WARNING: *** NEW LAUNCH *** +2024-04-05 15:04:50.052 Ravens: fetchData ObservationsViewModel +2024-04-05 15:04:57.775 Ravens: fetchData ObservationsViewModel +2024-04-05 15:05:09.231 Ravens: URL https://waarneming.nl/api/v1/locations/133746/observations/?species_group=1 +2024-04-05 15:05:14.184 Ravens: URL https://waarneming.nl/api/v1/locations/133746/observations/?species_group=1 +2024-04-05 15:36:01.293 WARNING: *** NEW LAUNCH *** +2024-04-05 15:36:02.014 Ravens: fetchData ObservationsViewModel +2024-04-05 15:36:58.465 WARNING: *** NEW LAUNCH *** +2024-04-05 15:36:59.066 Ravens: fetchData ObservationsViewModel +2024-04-05 15:37:01.521 Ravens: URL https://waarneming.nl/api/v1/locations/133746/observations/?species_group=1 +2024-04-05 15:37:21.156 WARNING: *** NEW LAUNCH *** +2024-04-05 15:37:21.523 Ravens: fetchData ObservationsViewModel +2024-04-05 15:37:32.148 Ravens: URL https://waarneming.nl/api/v1/locations/133746/observations/?species_group=1 +2024-04-05 15:37:45.623 WARNING: *** NEW LAUNCH *** +2024-04-05 15:37:46.002 Ravens: fetchData ObservationsViewModel +2024-04-05 15:37:48.878 Ravens: URL https://waarneming.nl/api/v1/locations/133746/observations/?species_group=1 +2024-04-05 15:38:13.171 WARNING: *** NEW LAUNCH *** +2024-04-05 15:38:13.528 Ravens: fetchData ObservationsViewModel +2024-04-05 15:38:15.246 Ravens: URL https://waarneming.nl/api/v1/locations/133746/observations/?species_group=1 +2024-04-05 15:40:02.413 WARNING: *** NEW LAUNCH *** +2024-04-05 15:40:03.022 Ravens: fetchData ObservationsViewModel +2024-04-05 15:40:17.890 Ravens: URL https://waarneming.nl/api/v1/locations/133746/observations/?species_group=1 +2024-04-05 15:40:48.099 WARNING: *** NEW LAUNCH *** +2024-04-05 15:40:48.502 Ravens: fetchData ObservationsViewModel +2024-04-05 15:40:50.210 Ravens: URL https://waarneming.nl/api/v1/locations/133746/observations/?species_group=1 +2024-04-05 15:41:58.662 WARNING: *** NEW LAUNCH *** +2024-04-05 15:41:59.058 Ravens: fetchData ObservationsViewModel +2024-04-05 15:42:00.831 Ravens: URL https://waarneming.nl/api/v1/locations/133746/observations/?species_group=1 +2024-04-05 15:42:12.576 WARNING: *** NEW LAUNCH *** +2024-04-05 15:42:12.999 Ravens: fetchData ObservationsViewModel +2024-04-05 15:42:14.582 Ravens: URL https://waarneming.nl/api/v1/locations/133746/observations/?species_group=1 +2024-04-05 15:44:23.909 WARNING: *** NEW LAUNCH *** +2024-04-05 15:44:24.327 Ravens: fetchData ObservationsViewModel +2024-04-05 15:44:26.198 Ravens: URL https://waarneming.nl/api/v1/locations/133746/observations/?species_group=1 +2024-04-05 15:45:25.214 WARNING: *** NEW LAUNCH *** +2024-04-05 15:45:25.566 Ravens: fetchData ObservationsViewModel +2024-04-05 15:45:26.961 Ravens: URL https://waarneming.nl/api/v1/locations/133746/observations/?species_group=1 +2024-04-05 15:45:45.912 WARNING: *** NEW LAUNCH *** +2024-04-05 15:45:46.249 Ravens: fetchData ObservationsViewModel +2024-04-05 15:46:05.303 WARNING: *** NEW LAUNCH *** +2024-04-05 15:46:05.645 Ravens: fetchData ObservationsViewModel +2024-04-05 15:46:30.677 WARNING: *** NEW LAUNCH *** +2024-04-05 15:46:31.003 Ravens: fetchData ObservationsViewModel +2024-04-05 15:46:50.355 WARNING: *** NEW LAUNCH *** +2024-04-05 15:46:50.715 Ravens: fetchData ObservationsViewModel +2024-04-05 15:46:56.001 Ravens: URL https://waarneming.nl/api/v1/locations/133746/observations/?species_group=1 +2024-04-05 15:47:49.030 WARNING: *** NEW LAUNCH *** +2024-04-05 15:47:49.446 Ravens: fetchData ObservationsViewModel +2024-04-05 15:47:51.400 Ravens: URL https://waarneming.nl/api/v1/locations/133746/observations/?species_group=1