Мне нужно вычислить для волнистости или геоида широты и долготы, используя golang, но я нашел этот пакет, я думаю, что он полезен
https://github.com/garrettsickles/geolocation
реализовал его, но он дает мне неправильный геоид, а также я сделал с помощьюDLL, что может быть удобно для меня, но проблема в том, что нет более простого способа чтения DLL-файлов в Голанге через среду Unix, но также трудно реализовать его
DLLExport
Я использовал это в моей DLL, а такжеЯ хочу экспортировать его и читать в golang, но в Windows это возможно, но как новичок в golang я не могу понять, как мне добиться чтения dll в golang в моей среде unix (macos darwin)
public interface IComputeMSL
{
// DLL Export from msl result
[DllExport(HelperStr.GetMSLDLL, CallingConvention.ThisCall)]
double GetMSLResult(double lat, double lon, double gpsElevation);
// DLL Export from WSG84
[DllExport(HelperStr.GetWSG84DLL, CallingConvention.ThisCall)]
double GetWSG84Result(double gpsElevation, double mslElevation);
}
это мой читатель на c # dll, который правильно сохраняет вычисления геоидов
public class ComputeMSL : IComputeMSL
{
/* GetMSLResult from the parameter as lat, lon, and gps elevation */
public double GetMSLResult(double lat, double lon, double gpsElevation) =>
Helper.GetMSL(Helper.GetGeoID(lat, lon), gpsElevation);
/* GetWSG84Result from the parameter gpsElevation and mslElevation */
public double GetWSG84Result(double gpsElevation, double mslElevation) =>
Helper.ConvertMSLToWSG84(gpsElevation, mslElevation);
}
это computeMSL, который вычисляет результат msl, и оба wsg84 написаны на c # и использовали этот пакет для него
GeoidHeightsDotNet
если кто-нибудь может помочь мне правильно настроить мою dll для возможности чтения в unix и windows envirодновременно или любой пакет, который может поддерживать вычисление geoID в golang, или пакет, который может вычислить egm86, например, mm2008, я был бы признателен за вашу помощь.