@@ -18,7 +18,7 @@ public class InMemoryElevationProvider : IElevationProvider
1818 {
1919 private readonly ILogger < InMemoryElevationProvider > _logger ;
2020 private readonly IFileProvider _fileProvider ;
21- private readonly ConcurrentDictionary < Coordinate , Task < BytesAndSamples > > _initializationTaskPerLatLng ;
21+ private readonly ConcurrentDictionary < string , Task < BytesAndSamples > > _initializationTaskPerLatLng ;
2222
2323 /// <summary>
2424 /// Constructor
@@ -50,7 +50,7 @@ public async Task Initialize()
5050 continue ;
5151 }
5252 var key = ElevationHelper . FileNameToKey ( hgtFile . Name ) ;
53- _initializationTaskPerLatLng [ key ] = Task . Run ( ( ) =>
53+ _initializationTaskPerLatLng [ key . ToString ( ) ] = Task . Run ( ( ) =>
5454 {
5555 var stream = hgtFile . CreateReadStream ( ) ;
5656 using var memoryStream = new MemoryStream ( ) ;
@@ -71,14 +71,14 @@ public async Task<double[]> GetElevation(double[][] latLngs)
7171 foreach ( var latLng in latLngs )
7272 {
7373 var key = new Coordinate ( Math . Floor ( latLng [ 0 ] ) , Math . Floor ( latLng [ 1 ] ) ) ;
74- if ( _initializationTaskPerLatLng . ContainsKey ( key ) == false )
74+ if ( _initializationTaskPerLatLng . ContainsKey ( key . ToString ( ) ) == false )
7575 {
7676 _logger . LogWarning ( $ "Unable to find elevation file key: { key } , there are { _initializationTaskPerLatLng . Keys . Count } in the tasks list.") ;
7777 elevation . Add ( 0 ) ;
7878 continue ;
7979 }
8080
81- var info = await _initializationTaskPerLatLng [ key ] ;
81+ var info = await _initializationTaskPerLatLng [ key . ToString ( ) ] ;
8282
8383 var exactLocation = new Coordinate ( Math . Abs ( latLng [ 0 ] - key . X ) * ( info . Samples - 1 ) ,
8484 ( 1 - Math . Abs ( latLng [ 1 ] - key . Y ) ) * ( info . Samples - 1 ) ) ;
0 commit comments