У меня проблема с функцией ST_Area
в MySQL 8.0.16.
Результат вызова процедуры возвращает результат, отличный от любой библиотеки, используемой для вычисления площади многоугольника.
Пример:
У меня есть Geo JSON с геометрией, подобной этой:
{
"type": "Polygon",
"coordinates": [
[
[
16.91720977783202,
52.28469952907162
],
[
16.910300407409657,
52.278608423688205
],
[
16.919913444519032,
52.27753189128164
],
[
16.91720977783202,
52.28469952907162
]
]
]
}
Результаты расчета площади (в квадратных метрах):
- Карты Google:
250165.80185391553
- Газон библиотека:
250152.24833417358
- ST_Area (ST_GeomFromGeo JSON (@ poly_ json)):
202818.55768974536
Сначала я волновался, что GMaps (мы получили координаты с карты) использует какую-то другую проекцию, но она конвертирует ее в надлежащий LatLng, поэтому это не должно быть проблемой.
У вас есть идея, почему результат так сильно отличается между вычислением площади в базе данных и на клиенте?