География SQL 2008 и геометрия - чтобы использовать?

Я просто попробовал Consolas и Зависть - Зависть кажется "слишком узкой" моим глазам, но Consolas выглядит большим (я нахожусь на Mac). Спасибо за подсказки!

12
задан Mr. Flibble 8 December 2009 в 15:59
поделиться

3 ответа

География - это тип, который предназначен для нанесения точек на земле.

Если у вас есть таблица, в которой хранятся точки Google Maps, например:

CREATE TABLE geo_locations (
    location_id       uniqueidentifier  NOT NULL,
    position_point    geography         NOT NULL
);

, то вы можете заполнить ее с помощью этой хранимой процедуры:

CREATE PROCEDURE proc_AddPoint
    @latitude     decimal(9,6),
    @longitude    decimal(9,6),
    @altitude     smallInt
AS

DECLARE @point     geography = NULL;

BEGIN

    SET NOCOUNT ON;

    SET @point = geography::STPointFromText('POINT(' + CONVERT(varchar(15), @longitude) + ' ' + 
                                                       CONVERT(varchar(15), @latitude) + ' ' + 
                                                       CONVERT(varchar(10), @altitude) + ')', 4326)

    INSERT INTO geo_locations
    (
        location_id, 
        position_point
    )
    VALUES 
    (
        NEWID(),
        @point
    );

END

Затем, если вы хотите запросить широту, долготу и высоту, просто используйте следующий формат запроса:

SELECT
    geo_locations.position_point.Lat  AS latitude,
    geo_locations.position_point.Long AS longitude,
    geo_locations.position_point.Z    AS altitude
FROM
    geo_locations;
16
ответ дан 2 December 2019 в 05:54
поделиться

Скорее всего, вам нужен географический тип, поскольку он учитывает кривизну Земли. Геометрия больше подходит для «плоского» взгляда на вещи. Ознакомьтесь с этой статьей для получения дополнительной информации http://www.mssqltips.com/tip.asp?tip=1847

4
ответ дан 2 December 2019 в 05:54
поделиться

Вы можете следить за ответом, приведенным в Postgis FAQ

Я все смущает. Какой магазин данных я должен использовать геометрию или географию?

Краткий ответ: География - это новые данные Тип, который поддерживает большой диапазон Расстояние измерения. Если вы используете География - тебе не нужно учиться много о планарных системах координат. География, как правило, лучше всего, если все вы заботиться о измерении расстояний и длина, и у вас есть данные из всех по всему миру. Геометрия DataType Старый тип данных, который имеет много функции, поддерживающие ее и пользуются Отличная поддержка от сторонних инструментов. Лучше всего, если вы довольно комфортно со пространственными эталонными системами или вы иметь дело с локализованными данными, где Все ваши данные вписываются в одно пространстве Справочная система (SRID), или вам нужно делать много пространственной обработки. Обратитесь к разделу 8,8, «PostGIS Функциональная поддержка матрицы ", чтобы увидеть, что в настоящее время поддерживается и что нет.

Типы геометрии и географии в базах данных, PostGIS и SQL Server, следуют той же концепции, поэтому ответ, приведенный в Postgis FAQ, применим к вашей проблеме.

6
ответ дан 2 December 2019 в 05:54
поделиться
Другие вопросы по тегам:

Похожие вопросы: