Аналитика

Цифровая фотограмметрия, картография и землеустройство
Текущее время: 18 ноя 2017 15:54

Часовой пояс: UTC + 2 часа




Начать новую тему Ответить на тему  [ Сообщений: 12 ] 
Автор Сообщение
 Заголовок сообщения: SQL
СообщениеДобавлено: 23 мар 2016 22:35 
Гуру
Гуру
Аватара пользователя

Зарегистрирован:
22 сен 2007 16:09
Сообщения: 180
Откуда: м.Львiв
Знову почав мучити SQL i при записi об'єкту в базу SQL виникає помилка ("Поставщик данных или другая служба вернули состояние E_FAIL").
В старiй версiї Ged все ок. Дякую.

Вiдповiдь: дана помилка виникла при записi в базу параметру CV (в якому було занесено весь список цiльового використання). Виправилось замiною на читання параметрiв з текстового файлу папки Lists (Маска: =@:CV.txt).


Последний раз редактировалось Руслан Пархуць 01 апр 2016 09:34, всего редактировалось 1 раз.

Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: SQL
СообщениеДобавлено: 23 мар 2016 23:06 
Гуру
Гуру
Аватара пользователя

Зарегистрирован:
22 сен 2007 16:09
Сообщения: 180
Откуда: м.Львiв
... все нормально, пiсля "вiдкрити SQL", "зберегти SQL" почало працювати.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: SQL
СообщениеДобавлено: 27 мар 2016 23:55 
Гуру
Гуру
Аватара пользователя

Зарегистрирован:
22 сен 2007 16:09
Сообщения: 180
Откуда: м.Львiв
Доброго дня. При спробi створити об'єкт (Sqlmode=1) в логах postgres наступне:

EEST ERROR: function geometry(unknown, integer) does not exist at character 128
EEST HINT: No function matches the given name and argument types. You might need to add explicit type casts.
EEST STATEMENT: INSERT INTO _geom (ObjectID,LayerID,TS,NS,GRP,SO,Captions,Count,Area,Perimeter,Vector) VALUES (4,1006,315967492,0,0,0,'',2,0,0,geometry('LINESTRING(5507872.8771089 1333528.7743463 0.0000000,5507872.8771089 1333528.7743463 0.0000000)',-1))

Дякую.

P.S. Система Ubuntu 9.1. Встановлено Postgres 8.3, PostGis 1.3.5 Geos 3.1.0


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: SQL
СообщениеДобавлено: 28 мар 2016 14:22 
Гуру
Гуру

Зарегистрирован:
18 апр 2007 11:55
Сообщения: 1863
Откуда: Vinnitsa
Доброго!
До недавнього часу в Digitals використовувались PostGIS-функції geometry() і st_astext(), але в версії PostGIS 2.х ці функції були замінені на st_geometryfromtext() і st_asewkt(). Нова версія Digitals адаптована під ці зміни, якщо версія PostGIS 1.х, то використовуються "старі" функції, інакше нові.

_________________
Команда разработчиков Digitals
(наш e-mail и ICQ находятся в меню Помощь|О программе)
Новичкам сюда | Новые возможности программы | Купить Digitals


Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: SQL
СообщениеДобавлено: 29 мар 2016 00:53 
Гуру
Гуру
Аватара пользователя

Зарегистрирован:
22 сен 2007 16:09
Сообщения: 180
Откуда: м.Львiв
Версiя Digitals нова... Дякую.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: SQL
СообщениеДобавлено: 29 мар 2016 16:30 
Гуру
Гуру
Аватара пользователя

Зарегистрирован:
22 сен 2007 16:09
Сообщения: 180
Откуда: м.Львiв
Версiї до 2016 року працюють нормально, а з початку року - нi. Може причина в чомусь iншому, дякую.

Dmitry_Zolotar писал(а):
До недавнього часу в Digitals використовувались PostGIS-функції geometry() і st_astext()...

Ви мали на увазi 2012-2013 р?
Postgis Release 2.0.0 Release date: 2012/04/03

i ще питання.
1. В таблицi '_operations' поле 'op character(1)' записується iнформацiя про дiї U,I,D - зрозумiло, а що означає S ?
2. При використаннi SQLmode=1 (Postgis) не зберiгається вiдображення надписiв (довжини, номера точок i т.д.). Тобто можливо практичнiше використовувати звичайну базу (SQLmode=0) без доповнень? Чи є рiзниця i в чому мiж SQLmode=1 та SQLmode=0 (менший об'єм бази, швидкодiя, сумiснiсть з iншими продуктами, детальне налаштування прав користувачам до використання бази: об'єктiв, шарiв i т.д.).


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: SQL
СообщениеДобавлено: 30 мар 2016 08:46 
Гуру
Гуру

