создать DbGeography точку, как это:DbGeography сделать круг с центром и радиусом
String selectedLocation = String.Format("POINT ({0} {1})", lon, lat).Replace(",", ".");
DbGeography selectedLocationGeo = DbGeography.FromText(selectedLocation, 4326);
Я также имеют радиус R.
Я хочу создать curvepolygon с формой круга с заданный радиус от координаты точки. Имейте в виду, что я использую DbGeography, а не DbGeometry.
Как создать ЦИРКУЛЯРНУЮ? Или есть лучший способ, чем использовать CIRCULARSTRING?
Возможно, что-то подобное?
String polyString = String.Format("CURVEPOLYGON(CIRCULARSTRING(xx yy, xx yy, xx yy, xx yy, xx yy))");
DbGeography polygon = DbGeography.FromText(polyString, 4326);
Спасибо.
Стоит отметить, что вы можете использовать 'DbGeography.DefaultCoordinateSystemId' вместо магического номера 4326, так как WGS84 используется по умолчанию. Кроме того, я обнаружил, что единица аргумента «Буфер» - это метры, а не километры. – adrian
Хорошая точка в DefaultCoordinateSystemId. У меня было достаточно времени с буферами. Все, что я мог найти в Интернете, указывал на метры, но только юнит-тесты с использованием кругов из Google Maps (радиус-метры) выглядят только с килограммами, используемыми для буферов. Первоначально поставленный под сомнение это из-за круга вокруг Аризоны создало бы исключение - радиус/геометрия больше земли - или некоторые такие. –