SASGIS

Веб-картография и навигация

Карты, не вошедшие в основной список

программа для загрузки и просмотра спутниковых снимков Земли, Луны, Марса предоставленных сервисами Google Maps и Космоснимки. Возможность работы с GPS приёмником.

Модератор: Tolik

Re: Карты, не вошедшие в основной список

Сообщение Slinger » 16 май 2013, 19:14

ошибка была в том, что у вас стоял лишний "%" после "8" в параметре "&layers=show%3A8&"


Вот засада, проглядел. Спасибо.

ну а также укажите парметр "png", вместо "png32"


В данном случае не критично, так как png32 это вроде бы четырехканальный тайл, с альфа каналом. Так что даже если альфа канала у текущего тайла нет, от этого ничего не меняется. Хотя может размер png больше :roll:

только какая ценность этого слоя?


А никакая :) Для полноты картины подключаю все остальные тематические карты.
Slinger
Постигающий Дао
 
Сообщения: 104
Зарегистрирован: 30 май 2011, 23:42
Благодарил (а): 16 раз.
Поблагодарили: 28 раз.

Re: Карты, не вошедшие в основной список

Сообщение rass » 16 май 2013, 21:46

Slinger писал(а):В данном случае не критично, так как png32 это вроде бы четырехканальный тайл, с альфа каналом. Так что даже если альфа канала у текущего тайла нет, от этого ничего не меняется. Хотя может размер png больше :roll:


Возможно, но у меня в Саспланет при параметре "png32" тайлы не качались, хотя сгенерированый URL в браузере таил показывает.
Могу ошибаться, но возможно Саспланет не работает с png32.
Это уже вопрос к разработчикам.
rass
Советчик
 
Сообщения: 300
Зарегистрирован: 23 май 2010, 12:17
Благодарил (а): 61 раз.
Поблагодарили: 92 раз.

Re: Карты, не вошедшие в основной список

Сообщение Slinger » 18 май 2013, 17:17

Возник такой вопрос. В плюсовом репозитории, в папке _Rosreestr есть zmp с кадастровым делением РФ, называется rosreestr_cadastr. В DefURLBase у неё указан Spatial Reference равный 102113, при этом в оригинальной ссылке Spatial Reference равен 102100. Какой всё-таки правильный?
Slinger
Постигающий Дао
 
Сообщения: 104
Зарегистрирован: 30 май 2011, 23:42
Благодарил (а): 16 раз.
Поблагодарили: 28 раз.

Re: Карты, не вошедшие в основной список

Сообщение Tolik » 18 май 2013, 22:08

Действительно, в URL слоя этот параметр изменился и сейчас SR=102100

Код: Выделить всё
http://maps.rosreestr.ru/ArcGIS/rest/services/CadastreNew/Cadastre/MapServer/export?dpi=96&transparent=true&format=png32&bbox=8260063.625554192%2C8068830.86598457%2C10627777.013715181%2C9551097.718490314&bboxSR=102100&imageSR=102100&size=968%2C606&f=image


Вы можете зайти в настройки - параметры слоя и поменять 102113 на 102100. Только совершенно ничего не изменится.
А должно?
Какой смысл этого параметра?
Tolik
Гуру
 
Сообщения: 2604
Зарегистрирован: 28 янв 2011, 10:38
Благодарил (а): 280 раз.
Поблагодарили: 587 раз.

Re: Карты, не вошедшие в основной список

Сообщение Slinger » 18 май 2013, 22:22

Я так подозреваю, что в совокупности с, например, параметрами эллипсоида, это может давать некоторые расхождения. Но это чисто гипотетически.
Slinger
Постигающий Дао
 
Сообщения: 104
Зарегистрирован: 30 май 2011, 23:42
Благодарил (а): 16 раз.
Поблагодарили: 28 раз.

Re: Карты, не вошедшие в основной список

Сообщение Slinger » 21 май 2013, 23:49

Вопрос ещё по такой карте

урл

Код: Выделить всё
http://maps.ngdc.noaa.gov/arcgis/rest/services/etopo1/MapServer/tile/xyz


