{"id":"v001","input":{"courses":[{"direction":"0","distance":300.0},{"direction":"90","distance":400.02},{"direction":"180","distance":299.95},{"direction":"270.01","distance":400.0}],"adjustment":"compass"},"expect":{"result.sum_latitudes.value":0.11981316972526827,"result.sum_departures.value":0.02000609234841022,"result.misclosure.value":0.1214719694854293,"result.total_length.value":1399.97,"result.precision_ratio":11525.04570338697,"result.adjusted.1.northing.value":5299.97432519917,"result.adjusted.1.easting.value":4999.995712888344,"result.precision":"1:11,525","ok":true},"source":"add-survey-suite scenarios","sourceVersion":"2026","tolerance":{"result.sum_latitudes.value":{"rel":1e-09,"abs":1e-09},"result.sum_departures.value":{"rel":1e-09,"abs":1e-09},"result.misclosure.value":{"rel":1e-09,"abs":1e-09},"result.total_length.value":{"rel":1e-09,"abs":1e-09},"result.precision_ratio":{"rel":1e-09,"abs":1e-09},"result.adjusted.1.northing.value":{"rel":1e-09,"abs":1e-09},"result.adjusted.1.easting.value":{"rel":1e-09,"abs":1e-09}}}
{"id":"v002","input":{"courses":[{"direction":"10.5","distance":500.0},{"direction":"100.25","distance":350.0},{"direction":"190.6","distance":499.8},{"direction":"280.2","distance":350.3}],"adjustment":"compass"},"expect":{"result.sum_latitudes.value":0.10890989513534066,"result.sum_departures.value":-1.1705995855874676,"result.misclosure.value":1.1756550323270605,"result.total_length.value":1700.1,"result.precision_ratio":1446.0874603963264,"result.adjusted.1.northing.value":5491.595423344022,"result.adjusted.1.easting.value":5091.462036490439,"ok":true},"source":"Surveying formulas (Ghilani & Wolf 2018) evaluated in Python (tools/vectors/gen_survey.py)","sourceVersion":"15th edition (2018)","tolerance":{"result.sum_latitudes.value":{"rel":1e-09,"abs":1e-09},"result.sum_departures.value":{"rel":1e-09,"abs":1e-09},"result.misclosure.value":{"rel":1e-09,"abs":1e-09},"result.total_length.value":{"rel":1e-09,"abs":1e-09},"result.precision_ratio":{"rel":1e-09,"abs":1e-09},"result.adjusted.1.northing.value":{"rel":1e-09,"abs":1e-09},"result.adjusted.1.easting.value":{"rel":1e-09,"abs":1e-09}}}
{"id":"v003","input":{"courses":[{"direction":"30","distance":200.0},{"direction":"150","distance":200.05},{"direction":"270.02","distance":199.9}],"adjustment":"compass"},"expect":{"result.sum_latitudes.value":0.026476991888414916,"result.sum_departures.value":0.12501217860429392,"result.misclosure.value":0.1277852726211087,"result.total_length.value":599.95,"result.precision_ratio":4694.985483803671,"result.adjusted.1.northing.value":5173.196254357392,"result.adjusted.1.easting.value":5099.958325800949,"ok":true},"source":"Surveying formulas (Ghilani & Wolf 2018) evaluated in Python (tools/vectors/gen_survey.py)","sourceVersion":"15th edition (2018)","tolerance":{"result.sum_latitudes.value":{"rel":1e-09,"abs":1e-09},"result.sum_departures.value":{"rel":1e-09,"abs":1e-09},"result.misclosure.value":{"rel":1e-09,"abs":1e-09},"result.total_length.value":{"rel":1e-09,"abs":1e-09},"result.precision_ratio":{"rel":1e-09,"abs":1e-09},"result.adjusted.1.northing.value":{"rel":1e-09,"abs":1e-09},"result.adjusted.1.easting.value":{"rel":1e-09,"abs":1e-09}}}
{"id":"v004","input":{"courses":[{"direction":"45","distance":1000.0},{"direction":"135","distance":1000.0},{"direction":"225","distance":999.7},{"direction":"315.01","distance":1000.2}],"adjustment":"transit"},"expect":{"result.sum_latitudes.value":0.4769807155920489,"result.sum_departures.value":0.19415954712974326,"result.misclosure.value":0.5149840121676886,"result.total_length.value":3999.8999999999996,"result.precision_ratio":7767.037239007637,"result.adjusted.1.northing.value":5706.987538230118,"result.adjusted.1.easting.value":5707.058237967479,"ok":true},"source":"Surveying formulas (Ghilani & Wolf 2018) evaluated in Python (tools/vectors/gen_survey.py)","sourceVersion":"15th edition (2018)","tolerance":{"result.sum_latitudes.value":{"rel":1e-09,"abs":1e-09},"result.sum_departures.value":{"rel":1e-09,"abs":1e-09},"result.misclosure.value":{"rel":1e-09,"abs":1e-09},"result.total_length.value":{"rel":1e-09,"abs":1e-09},"result.precision_ratio":{"rel":1e-09,"abs":1e-09},"result.adjusted.1.northing.value":{"rel":1e-09,"abs":1e-09},"result.adjusted.1.easting.value":{"rel":1e-09,"abs":1e-09}}}
{"id":"v005","input":{"courses":[{"direction":"0","distance":100.0},{"direction":"72","distance":100.01},{"direction":"144","distance":99.98},{"direction":"216","distance":100.02},{"direction":"288.01","distance":100.0}],"adjustment":"compass"},"expect":{"result.sum_latitudes.value":0.019688766781559508,"result.sum_departures.value":-0.008606032417731058,"result.misclosure.value":0.021487469170511427,"result.total_length.value":500.01,"result.precision_ratio":23269.841414650844,"result.adjusted.1.northing.value":5099.996062325397,"result.adjusted.1.easting.value":5000.00172117206,"ok":true},"source":"Surveying formulas (Ghilani & Wolf 2018) evaluated in Python (tools/vectors/gen_survey.py)","sourceVersion":"15th edition (2018)","tolerance":{"result.sum_latitudes.value":{"rel":1e-09,"abs":1e-09},"result.sum_departures.value":{"rel":1e-09,"abs":1e-09},"result.misclosure.value":{"rel":1e-09,"abs":1e-09},"result.total_length.value":{"rel":1e-09,"abs":1e-09},"result.precision_ratio":{"rel":1e-09,"abs":1e-09},"result.adjusted.1.northing.value":{"rel":1e-09,"abs":1e-09},"result.adjusted.1.easting.value":{"rel":1e-09,"abs":1e-09}}}
{"id":"v006","input":{"courses":[{"direction":"0","distance":100},{"direction":"180","distance":100}]},"expect":{"meta.warnings.1.code":"PERFECT_CLOSURE","result.precision":"perfect","ok":true},"source":"add-survey-suite scenarios","sourceVersion":"2026","tolerance":{},"supersededBy":"v023","reason":"Promotion to stable removed the EXPERIMENTAL_TOOL warning, so this warning moved to the first position. No numbers changed."}
{"id":"v023","input":{"courses":[{"direction":"0","distance":100},{"direction":"180","distance":100}]},"expect":{"meta.warnings.0.code":"PERFECT_CLOSURE","result.precision":"perfect","ok":true},"source":"add-survey-suite scenarios","sourceVersion":"2026","tolerance":{}}
{"id":"v007","input":{"courses":[{"direction":"12.25","distance":250.0},{"direction":"95.5","distance":310.2},{"direction":"170.75","distance":260.4},{"direction":"281.0","distance":290.1}],"adjustment":"compass"},"expect":{"result.sum_latitudes.value":12.91625989034759,"result.sum_departures.value":118.90363693767944,"result.misclosure.value":119.60311303039937,"result.total_length.value":1110.7,"result.precision_ratio":9.2865475810625,"result.adjusted.1.northing.value":5241.400542463705,"result.adjusted.1.easting.value":5026.281197336473,"ok":true},"source":"Surveying formulas (Ghilani & Wolf 2018) evaluated in Python (tools/vectors/gen_survey.py)","sourceVersion":"15th edition (2018)","tolerance":{"result.sum_latitudes.value":{"rel":1e-09,"abs":1e-09},"result.sum_departures.value":{"rel":1e-09,"abs":1e-09},"result.misclosure.value":{"rel":1e-09,"abs":1e-09},"result.total_length.value":{"rel":1e-09,"abs":1e-09},"result.precision_ratio":{"rel":1e-09,"abs":1e-09},"result.adjusted.1.northing.value":{"rel":1e-09,"abs":1e-09},"result.adjusted.1.easting.value":{"rel":1e-09,"abs":1e-09}}}
{"id":"v008","input":{"courses":[{"direction":"0.0","distance":1500.0},{"direction":"120.0","distance":1500.3},{"direction":"240.01","distance":1499.8}],"adjustment":"transit"},"expect":{"result.sum_latitudes.value":0.1767061110188024,"result.sum_departures.value":0.30215024479389285,"result.misclosure.value":0.3500283132839381,"result.total_length.value":4500.1,"result.precision_ratio":12856.388552629976,"result.adjusted.1.northing.value":6499.911641740009,"result.adjusted.1.easting.value":5000.0,"ok":true},"source":"Surveying formulas (Ghilani & Wolf 2018) evaluated in Python (tools/vectors/gen_survey.py)","sourceVersion":"15th edition (2018)","tolerance":{"result.sum_latitudes.value":{"rel":1e-09,"abs":1e-09},"result.sum_departures.value":{"rel":1e-09,"abs":1e-09},"result.misclosure.value":{"rel":1e-09,"abs":1e-09},"result.total_length.value":{"rel":1e-09,"abs":1e-09},"result.precision_ratio":{"rel":1e-09,"abs":1e-09},"result.adjusted.1.northing.value":{"rel":1e-09,"abs":1e-09},"result.adjusted.1.easting.value":{"rel":1e-09,"abs":1e-09}}}
{"id":"v009","input":{"courses":[{"direction":"33.3","distance":88.8},{"direction":"123.3","distance":77.7},{"direction":"213.31","distance":88.79},{"direction":"303.3","distance":77.72}],"adjustment":"compass"},"expect":{"result.sum_latitudes.value":0.02784774519641786,"result.sum_departures.value":-0.02417749799914759,"result.misclosure.value":0.03687883298076825,"result.total_length.value":333.01,"result.precision_ratio":9029.841052011045,"result.adjusted.1.northing.value":5074.212267847115,"result.adjusted.1.easting.value":5048.759673377425,"ok":true},"source":"Surveying formulas (Ghilani & Wolf 2018) evaluated in Python (tools/vectors/gen_survey.py)","sourceVersion":"15th edition (2018)","tolerance":{"result.sum_latitudes.value":{"rel":1e-09,"abs":1e-09},"result.sum_departures.value":{"rel":1e-09,"abs":1e-09},"result.misclosure.value":{"rel":1e-09,"abs":1e-09},"result.total_length.value":{"rel":1e-09,"abs":1e-09},"result.precision_ratio":{"rel":1e-09,"abs":1e-09},"result.adjusted.1.northing.value":{"rel":1e-09,"abs":1e-09},"result.adjusted.1.easting.value":{"rel":1e-09,"abs":1e-09}}}
{"id":"v010","input":{"courses":[{"direction":"5.0","distance":2640.0},{"direction":"95.0","distance":5280.1},{"direction":"185.0","distance":2639.7},{"direction":"275.02","distance":5280.0}],"adjustment":"transit"},"expect":{"result.sum_latitudes.value":2.1261690230621753,"result.sum_departures.value":0.28672057475523616,"result.misclosure.value":2.145414506014429,"result.total_length.value":15839.8,"result.precision_ratio":7383.095413774306,"result.adjusted.1.northing.value":7629.0494589831815,"result.adjusted.1.easting.value":5230.085152438013,"ok":true},"source":"Surveying formulas (Ghilani & Wolf 2018) evaluated in Python (tools/vectors/gen_survey.py)","sourceVersion":"15th edition (2018)","tolerance":{"result.sum_latitudes.value":{"rel":1e-09,"abs":1e-09},"result.sum_departures.value":{"rel":1e-09,"abs":1e-09},"result.misclosure.value":{"rel":1e-09,"abs":1e-09},"result.total_length.value":{"rel":1e-09,"abs":1e-09},"result.precision_ratio":{"rel":1e-09,"abs":1e-09},"result.adjusted.1.northing.value":{"rel":1e-09,"abs":1e-09},"result.adjusted.1.easting.value":{"rel":1e-09,"abs":1e-09}}}
{"id":"v011","input":{"courses":[{"direction":"60.0","distance":45.5},{"direction":"140.0","distance":60.2},{"direction":"230.0","distance":70.1},{"direction":"320.0","distance":50.3},{"direction":"355.0","distance":20.0}],"adjustment":"compass"},"expect":{"result.sum_latitudes.value":-9.969357464069393,"result.sum_departures.value":-9.675077109504816,"result.misclosure.value":13.892271424114206,"result.total_length.value":246.10000000000002,"result.precision_ratio":17.71488567181459,"result.adjusted.1.northing.value":5024.593176613634,"result.adjusted.1.easting.value":5041.192924699833,"ok":true},"source":"Surveying formulas (Ghilani & Wolf 2018) evaluated in Python (tools/vectors/gen_survey.py)","sourceVersion":"15th edition (2018)","tolerance":{"result.sum_latitudes.value":{"rel":1e-09,"abs":1e-09},"result.sum_departures.value":{"rel":1e-09,"abs":1e-09},"result.misclosure.value":{"rel":1e-09,"abs":1e-09},"result.total_length.value":{"rel":1e-09,"abs":1e-09},"result.precision_ratio":{"rel":1e-09,"abs":1e-09},"result.adjusted.1.northing.value":{"rel":1e-09,"abs":1e-09},"result.adjusted.1.easting.value":{"rel":1e-09,"abs":1e-09}}}
{"id":"v012","input":{"courses":[{"direction":"18.0","distance":400.0},{"direction":"90.0","distance":250.0},{"direction":"162.0","distance":400.2},{"direction":"234.0","distance":250.1},{"direction":"306.0","distance":330.0}],"adjustment":"transit"},"expect":{"result.sum_latitudes.value":46.77383035490948,"result.sum_departures.value":27.964640461925967,"result.misclosure.value":54.495984459725456,"result.total_length.value":1630.3,"result.precision_ratio":29.9159656654125,"result.adjusted.1.northing.value":5364.275903561822,"result.adjusted.1.easting.value":5120.030686472681,"ok":true},"source":"Surveying formulas (Ghilani & Wolf 2018) evaluated in Python (tools/vectors/gen_survey.py)","sourceVersion":"15th edition (2018)","tolerance":{"result.sum_latitudes.value":{"rel":1e-09,"abs":1e-09},"result.sum_departures.value":{"rel":1e-09,"abs":1e-09},"result.misclosure.value":{"rel":1e-09,"abs":1e-09},"result.total_length.value":{"rel":1e-09,"abs":1e-09},"result.precision_ratio":{"rel":1e-09,"abs":1e-09},"result.adjusted.1.northing.value":{"rel":1e-09,"abs":1e-09},"result.adjusted.1.easting.value":{"rel":1e-09,"abs":1e-09}}}
{"id":"v013","input":{"courses":[{"direction":"270.0","distance":800.0},{"direction":"0.0","distance":600.0},{"direction":"90.0","distance":800.1},{"direction":"180.01","distance":599.9}],"adjustment":"compass"},"expect":{"result.sum_latitudes.value":0.10000913699934699,"result.sum_departures.value":-0.004702301295468031,"result.misclosure.value":0.10011962405456544,"result.total_length.value":2800.0,"result.precision_ratio":27966.54528460867,"result.adjusted.1.northing.value":4999.971425960857,"result.adjusted.1.easting.value":4200.001343514656,"ok":true},"source":"Surveying formulas (Ghilani & Wolf 2018) evaluated in Python (tools/vectors/gen_survey.py)","sourceVersion":"15th edition (2018)","tolerance":{"result.sum_latitudes.value":{"rel":1e-09,"abs":1e-09},"result.sum_departures.value":{"rel":1e-09,"abs":1e-09},"result.misclosure.value":{"rel":1e-09,"abs":1e-09},"result.total_length.value":{"rel":1e-09,"abs":1e-09},"result.precision_ratio":{"rel":1e-09,"abs":1e-09},"result.adjusted.1.northing.value":{"rel":1e-09,"abs":1e-09},"result.adjusted.1.easting.value":{"rel":1e-09,"abs":1e-09}}}
{"id":"v014","input":{"courses":[{"direction":"44.9","distance":150.0},{"direction":"134.9","distance":150.02},{"direction":"224.9","distance":149.98},{"direction":"314.91","distance":150.0}],"adjustment":"transit"},"expect":{"result.sum_latitudes.value":0.018592046178042665,"result.sum_departures.value":0.04676552087607888,"result.misclosure.value":0.0503257203018242,"result.total_length.value":600.0,"result.precision_ratio":11922.333081405519,"result.adjusted.1.northing.value":5106.246319737765,"result.adjusted.1.easting.value":5105.86906411985,"ok":true},"source":"Surveying formulas (Ghilani & Wolf 2018) evaluated in Python (tools/vectors/gen_survey.py)","sourceVersion":"15th edition (2018)","tolerance":{"result.sum_latitudes.value":{"rel":1e-09,"abs":1e-09},"result.sum_departures.value":{"rel":1e-09,"abs":1e-09},"result.misclosure.value":{"rel":1e-09,"abs":1e-09},"result.total_length.value":{"rel":1e-09,"abs":1e-09},"result.precision_ratio":{"rel":1e-09,"abs":1e-09},"result.adjusted.1.northing.value":{"rel":1e-09,"abs":1e-09},"result.adjusted.1.easting.value":{"rel":1e-09,"abs":1e-09}}}
{"id":"v015","input":{"courses":[{"direction":"200.0","distance":333.3},{"direction":"320.0","distance":333.4},{"direction":"80.0","distance":333.2}],"adjustment":"compass"},"expect":{"result.sum_latitudes.value":0.05923962654510717,"result.sum_departures.value":-0.16275953626995943,"result.misclosure.value":0.17320508075693392,"result.total_length.value":999.9000000000001,"result.precision_ratio":5772.925341625529,"result.adjusted.1.northing.value":4686.780702949875,"result.adjusted.1.easting.value":4886.058939408312,"ok":true},"source":"Surveying formulas (Ghilani & Wolf 2018) evaluated in Python (tools/vectors/gen_survey.py)","sourceVersion":"15th edition (2018)","tolerance":{"result.sum_latitudes.value":{"rel":1e-09,"abs":1e-09},"result.sum_departures.value":{"rel":1e-09,"abs":1e-09},"result.misclosure.value":{"rel":1e-09,"abs":1e-09},"result.total_length.value":{"rel":1e-09,"abs":1e-09},"result.precision_ratio":{"rel":1e-09,"abs":1e-09},"result.adjusted.1.northing.value":{"rel":1e-09,"abs":1e-09},"result.adjusted.1.easting.value":{"rel":1e-09,"abs":1e-09}}}
{"id":"v016","input":{"courses":[{"direction":"1.0","distance":999.99},{"direction":"89.0","distance":500.0},{"direction":"181.0","distance":1000.03},{"direction":"269.0","distance":499.97}],"adjustment":"transit"},"expect":{"result.sum_latitudes.value":-0.039470335613165375,"result.sum_departures.value":0.029297334597060853,"result.misclosure.value":0.04915527650118601,"result.total_length.value":2999.99,"result.precision_ratio":61030.884444879826,"result.adjusted.1.northing.value":5999.857260713633,"result.adjusted.1.easting.value":5017.451737767495,"ok":true},"source":"Surveying formulas (Ghilani & Wolf 2018) evaluated in Python (tools/vectors/gen_survey.py)","sourceVersion":"15th edition (2018)","tolerance":{"result.sum_latitudes.value":{"rel":1e-09,"abs":1e-09},"result.sum_departures.value":{"rel":1e-09,"abs":1e-09},"result.misclosure.value":{"rel":1e-09,"abs":1e-09},"result.total_length.value":{"rel":1e-09,"abs":1e-09},"result.precision_ratio":{"rel":1e-09,"abs":1e-09},"result.adjusted.1.northing.value":{"rel":1e-09,"abs":1e-09},"result.adjusted.1.easting.value":{"rel":1e-09,"abs":1e-09}}}
{"id":"v017","input":{"courses":[{"direction":"15.0","distance":120.0},{"direction":"75.0","distance":95.0},{"direction":"130.0","distance":140.0},{"direction":"200.0","distance":180.0},{"direction":"260.0","distance":90.0},{"direction":"320.0","distance":110.0}],"adjustment":"compass"},"expect":{"result.sum_latitudes.value":-49.99947590508755,"result.sum_departures.value":9.164500311182465,"result.misclosure.value":50.83242721666056,"result.total_length.value":735.0,"result.precision_ratio":14.45927413356135,"result.adjusted.1.northing.value":5124.074278894294,"result.adjusted.1.easting.value":5029.562040463537,"ok":true},"source":"Surveying formulas (Ghilani & Wolf 2018) evaluated in Python (tools/vectors/gen_survey.py)","sourceVersion":"15th edition (2018)","tolerance":{"result.sum_latitudes.value":{"rel":1e-09,"abs":1e-09},"result.sum_departures.value":{"rel":1e-09,"abs":1e-09},"result.misclosure.value":{"rel":1e-09,"abs":1e-09},"result.total_length.value":{"rel":1e-09,"abs":1e-09},"result.precision_ratio":{"rel":1e-09,"abs":1e-09},"result.adjusted.1.northing.value":{"rel":1e-09,"abs":1e-09},"result.adjusted.1.easting.value":{"rel":1e-09,"abs":1e-09}}}
{"id":"v018","input":{"courses":[{"direction":"350.0","distance":60.0},{"direction":"80.0","distance":60.01},{"direction":"170.0","distance":59.99},{"direction":"260.02","distance":60.0}],"adjustment":"transit"},"expect":{"result.sum_latitudes.value":0.032210958990120275,"result.sum_departures.value":0.004478316773962376,"result.misclosure.value":0.03252078105137026,"result.total_length.value":240.0,"result.precision_ratio":7379.8965535573325,"result.adjusted.1.northing.value":5059.074771020968,"result.adjusted.1.easting.value":4989.580773726937,"ok":true},"source":"Surveying formulas (Ghilani & Wolf 2018) evaluated in Python (tools/vectors/gen_survey.py)","sourceVersion":"15th edition (2018)","tolerance":{"result.sum_latitudes.value":{"rel":1e-09,"abs":1e-09},"result.sum_departures.value":{"rel":1e-09,"abs":1e-09},"result.misclosure.value":{"rel":1e-09,"abs":1e-09},"result.total_length.value":{"rel":1e-09,"abs":1e-09},"result.precision_ratio":{"rel":1e-09,"abs":1e-09},"result.adjusted.1.northing.value":{"rel":1e-09,"abs":1e-09},"result.adjusted.1.easting.value":{"rel":1e-09,"abs":1e-09}}}
{"id":"v019","input":{"courses":[{"direction":"100.0","distance":1234.56},{"direction":"220.0","distance":1234.5},{"direction":"340.01","distance":1234.6}],"adjustment":"compass"},"expect":{"result.sum_latitudes.value":0.1572306369960188,"result.sum_departures.value":0.22737629609690657,"result.misclosure.value":0.2764443040413782,"result.total_length.value":3703.66,"result.precision_ratio":13397.490727266479,"result.adjusted.1.northing.value":4785.568495284165,"result.adjusted.1.easting.value":6215.72846705077,"ok":true},"source":"Surveying formulas (Ghilani & Wolf 2018) evaluated in Python (tools/vectors/gen_survey.py)","sourceVersion":"15th edition (2018)","tolerance":{"result.sum_latitudes.value":{"rel":1e-09,"abs":1e-09},"result.sum_departures.value":{"rel":1e-09,"abs":1e-09},"result.misclosure.value":{"rel":1e-09,"abs":1e-09},"result.total_length.value":{"rel":1e-09,"abs":1e-09},"result.precision_ratio":{"rel":1e-09,"abs":1e-09},"result.adjusted.1.northing.value":{"rel":1e-09,"abs":1e-09},"result.adjusted.1.easting.value":{"rel":1e-09,"abs":1e-09}}}
{"id":"v020","input":{"courses":[{"direction":"7.5","distance":700.0},{"direction":"97.5","distance":350.0},{"direction":"187.5","distance":700.05},{"direction":"277.5","distance":349.9}],"adjustment":"transit"},"expect":{"result.sum_latitudes.value":-0.06262486229089603,"result.sum_departures.value":0.092618176526571,"result.misclosure.value":0.1118033988752612,"result.total_length.value":2099.95,"result.precision_ratio":18782.523797357084,"result.adjusted.1.northing.value":5694.0407807877755,"result.adjusted.1.easting.value":5091.3586815387025,"ok":true},"source":"Surveying formulas (Ghilani & Wolf 2018) evaluated in Python (tools/vectors/gen_survey.py)","sourceVersion":"15th edition (2018)","tolerance":{"result.sum_latitudes.value":{"rel":1e-09,"abs":1e-09},"result.sum_departures.value":{"rel":1e-09,"abs":1e-09},"result.misclosure.value":{"rel":1e-09,"abs":1e-09},"result.total_length.value":{"rel":1e-09,"abs":1e-09},"result.precision_ratio":{"rel":1e-09,"abs":1e-09},"result.adjusted.1.northing.value":{"rel":1e-09,"abs":1e-09},"result.adjusted.1.easting.value":{"rel":1e-09,"abs":1e-09}}}
{"id":"v021","input":{"courses":[{"direction":"S 6-15 W","distance":189.53},{"direction":"S 29-38 E","distance":175.18},{"direction":"N 81-18 W","distance":197.78},{"direction":"N 12-24 W","distance":142.39},{"direction":"N 42-59 E","distance":234.58}],"adjustment":"compass","start_northing":0,"start_easting":0},"expect":{"result.precision":"1:5,175","result.misclosure.value":0.182,"result.sum_latitudes.value":-0.079,"result.sum_departures.value":-0.163,"result.total_length.value":939.46,"result.adjusted.1.northing.value":-188.388,"result.adjusted.1.easting.value":-20.601,"result.adjusted.2.northing.value":-340.641,"result.adjusted.2.easting.value":66.047,"result.adjusted.3.northing.value":-310.708,"result.adjusted.3.easting.value":-129.423,"result.adjusted.4.northing.value":-171.628,"result.adjusted.4.easting.value":-159.974,"ok":true},"source":"University of Memphis CIVL 1112, Surveying - Traverse Calculations (latitudes and departures example, group example 1)","sourceVersion":"course notes, retrieved 2026-09-19","tolerance":{"result.misclosure.value":{"abs":0.0015},"result.sum_latitudes.value":{"abs":0.0015},"result.sum_departures.value":{"abs":0.0015},"result.total_length.value":{"abs":0.0015},"result.adjusted.1.northing.value":{"abs":0.0015},"result.adjusted.1.easting.value":{"abs":0.0015},"result.adjusted.2.northing.value":{"abs":0.0015},"result.adjusted.2.easting.value":{"abs":0.0015},"result.adjusted.3.northing.value":{"abs":0.0015},"result.adjusted.3.easting.value":{"abs":0.0015},"result.adjusted.4.northing.value":{"abs":0.0015},"result.adjusted.4.easting.value":{"abs":0.0015}}}
{"id":"v022","input":{"courses":[{"direction":"S 77-10 E","distance":651.2},{"direction":"S 38-43 W","distance":826.7},{"direction":"N 64-09 W","distance":491.0},{"direction":"N 29-16 E","distance":660.5}]},"expect":{"result.precision":"1:2,083","result.misclosure.value":1.262,"result.sum_latitudes.value":0.601,"result.sum_departures.value":-1.11,"ok":true},"source":"University of Memphis CIVL 1112, Surveying - Traverse Calculations (latitudes and departures example, group example 1)","sourceVersion":"course notes, retrieved 2026-09-19","tolerance":{"result.misclosure.value":{"abs":0.0005},"result.sum_latitudes.value":{"abs":0.0005},"result.sum_departures.value":{"abs":0.0005}}}
{"id":"v024","input":{"courses":[{"direction":"10.5","distance":500.0},{"direction":"100.25","distance":350.0},{"direction":"190.6","distance":499.8},{"direction":"280.2","distance":350.3}],"adjustment":"crandall"},"expect":{"result.sum_latitudes.value":0.10890989513534066,"result.sum_departures.value":-1.1705995855874676,"result.misclosure.value":1.1756550323270605,"result.total_length.value":1700.1,"result.precision_ratio":1446.0874603963264,"result.adjusted.1.distance.value":500.0495905918353,"result.adjusted.1.northing.value":5491.676213974768,"result.adjusted.1.easting.value":5091.126799913636,"ok":true},"source":"Surveying formulas (Ghilani & Wolf 2018) evaluated in Python (tools/vectors/gen_survey.py)","sourceVersion":"15th edition (2018)","tolerance":{"result.sum_latitudes.value":{"rel":1e-09,"abs":1e-09},"result.sum_departures.value":{"rel":1e-09,"abs":1e-09},"result.misclosure.value":{"rel":1e-09,"abs":1e-09},"result.total_length.value":{"rel":1e-09,"abs":1e-09},"result.precision_ratio":{"rel":1e-09,"abs":1e-09},"result.adjusted.1.distance.value":{"rel":1e-09,"abs":1e-09},"result.adjusted.1.northing.value":{"rel":1e-09,"abs":1e-09},"result.adjusted.1.easting.value":{"rel":1e-09,"abs":1e-09}}}
{"id":"v025","input":{"courses":[{"direction":"12.25","distance":250.0},{"direction":"95.5","distance":310.2},{"direction":"170.75","distance":260.4},{"direction":"281.0","distance":290.1}],"adjustment":"crandall"},"expect":{"result.sum_latitudes.value":12.91625989034759,"result.sum_departures.value":118.90363693767944,"result.misclosure.value":119.60311303039937,"result.total_length.value":1110.7,"result.precision_ratio":9.2865475810625,"result.adjusted.1.distance.value":225.77369380156898,"result.adjusted.1.northing.value":5220.633076603873,"result.adjusted.1.easting.value":5047.904136784979,"ok":true},"source":"Surveying formulas (Ghilani & Wolf 2018) evaluated in Python (tools/vectors/gen_survey.py)","sourceVersion":"15th edition (2018)","tolerance":{"result.sum_latitudes.value":{"rel":1e-09,"abs":1e-09},"result.sum_departures.value":{"rel":1e-09,"abs":1e-09},"result.misclosure.value":{"rel":1e-09,"abs":1e-09},"result.total_length.value":{"rel":1e-09,"abs":1e-09},"result.precision_ratio":{"rel":1e-09,"abs":1e-09},"result.adjusted.1.distance.value":{"rel":1e-09,"abs":1e-09},"result.adjusted.1.northing.value":{"rel":1e-09,"abs":1e-09},"result.adjusted.1.easting.value":{"rel":1e-09,"abs":1e-09}}}
{"id":"v026","input":{"courses":[{"direction":"15.0","distance":120.0},{"direction":"75.0","distance":95.0},{"direction":"130.0","distance":140.0},{"direction":"200.0","distance":180.0},{"direction":"260.0","distance":90.0},{"direction":"320.0","distance":110.0}],"adjustment":"crandall"},"expect":{"result.sum_latitudes.value":-49.99947590508755,"result.sum_departures.value":9.164500311182465,"result.misclosure.value":50.83242721666056,"result.total_length.value":735.0,"result.precision_ratio":14.45927413356135,"result.adjusted.1.distance.value":133.53463343004245,"result.adjusted.1.northing.value":5128.984551134122,"result.adjusted.1.easting.value":5034.561306312478,"ok":true},"source":"Surveying formulas (Ghilani & Wolf 2018) evaluated in Python (tools/vectors/gen_survey.py)","sourceVersion":"15th edition (2018)","tolerance":{"result.sum_latitudes.value":{"rel":1e-09,"abs":1e-09},"result.sum_departures.value":{"rel":1e-09,"abs":1e-09},"result.misclosure.value":{"rel":1e-09,"abs":1e-09},"result.total_length.value":{"rel":1e-09,"abs":1e-09},"result.precision_ratio":{"rel":1e-09,"abs":1e-09},"result.adjusted.1.distance.value":{"rel":1e-09,"abs":1e-09},"result.adjusted.1.northing.value":{"rel":1e-09,"abs":1e-09},"result.adjusted.1.easting.value":{"rel":1e-09,"abs":1e-09}}}
{"id":"v027","input":{"courses":[{"direction":"0","distance":100},{"direction":"180","distance":100.02}],"adjustment":"crandall"},"expect":{"ok":false,"error.code":"DEGENERATE_GEOMETRY"},"source":"Surveying formulas (Ghilani & Wolf 2018) evaluated in Python (tools/vectors/gen_survey.py)","sourceVersion":"15th edition (2018)","tolerance":{}}
