
Код дополнительной кнопки "Convert to area" в диалоге просмотра списка точек TGPSListViewer
- Код: Выделить всё
procedure TGPSListViewer.Convert_to_area_ButtonClick(Sender: TObject);
type
TCoordRec = record
Lon: Double;
Lat: Double;
Name: String;
end;
var
i, iChecked: Integer;
item: TListItem;
rPt: TRealPoint;
CoordArr: array of TCoordRec;
APoints: TRealPointArray;
procedure AddGPSArea;
var
area: TGPSArea;
i: Integer;
MapView: TMapView;
begin
MapView:= FViewer;
area := TGPSArea.Create;
area.Name := Edit1.Text;
area.FillColor := clRed;
area.LineColor := clMaroon;
area.Opacity := 0.5;
for i := 0 to High(APoints) do
area.Points.Add(TGPSPoint.CreateFrom(APoints[i]));
MapView.GPSItems.Add(area, 201);
end;
begin
// count checked items
iChecked := 0;
for i:=0 to ListView.Items.Count - 1 do begin
if ListView.Items.Item[i].Checked then Inc(iChecked);
end;
if iChecked < 3 then begin
ShowMessage('Please select more than 2 items.');
exit;
end;
SetLength(APoints,iChecked);
iChecked := 0;
for i:=0 to ListView.Items.Count - 1 do begin
if ListView.Items.Item[i].Checked then begin
item := ListView.Items[i];
if TryStrToGps(item.SubItems[2], rPt.Lon)
and TryStrToGps(item.SubItems[1], rPt.Lat) then
begin
APoints[iChecked].Lon := rPt.Lon;;
APoints[iChecked].Lat := rPt.Lat;
Inc(iChecked);
end;
end;
end;
AddGPSArea;
SetLength(APoints,0);
end;
*ListView сдержит реальные координаты геотегов сданных кликом мыши с возможностью отметки нужных для создания области .
Добавлено спустя 35 минут 43 секунды:
Re: Геоинформация(GIS и просто карты) в программах на Лазарус
Sharfik писал(а):Никто ничего не должен.
Ну мне "долговых обязательств" LazMapViewer пока хватает даже с некоторым запасом.
(Там действительно очень гибкая система пересчета координат из одной сетки в другую)
Насчет Зд вроде как есть работа с топографией (мне сейчас не надо так что не разбирался) .
Зы
По поводу "утечки данных при использовании ИИ" сильно "продвинутые параноики" пользуются локальными моделями или хотя-бы самостоятельно развернутыми в "персональном облаке" с надежным шифрованием и сносом моделей после использования .
Зы Зы
LazMapViewer кроме OSM еще кучу сервисов поддерживает (включая google и yandex) и вообще все эти статические карты устарели . У реально продвинутых юзеров давно уже есть доступ к сервисам которые работают в реальном времени.

