MySQL 8.0.18 - ST_Area возвращает недопустимое значение - PullRequest
0 голосов
/ 21 февраля 2020

У меня проблема с функцией 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, поэтому это не должно быть проблемой.

У вас есть идея, почему результат так сильно отличается между вычислением площади в базе данных и на клиенте?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...