@@ -3,7 +3,7 @@ import path from "path";
33import { fileURLToPath } from "url" ;
44import { loadJsonFileSync } from "load-json-file" ;
55import { writeJsonFileSync } from "write-json-file" ;
6- import { directionalMean } from "./index.js" ;
6+ import { directionalMean , DirectionalMeanLine } from "./index.js" ;
77import { truncate } from "@turf/truncate" ;
88
99const __dirname = path . dirname ( fileURLToPath ( import . meta. url ) ) ;
@@ -45,28 +45,28 @@ test("turf-directional-mean", (t) => {
4545 planar : true ,
4646 segment : false ,
4747 } ) ;
48- truncate ( utmResult1 , { mutate : true , precision : 8 } ) ;
48+ trunc ( utmResult1 ) ;
4949 t . deepEqual ( utmResult1 , loadJsonFileSync ( outUtmJsonPath1 ) , "utm" ) ;
5050 // utm segment
5151 let utmResult2 = directionalMean ( utmGeojson , {
5252 planar : true ,
5353 segment : true ,
5454 } ) ;
55- truncate ( utmResult2 , { mutate : true , precision : 8 } ) ;
55+ trunc ( utmResult2 ) ;
5656 t . deepEqual ( utmResult2 , loadJsonFileSync ( outUtmJsonPath2 ) , "utm segment" ) ;
5757
5858 // gps
5959 let gpsResult1 = directionalMean ( gpsGeojson , {
6060 planar : false ,
6161 } ) ;
62- truncate ( gpsResult1 , { mutate : true , precision : 8 } ) ;
62+ trunc ( gpsResult1 ) ;
6363 t . deepEqual ( gpsResult1 , loadJsonFileSync ( outGpsJsonPath1 ) , "gps" ) ;
6464 // gps segment
6565 let gpsResult2 = directionalMean ( gpsGeojson , {
6666 planar : false ,
6767 segment : true ,
6868 } ) ;
69- truncate ( gpsResult2 , { mutate : true , precision : 8 } ) ;
69+ trunc ( gpsResult2 ) ;
7070 t . deepEqual ( gpsResult2 , loadJsonFileSync ( outGpsJsonPath2 ) , "gps segment" ) ;
7171
7272 if ( process . env . REGEN ) {
@@ -78,3 +78,18 @@ test("turf-directional-mean", (t) => {
7878
7979 t . end ( ) ;
8080} ) ;
81+
82+ function trunc ( d : DirectionalMeanLine ) {
83+ truncate ( d , { mutate : true , precision : 8 } ) ;
84+
85+ const f = Math . pow ( 10 , 10 ) ;
86+ const props : ( keyof typeof d . properties ) [ ] = [
87+ "cartesianAngle" ,
88+ "bearingAngle" ,
89+ "circularVariance" ,
90+ ] ;
91+
92+ for ( const k of props ) {
93+ d . properties [ k ] = Math . round ( d . properties [ k ] * f ) / f ;
94+ }
95+ }
0 commit comments