На главную... Продукты | Технологии | Классификаторы | Проекты | Скачать | Цены| Форум | Статьи | Обучение | Контакты

Dmitry S (Все сообщения пользователя)

Поиск  Пользователи  Правила  Войти
Форум » Пользователи » Dmitry S
Выбрать дату в календареВыбрать дату в календаре

Страницы: Пред. 1 2 3 4 5 6 7 8 След.
Хранение объектов карты в БД MS SQL, Хранение объектов карты в БД MS SQL
 
Спасибо, понял.
Т.е. пока мне придется отказаться от TMapSpatialDB и TMapDBM (думаю ядро у них одно)
Читать с сервера геометрии и руками разбирать WKB (благо формат не сложный),
создавать объекты карты, а если попадет коллекция, объединить ее объекты в группы (это групповые семантики?)

Ну а для записи в БД все в обратном порядке. Хорошо пока нет требований на многопользовательский доступ )

Примерно так?
Хранение объектов карты в БД MS SQL, Хранение объектов карты в БД MS SQL
 
Денис, спасибо большое за развернутый ответ.
[QUOTE]Денис Вицко написал:
избавиться от GEOMETRYCOLLECTION.[/QUOTE]
Это вряд ли получится: геометрии формируются SQL сервером пересечением сложных фигур и  GEOMETRYCOLLECTION на выходе - обычное дело.
Не планируете вводить поддержку GEOMETRYCOLLECTION ?
Хранение объектов карты в БД MS SQL, Хранение объектов карты в БД MS SQL
 
Здравствуйте, попробовал компонент TMapSpatialDB, работает, но есть пару вопросов:

1. Компонент на любую геометрию выдает ошибку (хотя объект создается):
[CODE]1972 >>> SDBS-01972: Не удалось получить описание параметров системы координат по SRID: 1[/CODE]
Даже при явном указании SRID (4326), и GEOGRAPHY, и GEOMETRY
[CODE]SELECT 1 as id, 'test' as name, GEOGRAPHY::STGeomFromText('LINESTRING (0 0, 2 1, 1 1)', 4326) as geom[/CODE]

2. Некоторые геометрии не создаются на сите, хотя родной клиент SQL (SQL Server Management Studio [SSMS]) их отображает.
Пример в файле. Геометрию перевел в WKT, чтобы не было проблем с сохранением, в оригинале геометрии тянутся из БД.

3. Попробовал запрос из моего примера выполнить через компонент - ошибка, может текст слишком объемный?
[CODE]'SDBS-01915: Не удалось определить типы данных для полей таблицы: tmptbl'[/CODE]

Возможно что-то делаю не так, подскажите в чем м.б. причина ошибок.

Embarcadero® Delphi 10.4
GTK 13.3.0.3
Microsoft SQL Server 2019 (RTM-GDR) (KB4583458) - 15.0.2080.9 (X64)   Nov  6 2020 16:50:01   Copyright © 2019 Microsoft Corporation  Express Edition (64-bit) on Windows 10 Pro 10.0 <X64> (Build 18363: )
Изменено: Dmitry S - 11.04.2021 10:42:48
Ошибка при закрытии классификатора в х64 версии
 
[QUOTE]Andrey Gheleznyakov написал:
вопрос задавать в тексте.[/QUOTE]
Не совсем понял, что не так.
Это ошибка, у меня нет вопросов.
Ошибка при закрытии классификатора в х64 версии
 
Embarcadero® Delphi 10.4
GTK 13.3.0.3

Ошибка при закрытии классификатора в х64 версии, в х32 без ошибки.
Воспроизводится даже на примере из поставки
c:\Program Files (x86)\Panorama\GisTool13\Example\delphi\maprsc\

демку пристегнул
Поддержка стилей приложения диалогами GTK
 
Embarcadero® Delphi 10.4
GTK 13.3.0.3

Диалоги gtk некорректно работают со стилями Delphi.
Некоторые ("Редактор классификатора") пытаются применить стиль, но возникают проблемы с отрисовкой
Некоторые и не пытаются ("Состав карты") зато работают.

Демо и проект прикрепил
Изменено: Dmitry S - 01.04.2021 10:00:26
Разница в длине объекта
 
[QUOTE]C проблемой еще разбираемся. По результату ответим.
[/QUOTE]
Здравствуйте, есть ли подвижки с вопросом, а то уже теме месяц.
Не работает выделение объектов, Не работает выделение объектов
 
[QUOTE]Сергей Викторович написал:
Просьба, написать как правильно записать код?[/QUOTE]
А что Вы конкретно хотите?
Если просто выделять какой-то ОДИН объект, то можно все гораздо проще делать

1. Бросаете на форму
  [CODE] MapFind1: TMapFind;
   MapObj1: TMapObj;[/CODE]
2. Связываете в инспекторе объектов со своим MV и между собой
3. Установите MapObj1.Style := OS_SELECT

4. Теперь для выделения объекта, достаточно его указать (найти)

 [CODE]if MapFind1.MapObj.SeekObject(MV.MapName, StrToInt(edit1.Text) ) = 1 then
   MapFind1.MapObj.Center;[/CODE]

Причем у MapFind свой (автосозданный) TMapSelect
Можете туда добавлять свои условия/объекты
[CODE] MapFind2.Active := False;
 MapFind2.MapSelect.ClearSampleAll;
 MapFind2.MapSelect.SelectSample(true, MV.MapName, StrToInt(edit2.Text));
 MapFind2.Active := True;

 if MapFind2.MapObj.Key > 0 then
   MapFind2.MapObj.Center;[/CODE]
и никак он не должен мешать Вашим операциям с видимостью слоев
[CODE]MV.Selecting := true;
MV.ViewSelect.Layers[-1] := true;
MV.ViewSelect.Layers[14] := false; //[/CODE]
Разница в длине объекта
 
Здравствуйте!
Есть ли какие-нибудь новости по этому вопросу?
Изменено: Dmitry Stasev - 21.03.2019 12:44:14
Ошибка - не найдена библиотека IML
 
Судя по расширению файла, это программа не может найти библиотеку с расширением классификатора
Найдите его и положите этот файл в папку с классификатором или в папку с приложением.
Думаю поможет.
Страницы: Пред. 1 2 3 4 5 6 7 8 След.



© КБ Панорама, 1991-2024

Регистрируясь или авторизуясь на форуме, Вы соглашаетесь с Политикой конфиденциальности