Зарегистрирован:
18 апр 2007 11:55
Сообщения: 1863
Откуда: Vinnitsa
Руслан Пархуць писал(а):
Версiї до 2016 року працюють нормально, а з початку року - нi. Може причина в чомусь iншому, дякую.

Оновіть PostGIS, хоча б до 1.5. Зі старішими версіями Digitals в SQLmode=1 і не працював Availability: 1.5 - support for geography was introduced.


Руслан Пархуць писал(а):
1. В таблицi '_operations' поле 'op character(1)' записується iнформацiя про дiї U,I,D - зрозумiло, а що означає S ?

S - зміна структури таблиць, внаслідок маніпуляцій зі списком шарів/параметрів.
Руслан Пархуць писал(а):
2. При використаннi SQLmode=1 (Postgis) не зберiгається вiдображення надписiв (довжини, номера точок i т.д.). Тобто можливо практичнiше використовувати звичайну базу (SQLmode=0) без доповнень? Чи є рiзниця i в чому мiж SQLmode=1 та SQLmode=0 (менший об'єм бази, швидкодiя, сумiснiсть з iншими продуктами, детальне налаштування прав користувачам до використання бази: об'єктiв, шарiв i т.д.).

При SQLmode=1 геометрія зберігається в форматі OpenGIS, що дає можливість працювати з цими даним іншим програмам, таким як QuantumGIS.
При SQLmode=0 геометрія зберігається в нашому форматі, але зберігаються підписи.

_________________
Команда разработчиков Digitals
(наш e-mail и ICQ находятся в меню Помощь|О программе)
Новичкам сюда | Новые возможности программы | Купить Digitals


Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: SQL
СообщениеДобавлено: 30 мар 2016 13:16 
Гуру
Гуру
Аватара пользователя

Зарегистрирован:
22 сен 2007 16:09
Сообщения: 180
Откуда: м.Львiв
... поки писав питання, забув написати, що версiя Postgis 1.5 i Postgresql 8.4. Вирiшив працювати з SQLmode=0 оскiльки форматування пiдписiв важливе для роботи (щоб кожного разу їх не перестворювати при вiдкриттi). Але питання з Postgis залишаю вiдкритим, оскiльки пробував на версiях Ged до 2016 року, де створюються записи в таблицi _geos, а в версiях Ged 2016 року виникають наступнi помилки:
Руслан Пархуць писал(а):
EEST ERROR: function geometry(unknown, integer) does not exist at character 128
EEST HINT: No function matches the given name and argument types. You might need to add explicit type casts.
EEST STATEMENT: INSERT INTO _geom (ObjectID,LayerID,TS,NS,GRP,SO,Captions,Count,Area,Perimeter,Vector) VALUES (4,1006,315967492,0,0,0,'',2,0,0,geometry('LINESTRING(5507872.8771089 1333528.7743463 0.0000000,5507872.8771089 1333528.7743463 0.0000000)',-1))


В якiй послiдовностi заповнюються таблицi бази (хочу розподiлити можливостi запису i редагування об'єктiв мiж користувачами, щоб користувач мiг мiняти тiльки створенi ним об'єкти). Спочатку iде запис до таблицi об'єкту, а потiм данi про змiни заносяться в таблицю _operations, чи навпаки?

Дякую.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: SQL
СообщениеДобавлено: 31 май 2016 15:27 
Гуру
Гуру
Аватара пользователя

Зарегистрирован:
22 сен 2007 16:09
Сообщения: 180
Откуда: м.Львiв
Пропали надписи дати зйомки на планi (p50000) а в базi даних ця колонка з даними змiнила iм'я на dp50000 i створилась нова - "пуста". З яких причин? Дякую.


Вложения:
01.jpg
01.jpg [ 74.73 Кб | Просмотров: 1206 ]
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: SQL
СообщениеДобавлено: 31 май 2016 17:05 
Гуру
Гуру

Зарегистрирован:
18 апр 2007 11:55
Сообщения: 1863
Откуда: Vinnitsa
Нічого такого програма не повинна робити. Може якісь трігери?

_________________
Команда разработчиков Digitals
(наш e-mail и ICQ находятся в меню Помощь|О программе)
Новичкам сюда | Новые возможности программы | Купить Digitals


Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: SQL
СообщениеДобавлено: 31 май 2016 19:50 
Гуру
Гуру
Аватара пользователя

