2017-01-16 1 views

Répondre

0

Tracez la ligne en utilisant vos deux points en utilisant turf.lineSlice. Cela renverra une nouvelle ligne qui ne comprend que les sections sur la ligne entre vos deux points. Ensuite, vous pouvez utiliser turf.lineDistance pour calculer la distance de cette ligne tranchée.

var line = { 
    "type": "FeatureCollection", 
    "features": [ 
    { 
     "type": "Feature", 
     "properties": {}, 
     "geometry": { 
     "type": "LineString", 
     "coordinates": [ 
      [4.0155029296875, 40.18726672309203 ], 
      [4.0814208984375, 40.195659093364654 ], 
      [4.15283203125, 40.19146303804063 ], 
      [4.185791015625, 40.17887331434696 ], 
      [4.2242431640625, 40.15788524950653 ], 
      [4.273681640625, 40.111688665595956 ], 
      [4.3011474609375, 40.06125658140474 ], 
      [4.290161132812499, 40.02340800226773 ], 
      [4.3341064453125, 39.97291055131899 ], 
      [4.4000244140625, 39.96870074491696 ], 
      [4.4659423828125, 39.977120098439634 ], 
      [4.531860351562499, 40.002371935876475 ], 
      [4.5648193359375, 40.052847601823984 ], 
      [4.5648193359375, 40.11588965267845 ] 
     ] 
     } 
    } 
    ] 
}; 

var start = { 
    "type": "Feature", 
    "properties": {}, 
    "geometry": { 
    "type": "Point", 
    "coordinates": [4.2400360107421875, 40.143189742924406 ] 
    } 
}; 
var stop = { 
    "type": "Feature", 
    "properties": {}, 
    "geometry": { 
    "type": "Point", 
    "coordinates": [4.3059539794921875, 40.00815750046493 ] 
    } 
}; 

var sliced = turf.lineSlice(start, stop, line.features[0]); 
var length = turf.lineDistance(sliced, 'kilometers'); 
+0

Merci beaucoup! De Ushuaia, Argentine :) –