Вставьте новую систему пространственной привязки (SRID) в SQL Server - PullRequest
0 голосов
/ 08 ноября 2019

Извините за длинное вступление перед моим вопросом, но я видел, как он отвечал несколько раз таким образом, который не помогает мне именно из-за отсутствия конкуренции. Для тех из вас, кто готов читать до конца и пытаться помочь мне, я действительно ценю это. Вот и все ...

Я работаю в отделе баз данных энергораспределительной компании в Бразилии, которая использует пользовательские датумы, созданные в результате объединения зон UTM 23S и 24S на основе Datum SAD69.

Я использую SQL Server 2012 ( Спецификации SQL Server ) и ArcMap 10.4.01 ( Спецификации ArcGIS ) для управления изолированной ГИС (Не знаю, если яЯ прояснил здесь, но я имею в виду, что я являюсь администратором базы данных такой базы данных, и никто другой не имеет к ней доступа) составил данные, извлеченные из онлайновой базы данных Oracle 11g, и моя база данных обновляется ежедневно в полдень через ArcMap, который подключенк обеим базам данных и действует как мост между ними.

Вот в чем дело: когда я импортирую данные в ArcGIS из БД Oracle, он без проблем распознает пользовательские данные, поскольку я уже импортировал эту пользовательскую координатуСистема в ArcGIS. Но когда я передаю эти данные в SQL Server, он теряет пространственную привязку. Как следствие, когда я пытаюсь проецировать пространственные данные из SQL Server в ArcMap, это не так, и мне приходится устанавливать их вручную, что является проблемой, потому что я делаю это десятки раз в день, в том числе с помощью скрипта, для автоматизации некоторых моих процедур. сделать. Но когда я импортирую пространственные данные из SQL Server, который использует некоторую пространственную привязку, например SIRGAS2000, он распознает без проблем.

Я не могу редактировать данные, хранящиеся в SQL Server, через ArcGIS, потому что у меня нетлицензия ArcServer. Поэтому я не могу использовать / создавать базу геоданных Interprise, и я решил, что смогу справиться с этой ситуацией.

Пока что единственный способ решить эту проблему - это вставить новую ПространственнуюСсылка на SQL Server. Я знаю, что SRID в SQL Server практически бесполезен, потому что он не поддерживает преобразования , но это имеет место только тогда, когда я использую только SQL Server. В этом случае, поскольку я использую несколько платформ, это становится очень актуальным.

Итак, есть ли способ вставить новую пространственную привязку и SRID в SQL Server? Если нет, может кто-нибудь придумать другое решение для моей проблемы?

Не стесняйтесь спрашивать обо всем, что я мог пропустить, и заранее спасибо !!!

1 Ответ

0 голосов
/ 09 ноября 2019

Вы уверены, что нужной вам Пространственной системы отсчета и SRID нет в таблице sys.spatial_reference_systems?

UTM-зоны 23S и 24S на основе данных SAD69

не основаны на пользовательских данных, это хорошо известные стандартизированные SRS с соответствующими кодами EPSG,

EPSG: 29193 SAD69 / UTM-зона 23S

EPSG: 29194 SAD69 / UTM-зона 24S

Система идентификации пространственной привязки определяется Европейской группой по исследованию нефти (EPSG)) стандарт, который представляет собой набор стандартов, разработанных для картографии, геодезии и хранения геодезических данных. Этот стандарт принадлежит Комитету по геодезии и позиционированию производителей нефти и газа.

https://docs.microsoft.com/en-us/sql/relational-databases/spatial/spatial-reference-identifiers-srids?view=sql-server-ver15

Поскольку вы не упомянули коды EPSG, а SQL Server использует ихв качестве SRID вы можете попробовать использовать их. Только не смешивайте их в одной таблице (вам придется разделить ваши геоданные по зоне UTM)

В качестве альтернативы, вы можете хранить свои данные, используя SQL Тип географии , и в этом случаеВы будете использовать код EPSG для SAD69, который будет 5527

Projection:         longlat
EPSG code:          5527
PROJ string:        '+proj=longlat +ellps=aust_SA +towgs84=-67.35,3.88,-38.22'

... при условии, что вы используете SAD69 с 1995 года (SAD69 от 1995 года).

...