sibartlett / Geo

A geospatial library for .NET
https://www.nuget.org/packages/Geo/
GNU Lesser General Public License v3.0
176 stars 39 forks source link

NTS #24

Closed pauldendulk closed 8 years ago

pauldendulk commented 8 years ago

Hi there! Just a question. NTS is an alternative geometry library. It seems to be quite similar to this one. What could be a reason to choose one over the other?

Also Geo is LGPL just like NTS. Is there a specific reason for this (like historcally). Did you consider alternative licenses?

sibartlett commented 8 years ago

Geo is focused purely on WGS-84 reference system (a spheroid coordinate system, commonly used in GPS systems), whereas NTS focuses on 2-dimensional linear geometry.

Geo tries to keep it's API simple. It assumes all geometries are WGS-84, and all calculations try to take into account the spheroid nature of the Earth.

NTS can do much more, but that's because it works with 2D geometry which is inherently much simpler to work with. If you want to work with a non-2D reference system, then you'd need to use a projection. An overview of map projections can be found here. A library that helps do projections is Proj.NET.

Bonus: as Geo deals with strictly WGS-84, I have included classes for calculating magnetic declination and sunrise/sunset.

I think I chose LGPL, as I was using other LGPL libraries for reference material.

pauldendulk commented 8 years ago

Thanks for your very clear answer! Perhaps part of this should also be on the wiki/homepage because I assume others will have the same question.