макрос

Код: Выделить всё
var
  mapXYZ: string;
begin
  mapXYZ := inttostr(GetZ-1)+'/'+inttostr(GetY)+'/'+inttostr(GetX);   
  ResultURL := RegExprReplaceMatchSubStr(GetURLBase, 'xyz', mapXYZ);
end.


Ругается на unexpected image type. Что не так ?
Slinger
Постигающий Дао
 
Сообщения: 104
Зарегистрирован: 30 май 2011, 23:42
Благодарил (а): 16 раз.
Поблагодарили: 28 раз.

Re: Карты, не вошедшие в основной список

Сообщение rass » 22 май 2013, 02:37

Slinger писал(а):Вопрос ещё по такой карте

урл
Код: Выделить всё
http://maps.ngdc.noaa.gov/arcgis/rest/services/etopo1/MapServer/tile/xyz


макрос
Код: Выделить всё
var
  mapXYZ: string;
begin
  mapXYZ := inttostr(GetZ-1)+'/'+inttostr(GetY)+'/'+inttostr(GetX);   
  ResultURL := RegExprReplaceMatchSubStr(GetURLBase, 'xyz', mapXYZ);
end.


Ругается на unexpected image type. Что не так ?

Зачем так усложнять код?
можно же вот так
DefURLBase
Код: Выделить всё
http://maps.ngdc.noaa.gov/arcgis/rest/services/etopo1/MapServer/tile/

GetUrlScript
Код: Выделить всё
begin
ResultURL:=GetURLBase+inttostr(GetZ-1)+'/'+inttostr(GetY)+'/'+inttostr(GetX);
end.

Но это пол дела, дело в том что сервер врзвращает мегатайл (тайл размерами 512х512)
К тому же у него z/y/x не стандартные
В то вермя как обычный 0/0/0 тайл - это вся Земля (тайл 256х256)
http://server.arcgisonline.com/ArcGIS/rest/services/World_Imagery/MapServer/tile/0/0/0

то тайл 0/0/0 данной карты - это западная часть Земли
http://maps.ngdc.noaa.gov/arcgis/rest/services/etopo1/MapServer/tile/0/0/0

0/0/1 - восточная
http://maps.ngdc.noaa.gov/arcgis/rest/services/etopo1/MapServer/tile/0/0/1

соотвественно GetUrlScript будет явно сложнее

UPD:
Попробовал сделать скрипт вот что получилось. Работать будет с зума 3

GetUrlScript
Код: Выделить всё
VAR
TL,BR:TPoint;
topLeftM,bottomrightM:TDoublePoint;
Ver : string;
begin
tl.x:=GetX;
tl.y:=GetY;
br.x:=GetX+2;
br.y:=GetY+2;
ResultURL:=GetURLBase+inttostr(GetZ-2)+'/'+inttostr(GetY-2^(GetZ-3))+'/'+inttostr(GetX);
end.


Единственное, я не знаю Паскаль, поэтому как будет запись: 2^(GetZ-3) я не знаю (скрипт из-за этого нерабочий)
Поэтому прошу спецов дополнить скрипт.
Но если в ручную вычислить значение выражения 2^(GetZ-3) и подставить его в скрипт вместо выражения, то для
вычисленного зума карта будет работать.

таблица
зум | 2^(GetZ-3)
3 | 1
4 | 2
5 | 4
6 | 8
7 | 16
8 | 32
и тд.


params
Код: Выделить всё
[PARAMS]
pnum=1
GUID={C961AD9B-45FF-4DC5-8C70-58462064AF3E}
name=TEST
name_en=TEST
name_uk=TEST
ParentSubMenu=TEST
ParentSubMenu_en=TEST
ParentSubMenu_uk=TEST
asLayer=0
DefURLBase=http://maps.ngdc.noaa.gov/arcgis/rest/services/etopo1/MapServer/tile/
projection=1
EPSG=4326
NameInCache=TEST
separator=0
Ext=.jpeg
UseDwn=1
Sleep=0
DefHotKey="q"
ContentType=image/jpeg