Зарегистрирован:
22 сен 2007 16:09
Сообщения: 180
Откуда: м.Львiв
... не знаю. Ось частина звiту з /var/log/postgresql/postgresql-8.4-main.log

2016-05-31 16:01:32 EEST STATEMENT: INSERT INTO "objectdb"."public"."_layers" ("layerid","name","format","kind","state","symbolid","minscale","maxscale","pencolor","penwidth","penstyle","brushcolor","brushstyle","fontcolor","fontstyle","fontname","fontsize","reference","validparams","status") VALUES (3012,E'Райавтодор (центр)',E'',1,3,9,0,1000000,8421504,0,1,16777215,1,0,0,E'Courier New',80,8,0,16973824)
2016-05-31 16:04:09 EEST ERROR: column "p50000" of relation "l5003" already exists
2016-05-31 16:04:09 EEST STATEMENT: ALTER TABLE L5003 ADD COLUMN P50000 Text
2016-05-31 16:04:43 EEST ERROR: column "p50002" does not exist
2016-05-31 16:04:43 EEST STATEMENT: ALTER TABLE L5001 RENAME COLUMN p50002 TO Dp50002
...
2016-05-31 19:48:25 EEST STATEMENT: INSERT INTO "objectdb"."public"."_parameters" ("parameterid","name","format","kind","state","symbolid","minscale","maxscale","pencolor","penwidth","penstyle","brushcolor","brushstyle","fontcolor","fontstyle","fontname","fontsize","reference","validparams","status") VALUES (-1000010,E'Довжини ліній[N]',E'',5,0,NULL,0,1000000,0,10,5,16777215,0,0,0,E'Arial Cyr',50,0,0,83886112)
2016-05-31 19:49:53 EEST ERROR: column "dp50000" of relation "l5001" already exists
2016-05-31 19:49:53 EEST STATEMENT: ALTER TABLE L5001 RENAME COLUMN p50000 TO Dp50000
2016-05-31 20:13:37 EEST ERROR: column "p50000" of relation "l5001" already exists
2016-05-31 20:13:37 EEST STATEMENT: ALTER TABLE l5001 RENAME dp50000 TO p50000;


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: SQL
СообщениеДобавлено: 31 май 2016 20:32 
Гуру
Гуру
Аватара пользователя

Зарегистрирован:
22 сен 2007 16:09
Сообщения: 180
Откуда: м.Львiв
при оновленнi параметрiв шару (видалення чи добавляння) в базi iдуть наступнi команди:

2016-05-31 20:41:31 EEST STATEMENT: DELETE FROM _Layers
2016-05-31 20:41:31 EEST STATEMENT: DELETE FROM _Layers
...
2016-05-31 20:41:31 EEST STATEMENT: DELETE FROM _Layers
(команда повторюється стiльки, скiльки є шарiв)

... а потiм вставляються шари по новому
2016-05-31 20:41:31 EEST STATEMENT: INSERT INTO "objectdb"."public"."_layers" ("layerid","name","format","kind","state","symbolid","minscale","maxscale","pencolor","penwidth","penstyle","brushcolor","brushstyle","fontcolor","fontstyle","fontname","fontsize","reference","validparams","status") VALUES (-1000003,E'Рамка карты',E'',1,0,NULL,0,1000000,65535,10,0,16777215,1,0,0,E'Courier New',80,0,0,16777216)
... i .д.
(деколи є i UPDATE, правда не замiтив, коли)
2016-05-03 23:27:51 EEST STATEMENT: UPDATE "objectdb"."public"."_parameters" SET "parameterid"=-1000010,"name"=E'Довжини ліній[N]',"format"=E'',"kind"=5,"state"=0,"symbolid"=NULL,"minscale"=0,"maxscale"=1000000,"pencolor"=0,"penwidth"=10,"penstyle"=5,"brushcolor"=16777215,"brushstyle"=0,"fontcolor"=0,"fontstyle"=0,"fontname"=E'Arial Cyr',"fontsize"=50,"reference"=0,"validparams"=0,"status"=83886112 WHERE "parameterid"=-1000010 AND "name"=E'Довжини ліній[N]' AND "format"=E'' AND "kind"=5 AND "state"=0 AND "symbolid" IS NULL AND "minscale"=0 AND "maxscale"=1000000 AND "pencolor"=0 AND "penwidth"=10 AND "penstyle"=5 AND "brushcolor"=16777215 AND "brushstyle"=0 AND "fontcolor"=0 AND "fontstyle"=0 AND "fontname"=E'Arial Cyr' AND "fontsize"=50 AND "reference"=0 AND "validparams"=0 AND "status"=83886112


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 12 ] 

Часовой пояс: UTC + 2 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB