Маршрутизация в MS SQL Server 2012

CREATE INDEX source_idx ON road_network("source");

CREATE INDEX target_idx ON road_network("target");

ALTER TABLE road_network  ADD COLUMN length double precision;

UPDATE road_network  SET length = length(the_geom);

ALTER TABLE road_network  ADD COLUMN reverse_cost double precision;

UPDATE road_network  SET reverse_cost = length;

ALTER TABLE road_network  ADD COLUMN x1 double precision;

ALTER TABLE road_network  ADD COLUMN y1 double precision;

ALTER TABLE road_network  ADD COLUMN x2 double precision;

ALTER TABLE road_network  ADD COLUMN y2 double precision;

UPDATE road_network  SET x1 = x(ST_PointN(the_geom, 1));

UPDATE road_network  SET y1 = y(ST_PointN(the_geom, 1));

UPDATE road_network  SET x2 = x(ST_PointN(the_geom, ST_NumPoints(the_geom)));

UPDATE road_network  SET y2 = y(ST_PointN(the_geom, ST_NumPoints(the_geom)));

alter table road_network add column cost double precision default 0;

update road_network set cost=0.1 where type='NH';

update road_network set cost=0.2 where type='SH';

update road_network set cost=0.3 where type='major';

update road_network set cost=0.4 where type='minor';

update road_network set cost=1.2 where type='colony';

Этот запрос я использую для маршрутизации в pgrouting?

Мой запрос Можно ли создать маршрутизацию в MSSQL?

Если да, какие функции доступны в SQL Spatial?

1 ответ

В общем, все методы PostGIS, которые реализуют спецификацию SQL-MM (вы можете посмотреть их здесь для примера - у них есть соответствующий комментарий), имеют свои аналоги в SQL Server, потому что тип данных геометрии совместим с SQL-MM (стандарт ISO).

Все функции маршрутизации / пространственные функции из вашего кода существуют в SQL Server.

Другие вопросы по тегам