За это сообщение автора rass поблагодарил:
Slinger (22 май 2013, 08:57)
Рейтинг: 5.26%
 
rass
Советчик
 
Сообщения: 300
Зарегистрирован: 23 май 2010, 12:17
Благодарил (а): 61 раз.
Поблагодарили: 92 раз.

Re: Карты, не вошедшие в основной список

Сообщение Parasite » 22 май 2013, 07:49

rass писал(а):
Slinger писал(а):Вопрос ещё по такой карте

урл
Код: Выделить всё
http://maps.ngdc.noaa.gov/arcgis/rest/services/etopo1/MapServer/tile/xyz


макрос
Код: Выделить всё
var
  mapXYZ: string;
begin
  mapXYZ := inttostr(GetZ-1)+'/'+inttostr(GetY)+'/'+inttostr(GetX);   
  ResultURL := RegExprReplaceMatchSubStr(GetURLBase, 'xyz', mapXYZ);
end.


Ругается на unexpected image type. Что не так ?

Зачем так усложнять код?

Зачем вообще изобретать велосипед по сто раз?
viewtopic.php?f=21&t=1864
The only difference between me and a mad man is that I am not mad. /Salvador Dali/
Изображение

За это сообщение автора Parasite поблагодарил:
Slinger (22 май 2013, 08:57)
Рейтинг: 5.26%
 
Аватара пользователя
Parasite
Администратор
 
Сообщения: 5646
Зарегистрирован: 23 окт 2008, 17:38
Благодарил (а): 124 раз.
Поблагодарили: 512 раз.

Re: Карты, не вошедшие в основной список

Сообщение Slinger » 22 май 2013, 09:33

Parasite писал(а):Зачем вообще изобретать велосипед по сто раз?
viewtopic.php?f=21&t=1864


Недействительный урл, zmp устарел. При попытке скормить ему
Код: Выделить всё
http://maps.ngdc.noaa.gov/arcgis/rest/services/etopo1/MapServer/tile/
всё равно выдаёт ошибку.
Slinger
Постигающий Дао
 
Сообщения: 104
Зарегистрирован: 30 май 2011, 23:42
Благодарил (а): 16 раз.
Поблагодарили: 28 раз.

Re: Карты, не вошедшие в основной список

Сообщение Tolik » 22 май 2013, 11:27

Вот так работает. Только весь мир помещается в северном полушарии.

Код: Выделить всё
begin
  if (GetX mod 2 = 0) and (GetY mod 2 = 0) then
     ResultURL:=GetURLBase+inttostr(GetZ-3)+'/'+inttostr(GetY/2)+'/'+inttostr(GetX/2);
end.


Код: Выделить всё
[PARAMS]
pnum=0
GUID={87428D7B-7DFA-4CBB-9993-A8F3AA456608}
asLayer=0
name=etopo1
NameInCache=etopo1
DefURLBase=http://maps.ngdc.noaa.gov/arcgis/rest/services/etopo1/MapServer/tile/
ContentType="image/jpeg"
Ext=.jpg
projection=1
sradiusa=6378137
sradiusb=6378137
separator=0
UseDwn=1
Sleep=0
DefHotKey=0
CutCountX=2
CutCountY=2
CutSizeX=256
CutSizeY=256
CutTileX=0
CutTileY=0


SAS умеет резать мегатайлы на обычные, за это отвечают последние несколько параметров. Описание есть в Вики.

Степень двойки в паскальскрипте выглядит так:

Код: Выделить всё
Y := round(intpower(2,GetZ-1)) - 1 - GetY;


В данном примере это не пригодилось.

За это сообщение автора Tolik поблагодарил:
rass (22 май 2013, 11:51)
Рейтинг: 5.26%
 
Tolik
Гуру
 
Сообщения: 2604
Зарегистрирован: 28 янв 2011, 10:38
Благодарил (а): 280 раз.
Поблагодарили: 587 раз.

Пред.След.

Вернуться в SAS.Планета

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

Сейчас этот форум просматривают: ingener и гости: 9