You don’t use the library as it’s shown in the example (testing the output of gps.encode() to see if the sentence was complete before calling the library functions)
judging by this line, there are problems with receiving data in your sketch. The string shown consists a mess of three GPGGA strings.
It's amazing that you even show lat and lon.
Show the whole code.
If I add this interrupt handler - nothing ist retourned (I think this is caused be lack of interrupts on the Uno). Using AltSoftSerial returns no results and SoftwareSerial is not useable due to conflicts with other libraries.
You don't need to handle newlines in any specific way. Just read all the chars from port and put it in gps.encode() method. For works correctly, your code shouldn't contains any delays more than 5-10ms.
if you want further help - show the whole code, without the code there is nothing to talk about.
That doesn't look right. It includes two full latitudes:
4801.98814,N and 4801.98826,N
Two partial longitudes:
01108. and 01109.13744,E
And some other value twice:
044846.00 and 044846.00
Something is very wrong with the input. Maybe one of the devices has a clock that is slightly off so it is getting errors on a lot of characters?
It is why I told you show the whole code. But you showed only "relevant part" and were sure that there were no problems in the rest of it. Typical newbie mistake.