Anonymous | Login | Signup for a new account | 22-11-24 02:25 UTC |
All Projects | SAS.Планета | Домен, сайт, форум, багтрекер | Доработка карты (ZMP) | Переводы и локализации | Прочее |
My View | View Issues | Change Log | Roadmap | Search |
View Issue Details [ Jump to Notes ] | [ Issue History ] [ Print ] | ||||||||
ID | Project | Category | View Status | Date Submitted | Last Update | ||||
0002440 | SAS.Планета | [All Projects] Хотелка | public | 29-05-2014 04:39 | 02-06-2014 09:09 | ||||
Reporter | Waleryth | ||||||||
Assigned To | vdemidov | ||||||||
Priority | normal | Severity | minor | Reproducibility | have not tried | ||||
Status | closed | Resolution | duplicate | ||||||
Platform | Windows | OS | 7 | OS Version | Ultimate | ||||
Product Version | |||||||||
Target Version | Fixed in Version | ||||||||
Summary | 0002440: Закидывание через неопределенное время метки из стороннего ПО, например, метки отбор проб. | ||||||||
Description | Я тут поизучал темы на форуме и пришел к выводу что такая небольшая модификация придется по вкусу многим пользователя SAS.Планета. Необходимо чтобы происходила запись трека и одновременно в фоне происходило закидывание меток, например, отбор проб. | ||||||||
Steps To Reproduce | 1). С треком все понятно.(Для эмуляции трека использовал GPSGate). 2). Для отправки в CAC данных точек я использовал - wm_copydata по handle реализованом в ПО для обработки спектра на VisualBasic. В CAC я реализовал обработчик для принятия сообщения. далее я разбивал строку на составляющие. s:=PAnsiChar(MessageData.CopyDataStruct.lpData); //Устанавливаем текст из полученных данных tSL := TStringList.create; //создаём класс tSL.text := stringReplace(s,';',0000013#10,[rfReplaceAll]); //заменяем все ';' на символы конца строки //получаем StringList In_PointName:=tSL[0]; //название точки // tSL[1] //Lat широта Y_ // tSL[2] //Lon долгота X_ In_PointDesc:=tSL[3]; //Описание точки Для добавления точки на карту использовал при этом указал координаты точки полученные от 'wm_copydata' VLonLat.X:=X_; //Lon долгота VLonLat.Y:=Y_; //Lat широта if FMarkDBGUI.AddNewPointModal(VLonLat) then begin FState.State := ao_movemap; end; Далее добавил дополнительную функцию TMarksDbGUIHelper.AddNewPointModal(const ALonLat: TDoublePoint): Boolean; которая является аналогом с некоторыми изменениями TMarksDbGUIHelper.NewPointModal(const ALonLat: TDoublePoint): Boolean; Долее для установки метки без запуска модальной формы добавления точки закоментил //VMark := FfrmMarkAddPoint.EditMark(VMark, true, VVisible); функция получилась так: function TMarksDbGUIHelpe.AddNewPointModal(const ALonLat: TDoublePoint): Boolean; var VMark: IMarkPoint; VVisible: Boolean; VResult: IMark; begin Result := False; VVisible := true; //коорд, имя точки, описание VMark := FMarksDb.MarksDb.Factory.CreateNewPoint(ALonLat, frmMain.In_PointName, frmMain.In_PointDesc); //установка точки без запуска модальной формы добавления точки //закометнировал вызов формы добавления метки //VMark := FfrmMarkAddPoint.EditMark(VMark, true, VVisible); if VMark <> nil then begin VResult := FMarksDb.MarksDb.UpdateMark(nil, VMark); if VResult <> nil then begin FMarksDb.MarksDb.SetMarkVisible(VMark, VVisible); Result := True; end; end; end; Получается происходит добавление новой точки в фоновом режиме. Но как предварительно указать тип рисунка метки и категорию куда будет добавляться метка без вызова формы добавления меток. Может подскажите как предварительно указать тип рисунка метки и категорию куда будет добавляться метка!!! | ||||||||
Tags | No tags attached. | ||||||||
Attached Files | |||||||||
Relationships | ||||||
|
Notes | |
(0014275) vdemidov (manager) 29-05-2014 05:25 |
Одно непонятно, зачем для добавления точки в фоне, трогать функции которые называются *Modal, то есть выдает модальное окно? И зачем вообще тогда трогать класс, который отвечает за взаимодействие с пользователем, если нужно фоновое добавление? Нужно просто создавать метку и сохранять ее в базу. |
(0014276) Waleryth (reporter) 29-05-2014 06:02 |
Извените за глупый вопрос! Это плучается достаточно сделать как описано здесь http://sasgis.org/wikisasiya/doku.php/отображение_на_карте_произвольной_информации_точек_картинок_и_т.п._из_базы_данных |
(0014277) vdemidov (manager) 29-05-2014 06:24 |
А это тут при чем? Там описано как поднять отдельный сервер с базой данных и HTTP-сервером, а САС будет просто для него клиентом. |
(0014278) Waleryth (reporter) 29-05-2014 08:25 |
Может я чего-то не понимаю,если вы имеете ввиду http://sasgis.org/wikisasiya/doku.php/создание_меток - то это не то, меток может быть сотни а может и больше! Я бы хотел чтобы они добавлялись автоматом! И какую базу вы имели ввиду - marks.sml? |
(0014279) vdemidov (manager) 29-05-2014 08:33 |
Это вы определитесь, что вы хотете получить. В статье http://sasgis.org/wikisasiya/doku.php/отображение_на_карте_произвольной_информации_точек_картинок_и_т.п._из_базы_данных Идет речь об использовании отдельного сервера с Apach, PHP, MySQL. В статье http://sasgis.org/wikisasiya/doku.php/создание_меток просто описывается ГУЙ пользователя. А вы изначально спрашивали о работе с метками внутри программы. Определитесь что вас интересует. |
(0014280) Waleryth (reporter) 29-05-2014 09:08 |
Извините за назойливость. Но попробую мою задумку более четко и подробно описать! Дапустим имеется прибор для снятия спектра http://nikon-spectra.ru/products/gps/Epoch50/, оператор ходит по сетке и в заданой точке происходит снятие спектра. Точек может быть сотни и каждую вручную забивать как-то трудоемко. Одновременно со снятием спектра происходит запись движения (трека) оператора-пешехода (для этого идеальноподходит САС). Так вот я хотел в сас реализоать такой механизм который бы автоматически записывал эти самые точки снятия спектра, при этом указывать некое описание точки (Description). Точки(метки) я смог записать. Но как для этих меток указать категорию, и как указать тип рисунка метки (в зависимости от значения которые будут записаны в Description метки). |
(0014281) Waleryth (reporter) 29-05-2014 09:16 |
Использование отдельного сервера с Apach, PHP, MySQL - не вариант. Я хочу это реализовать внутри программы только в автономном режиме. |
(0014282) vdemidov (manager) 29-05-2014 09:19 |
Просто создать точки с нужными параметрами. То есть вместо вызова Factory.CreateNewPoint вызывать у Factory.CreatePoint и передавать туда все что вам хочется. Добавлять методы в TMarksDbGUIHelper для этого не нужно. Он на то и GUIHelper что бы взаимодействовать с пользователем. |
(0014283) vdemidov (manager) 29-05-2014 09:22 edited on: 29-05-2014 09:24 |
> Использование отдельного сервера с Apach, PHP, MySQL - не вариант. Я хочу это реализовать внутри программы только в автономном режиме. Ну это вы про него почему-то упомянули в своем комментарии http://sasgis.org/mantis/view.php?id=2440#c14276 Мне, кстати, этот костыль очень не нравится, еще и устарел слегка. Просто что бы реализовать альтернативу нужно достаточно много сил приложить, а у меня для этого ни сил ни желания нет. |
(0014284) Waleryth (reporter) 29-05-2014 09:41 |
Небольшое пожелание. Неплохо бы на мой взгляд реализовать возможность подключения какой-нибудь простой бд типа *.gdb или Access а потом просто с этой базой работать типа добавить допустим теже метки со всеми там описаниями, коорд, категориями и т.д. а к этой базе несоставит труда подключится любому и работать с ней. |
(0014285) vdemidov (manager) 29-05-2014 09:52 |
Этому пожеланию сто лет в обед. Реализуйте и сделайте пул-реквест после чего и поговорим. А вообще этот тикет нужно закрывать, а вопросы по исходному коду нужно задавать в соответствующей ветке форума. Закрывать как Wan't fix или Duplicate в зависимости от того чего вы таки хотите добиться, потому что я пока не совсем понял. То есть конченая цель понятна, но что от нас хотите получить мне пока не ясно. |
(0014287) zed (manager) 29-05-2014 10:47 |
Я так понял, что товарищ вполне готов сам реализовать фичу добавления меток, его просто нужно подтолкнуть в правильном направлении чтобы потом все нароботки можно было принять через пулреквест. |
(0014288) vdemidov (manager) 29-05-2014 11:13 |
Ну, я не уверен, что это стоит принимать в основной код. А вот помочь реализовать и подтолкнуть в нужном направлении - всегда пожалуйста. Для этого раздел "Вопросы по исходному коду" и существует на форуме. |
(0014304) zed (manager) 01-06-2014 13:57 |
> Ну, я не уверен, что это стоит принимать в основной код. Почему? |
(0014306) vdemidov (manager) 02-06-2014 08:53 |
>Почему? Потому что с большой вероятность это будет костыль для решения одной конкретной проблемы одного конкретного пользователя и бесполезный для 99% остальных пользователей. Как я себе это представляю я описал в хотелке 0001869 и своего мнения пока не изменил. |
(0014308) zed (manager) 02-06-2014 09:04 |
Какой ещё костыль? Тут разговор за --insert-placemark в терминах твоего же описания 0001869:0010996 с единственным отличием, что скорее всего это будет не полная переделка существующего механизма, а лишь минимальное вмешательство в код, для добавления требуемого функционала. И оно будет полезно 100% пользователям, которые задумают управлять САСом извне. А то, что реализация функционала возможно не на 100% будет соответствовать твоим представлениям о том, как это должно быть, ещё не повод говорить о бесполезности фичи. |
(0014309) vdemidov (manager) 02-06-2014 09:09 |
Ну, посмотрим, я же сказал, что не уверен. Когда будет пул реквест там и обсудим. |
Users who viewed this issue | |
User List | Anonymous (2737x), vdemidov (1x), hrucker (2x), DimaDD (1x) |
Total Views | 2741 |
Last View | 22-11-2024 02:25 |
Issue History | |||
Date Modified | Username | Field | Change |
29-05-2014 04:39 | Waleryth | New Issue | |
29-05-2014 05:25 | vdemidov | Note Added: 0014275 | |
29-05-2014 06:02 | Waleryth | Note Added: 0014276 | |
29-05-2014 06:24 | vdemidov | Note Added: 0014277 | |
29-05-2014 08:25 | Waleryth | Note Added: 0014278 | |
29-05-2014 08:33 | vdemidov | Note Added: 0014279 | |
29-05-2014 09:08 | Waleryth | Note Added: 0014280 | |
29-05-2014 09:16 | Waleryth | Note Added: 0014281 | |
29-05-2014 09:19 | vdemidov | Note Added: 0014282 | |
29-05-2014 09:22 | vdemidov | Note Added: 0014283 | |
29-05-2014 09:24 | vdemidov | Note Edited: 0014283 | View Revisions |
29-05-2014 09:41 | Waleryth | Note Added: 0014284 | |
29-05-2014 09:52 | vdemidov | Note Added: 0014285 | |
29-05-2014 10:47 | zed | Note Added: 0014287 | |
29-05-2014 11:13 | vdemidov | Note Added: 0014288 | |
01-06-2014 13:57 | zed | Note Added: 0014304 | |
02-06-2014 08:51 | vdemidov | Relationship added | duplicate of 0001869 |
02-06-2014 08:53 | vdemidov | Note Added: 0014306 | |
02-06-2014 08:56 | vdemidov | Status | new => resolved |
02-06-2014 08:56 | vdemidov | Resolution | open => duplicate |
02-06-2014 08:56 | vdemidov | Assigned To | => vdemidov |
02-06-2014 08:56 | vdemidov | Status | resolved => closed |
02-06-2014 09:04 | zed | Note Added: 0014308 | |
02-06-2014 09:09 | vdemidov | Note Added: 0014309 |
My View | View Issues | Change Log | Roadmap | Search |
Copyright © 2007 - 2024 SAS.Planet Team |