using NetTopologySuite.Geometries;
using NetTopologySuite.LinearReferencing;
using NetTopologySuite.Operation.Distance;
static void Main(string[] args)
var factory = new GeometryFactory(new PrecisionModel(), 4326);
var line = factory.CreateLineString(new Coordinate[]
new Coordinate(-73.9857, 40.7484),
new Coordinate(-118.2500, 34.0522)
var point = new Coordinate(-96.7970, 32.7767);
var locationIndexedLine = new LocationIndexedLine(line);
var projectedLocation = locationIndexedLine.Project(point);
var projectedCoordinate = projectedLocation.GetCoordinate(line);
Console.WriteLine($"Projected Coordinate: ({projectedCoordinate.X}, {projectedCoordinate.Y})");