Приветствую!
Да, опечатался в строке подключения (она у меня в xml хранится). Конечно, я пытаюсь открыть именно
[CODE]WMTS#Type=UTMS&IP=http://sat01.maps.yandex.net/tiles?l=sat&v=1.40.0&ID1=YandexSat&Name1=Yandex Спутник&Projection=EPSG:3395[/CODE]но не получается.
в wmslist_ru.xml прописано:
[CODE]<?xml version="1.0" encoding="UTF-8"?>
<Geoportal xmlns:ows="http://www.opengis.net/ows/1.1">
<InternetConnect>
<Url1><![CDATA[https://ya.ru/]]></Url1>
</InternetConnect>
<Defines>
<!--Тип алгоритма поиска данных на сервере-->
<Algorithm>
<UTMSType Name="GOOGLE" Value="0"/>
<UTMSType Name="YAHOO" Value="1"/>
<UTMSType Name="OPENSTREETMAP" Value="2"/>
<UTMSType Name="VIRTEARTH" Value="3"/>
<UTMSType Name="YANDEX" Value="4"/>
<UTMSType Name="KOSMOSNIMKI" Value="5"/>
<UTMSType Name="PROTECTEDPLANET" Value="6"/>
<UTMSType Name="ROSREESTR" Value="7"/>
<UTMSType Name="ESRI" Value="8"/>
<UTMSType Name="OSM" Value="9"/>
<UTMSType Name="GOOGLEHYBRYD" Value="10"/>
<UTMSType Name="WIKIMAPIA" Value="11"/>
<UTMSType Name="MAPSFORFREE" Value="12"/>
<UTMSType Name="YANDEXTRAFF" Value="13"/>
<UTMSType Name="YANDEXNAROD" Value="14"/>
<UTMSType Name="NAVITEL" Value="15"/>
<UTMSType Name="MAIL" Value="16"/>
<UTMSType Name="MAILSAT" Value="17"/>
<UTMSType Name="NOKIANAVTEQ" Value="18"/>
<UTMSType Name="NOKIA" Value="19"/>
<UTMSType Name="ROSKOSMOS" Value="20"/>
<UTMSType Name="GENSHTAB" Value="21"/>
<UTMSType Name="UKORTHO" Value="22"/>
<UTMSType Name="VEGA" Value="23"/>
<UTMSType Name="VEGAFIRE" Value="24"/>
<UTMSType Name="YR" Value="25"/>
<UTMSType Name="NEWUK" Value="26"/>
<UTMSType Name="NEWUKRAZGR" Value="27"/>
<UTMSType Name="ROSREESTRCADASTR" Value="28"/>
<UTMSType Name="VISICOM" Value="29"/>
<UTMSType Name="EATLAS" Value="30"/>
<UTMSType Name="EATLASHIBR" Value="31"/>
<UTMSType Name="UKOBZOR" Value="32"/>
<UTMSType Name="FLIGHTRADAR" Value="33"/>
</Algorithm>
<!--Стандарт доступа к данным-->
<PortalStadndart>
<Type>WMS</Type>
<Type>WMTS</Type>
<Type>WFS</Type>
<!--Стандарт доступа к любому геопорталу-->
<Type>UTMS</Type>
<!--Подтип доступа к геопорталу-->
<SubType>TMS</SubType>
<SubType>TMSGEO</SubType>
<SubType>NOCAP</SubType>
</PortalStadndart>
</Defines>
<Cache>
<Path><![CDATA[/home/user/maps-cache/]]></Path>
</Cache>
<RepeatDegree>180</RepeatDegree>
<Portal>
<Params>
<!--Файл обновления>
<UpdateFile>
<![CDATA[http://www.gisinfo.net/geoportal/wmslist.xml]]>
</UpdateFile-->
<!--Использовать ли прокси? 0 - нет 1 - да-->
<UseProxy>1</UseProxy>
<!--Адрес прокси сервера-->
<Proxyserver Url="http://proxy.***.ru"/>
<!--Порт-->
<Port>port</Port>
<!--Имя пользователя-->
<User>PMatveev</User>
<!--Пароль-->
<Password>*****</Password>
<!--Максимальное время ожидания соединения с сервером в милисекундах-->
<ConnectTimeout>2000</ConnectTimeout>
<!--Максимальное время ожидания загрузки 1 тайла в милисекундах-->
<ReadTimeout>20000</ReadTimeout>
<UpdateFlag>0</UpdateFlag>
<FeatureCount>0</FeatureCount>
</Params>
</Portal>
</Geoportal>
[/CODE]при запуске на 13ой версии ГИС Конструктор в логах:
[CODE]18:31:13 131033114152768 2020-07-02 18:31:13
18:31:13 131033114152768 Open log - mapopen.log
18:31:13 131033114152768 Encoding = "UTF-8"
18:31:13 131033114152768 Mapaccess library version: 20200229
>>>> 18:31:13 131033114152768 InitLibrary CurlConnect lpfn_curl_global_init SSL ENABLED
18:31:13 131033114152768 CurlConnect SetParametersToCurlHandler lpfn_curl_easy_setopt SUCCES CURLOPT_MAXREDIRS 30
18:31:13 131033114152768 CurlConnect SetParametersToCurlHandler lpfn_curl_easy_setopt SUCCES CURLOPT_CONNECTTIMEOUT_MS 2000
18:31:13 131033114152768 CurlConnect SetParametersToCurlHandler lpfn_curl_easy_setopt SUCCES CURLOPT_TIMEOUT_MS 20000
18:31:13 131033114152768 CurlConnect SetParametersToCurlHandler lpfn_curl_easy_setopt SUCCES CURLOPT_PROXY
18:31:13 131033114152768 CurlConnect Get lpfn_curl_easy_perform https://ya.ru/
[/CODE]И все.
Собственно, код, которым я пытаюсь открыть карту:
[CODE]int main(int argc, char **argv) {
if (argc < 2) {
qDebug() << "no map spec";
}
QApplication app(argc, argv);
QStringList args = app.arguments();
qDebug() << args[1];
QString mapName(args[1]);
QString workDir("/tmp/conf");
mapSetPathShellUn((const WCHAR*) workDir.constData());
QString log("/tmp/mapopen.log");
mapOpenDiagnostics((const WCHAR*) log.constData());
HMAP hmap = mapOpenAnyData((const WCHAR*) mapName.constData());
if (hmap != 0) {
qDebug() << "opened";
mapCloseData(hmap);
} else {
qDebug() << "mapOpenAnyData error";
}
}
[/CODE]Может я лишнего из wmslist.xml удалил? или прокси не правильно указал? но если в строке подключения нет Type=UTMS, то до яндекса доходит, значит с прокси все хорошо.
С уважением,
Матвеев П.В.