亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? qgswmsprovider.cpp

?? 一個(gè)非常好的GIS開源新版本
?? CPP
?? 第 1 頁 / 共 5 頁
字號(hào):
  }/*  QgsHttpTransaction http(url, httpproxyhost, httpproxyport);  // Do a passthrough for the status bar text  connect(          &http, SIGNAL(setStatus        (QString)),           this,   SLOT(showStatusMessage(QString))         );  bool httpOk;  httpOk = http.getSynchronously(imagesource);  if (!httpOk)  {    // We had an HTTP exception    mErrorCaption = tr("HTTP Exception");    mError = http.errorString();    mError += "\n" + tr("Tried URL: ") + url;    return 0;  }  if (http.responseContentType() == "application/vnd.ogc.se_xml")  {    // We had a Service Exception from the WMS    QgsDebugMsg("got Service Exception as:\n"  + QString(imagesource) );    mErrorCaption = tr("WMS Service Exception");    // set mError with the following:    parseServiceExceptionReportDOM(imagesource);    mError += "\n" + tr("Tried URL: ") + url;    QgsDebugMsg("composed error message '" + mError + "'.");#endif    return 0;  }*/  QgsDebugMsg("Response received.");#ifdef QGISDEBUG  //QFile file( "/tmp/qgis-wmsprovider-draw-raw.png" );  //if ( file.open( QIODevice::WriteOnly ) )   //{  //  file.writeBlock(imagesource);  //  file.close();  //}#endif  // Load into the final QImage.  //bool success = i.loadFromData(imagesource);  if (cachedImage)  {    delete cachedImage;  }  cachedImage = new QImage(imagesource);  // Remember settings for useful caching next time.  cachedViewExtent = viewExtent;  cachedPixelWidth = pixelWidth;  cachedPixelHeight = pixelHeight;#ifdef QGISDEBUG  // Get what we can support// Commented out for now, causes segfaults.//  supportedFormats();#endif      QgsDebugMsg("Exiting.");  // TODO: bit depth conversion to the client's expectation//  return *(i.convertDepth(32));  return cachedImage;}/*void QgsWmsProvider::getServerCapabilities(){  QgsDebugMsg("entering.");  retrieveServerCapabilities();  // TODO: Return generic server capabilities here  QgsDebugMsg("exiting.");}*/bool QgsWmsProvider::retrieveServerCapabilities(bool forceRefresh){  QgsDebugMsg("entering.");  if ( httpcapabilitiesresponse.isNull() ||       forceRefresh )  {    QString url = baseUrl + "SERVICE=WMS&REQUEST=GetCapabilities";    httpcapabilitiesresponse = retrieveUrl(url);    if (httpcapabilitiesresponse.isEmpty())    {      return FALSE;    }/*    QgsHttpTransaction http(url, httpproxyhost, httpproxyport);    // Do a passthrough for the status bar text    connect(            &http, SIGNAL(setStatus        (QString)),             this,   SLOT(showStatusMessage(QString))           );    bool httpOk;    httpOk = http.getSynchronously(httpcapabilitiesresponse);    if (!httpOk)    {      // We had an HTTP exception      mErrorCaption = tr("HTTP Exception");      mError = http.errorString();      mError += "\n" + tr("Tried URL: ") + url;    QgsDebugMsg("!httpOK: "  + mError );      return FALSE;    }*/    QgsDebugMsg("Converting to DOM.");    bool domOK;    domOK = parseCapabilitiesDOM(httpcapabilitiesresponse, mCapabilities);    if (!domOK)    {      // We had an DOM exception -       // mErrorCaption and mError are pre-filled by parseCapabilitiesDOM      mError += "\n" + tr("Tried URL: ") + url;      QgsDebugMsg("!domOK: " + mError);      return FALSE;    }  }  QgsDebugMsg("exiting.");  return TRUE;}QByteArray QgsWmsProvider::retrieveUrl(QString url){  QgsDebugMsg("WMS request Url: " + url);  QgsHttpTransaction http(    url,    mHttpProxyHost,    mHttpProxyPort,    mHttpProxyUser,    mHttpProxyPass);  // Do a passthrough for the status bar text  connect(          &http, SIGNAL(setStatus        (QString)),           this,   SLOT(showStatusMessage(QString))         );  QByteArray httpResponse;  bool httpOk;  httpOk = http.getSynchronously(httpResponse);  if (!httpOk)  {    // We had an HTTP exception    mErrorCaption = tr("HTTP Exception");    mError = http.errorString();    mError += "\n" + tr("Tried URL: ") + url;    return QByteArray("");  }  if (http.responseContentType() == "application/vnd.ogc.se_xml")  {    // We had a Service Exception from the WMS    QgsDebugMsg("got Service Exception as:\n" + httpResponse );    mErrorCaption = tr("WMS Service Exception");    // set mError with the following:    parseServiceExceptionReportDOM(httpResponse);    mError += "\n" + tr("Tried URL: ") + url;    QgsDebugMsg("composed error message '" + mError + "'.");    return QByteArray("");  }  return httpResponse;}#if 0// deprecatedbool QgsWmsProvider::downloadCapabilitiesURI(QString const & uri){  QgsDebugMsg("Entered with '"  + uri  + "'");  QgsHttpTransaction http(uri, httpproxyhost, httpproxyport);  // Do a passthrough for the status bar text  connect(          &http, SIGNAL(setStatus        (QString)),           this,   SLOT(showStatusMessage(QString))         );  bool httpOk;  httpOk = http.getSynchronously(httpcapabilitiesresponse);  if (!httpOk)  {    // We had an HTTP exception    mErrorCaption = tr("HTTP Exception");    mError = http.errorString();    mError += "\n" + tr("Tried URL: ") + uri;    QgsDebugMsg("!httpOK: "  + mError );    return FALSE;  }  QgsDebugMsg("Converting to DOM.");  bool domOK;  domOK = parseCapabilitiesDOM(httpcapabilitiesresponse, capabilities);  if (!domOK)  {    // We had an DOM exception -     // mErrorCaption and mError are pre-filled by parseCapabilitiesDOM    mError += "\n" + tr("Tried URL: ") + uri;  QgsDebugMsg("!domOK: " + mError );    return FALSE;  }  QgsDebugMsg("exiting.");  return TRUE;}#endifbool QgsWmsProvider::parseCapabilitiesDOM(QByteArray const & xml, QgsWmsCapabilitiesProperty& capabilitiesProperty){  QgsDebugMsg("entering.");#ifdef QGISDEBUG  //test the content of the QByteArray.  // There is a bug in Qt4.1.2, due for fixing in 4.2.0, where  // QString(QByteArray) uses strlen to find the length of the  // QByteArray. However, there are no guarantees that the QByteArray  // has a terminating \0, and hence this can cause a crash, so we supply  // the qbytearray to qstring in a way that ensures that there is a  // terminating \0, and just to be safe, we also give it the actual  // size.  // Also, the Qt qWarning() function has a limit of 8192 bytes per  // message, which can easily be exceeded by wms capability  // documents, so we use the qgs logger stuff instead which doesn't  // have that limitation.  QString responsestring(QString::fromAscii(xml.constData(), xml.size()));  QgsLogger::debug("QgsWmsProvider::parseCapabilitiesDOM, received the following data: "+responsestring);    //QFile file( "/tmp/qgis-wmsprovider-capabilities.xml" );  //if ( file.open( QIODevice::WriteOnly ) )   //{  //  file.writeBlock(xml);  //  file.close();  //}#endif    // Convert completed document into a DOM  QString errorMsg;  int errorLine;  int errorColumn;  bool contentSuccess = capabilitiesDOM.setContent(xml, false, &errorMsg, &errorLine, &errorColumn);  if (!contentSuccess)  {    mErrorCaption = tr("DOM Exception");    mError = QString(tr("Could not get WMS capabilities: %1 at line %2 column %3")                .arg(errorMsg)                .arg(errorLine)                .arg(errorColumn) );    mError += "\n" + tr("This is probably due to an incorrect WMS Server URL.");  QgsLogger::debug("DOM Exception: "+mError);    return FALSE;  }  QDomElement docElem = capabilitiesDOM.documentElement();  // Assert that the DTD is what we expected (i.e. a WMS Capabilities document)  QgsDebugMsg("testing tagName " + docElem.tagName() );  if (!      (       (docElem.tagName() == "WMS_Capabilities")     // (1.3 vintage)       ||       (docElem.tagName() == "WMT_MS_Capabilities")  // (1.1.1 vintage)      )     )  {    mErrorCaption = tr("DOM Exception");    mError = QString(tr("Could not get WMS capabilities in the "                        "expected format (DTD): no %1 or %2 found")                .arg("WMS_Capabilities")                .arg("WMT_MS_Capabilities")             );    mError += "\n" + tr("This is probably due to an incorrect WMS Server URL.");  QgsLogger::debug("DOM Exception: "+mError);    return FALSE;  }  capabilitiesProperty.version = docElem.attribute("version");  // Start walking through XML.  QDomNode n = docElem.firstChild();  while( !n.isNull() ) {      QDomElement e = n.toElement(); // try to convert the node to an element.      if( !e.isNull() ) {          //QgsDebugMsg(e.tagName() ); // the node really is an element.          if      (e.tagName() == "Service")          {            QgsDebugMsg("  Service.");            parseService(e, capabilitiesProperty.service);          }          else if (e.tagName() == "Capability")          {            QgsDebugMsg("  Capability.");            parseCapability(e, capabilitiesProperty.capability);          }      }      n = n.nextSibling();  }  QgsDebugMsg("exiting.");  return TRUE;}void QgsWmsProvider::parseService(QDomElement const & e, QgsWmsServiceProperty& serviceProperty){  QgsDebugMsg("entering.");  QDomNode n1 = e.firstChild();  while( !n1.isNull() ) {      QDomElement e1 = n1.toElement(); // try to convert the node to an element.      if( !e1.isNull() ) {          //QgsDebugMsg("  "  + e1.tagName() ); // the node really is an element.          if      (e1.tagName() == "Title")          {            serviceProperty.title = e1.text();          }          else if (e1.tagName() == "Abstract")          {            serviceProperty.abstract = e1.text();          }          else if (e1.tagName() == "KeywordList")          {            parseKeywordList(e1, serviceProperty.keywordList);          }          else if (e1.tagName() == "OnlineResource")          {            parseOnlineResource(e1, serviceProperty.onlineResource);          }          else if (e1.tagName() == "ContactInformation")          {            parseContactInformation(e1, serviceProperty.contactInformation);          }          else if (e1.tagName() == "Fees")          {            serviceProperty.fees = e1.text();          }          else if (e1.tagName() == "AccessConstraints")          {            serviceProperty.accessConstraints = e1.text();          }          else if (e1.tagName() == "LayerLimit")          {            serviceProperty.layerLimit = e1.text().toUInt();          }          else if (e1.tagName() == "MaxWidth")          {            serviceProperty.maxWidth = e1.text().toUInt();          }          else if (e1.tagName() == "MaxHeight")          {            serviceProperty.maxHeight = e1.text().toUInt();          }      }      n1 = n1.nextSibling();  }

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
www.日韩精品| 国产精品区一区二区三区| 欧美色图第一页| 97超碰欧美中文字幕| 成人毛片在线观看| 福利视频网站一区二区三区| 国产尤物一区二区| 高清不卡一区二区| 99视频热这里只有精品免费| 成人av资源网站| 色综合咪咪久久| 欧美午夜精品久久久| 欧美色国产精品| 欧美年轻男男videosbes| 欧美精品久久一区| 日韩一卡二卡三卡四卡| 精品国产免费视频| 国产亚洲一区二区三区四区| 国产女人aaa级久久久级 | 久久精品欧美一区二区三区不卡| 久久综合久久鬼色| 国产精品乱人伦一区二区| 中文字幕一区二区在线观看| 亚洲欧美激情在线| 天天综合天天综合色| 极品少妇xxxx偷拍精品少妇| 国产成人精品午夜视频免费| 99视频有精品| 欧美三级三级三级| 日韩欧美中文字幕公布| 国产视频一区不卡| 一区二区成人在线观看| 奇米777欧美一区二区| 国产麻豆成人精品| 色国产综合视频| 91精品国产综合久久香蕉的特点| 久久精品亚洲麻豆av一区二区| 欧美韩国日本不卡| 五月激情综合婷婷| 粗大黑人巨茎大战欧美成人| 色婷婷激情久久| 精品久久久久久久久久久久久久久| 国产日韩精品久久久| 亚洲一区二区欧美日韩| 久久99国产精品麻豆| 91视视频在线直接观看在线看网页在线看| 欧美精品久久99| 日本一区二区高清| 亚洲国产一区在线观看| 国产资源精品在线观看| 色婷婷激情久久| 国产亚洲女人久久久久毛片| 一区二区国产盗摄色噜噜| 韩国理伦片一区二区三区在线播放| 99久久精品免费看| 精品入口麻豆88视频| 一区二区成人在线视频| 国产成人免费网站| 欧美顶级少妇做爰| 中文字幕一区av| 精品亚洲porn| 欧美伊人精品成人久久综合97 | 日日夜夜精品视频免费| 从欧美一区二区三区| 日韩一区二区三区在线视频| 国产精品成人在线观看| 黄页视频在线91| 欧美日韩免费观看一区三区| 中文在线一区二区| 麻豆国产精品一区二区三区| 欧洲一区二区三区在线| 国产精品视频线看| 久久99日本精品| 欧美日韩精品二区第二页| 亚洲三级免费观看| 国产精品一区2区| 日韩欧美一级二级| 天堂资源在线中文精品| 一本色道久久综合精品竹菊| 国产亚洲欧美一区在线观看| 久久机这里只有精品| 欧美剧情片在线观看| 亚洲一区二区五区| 91首页免费视频| 国产精品久久毛片av大全日韩| 国产主播一区二区| 日韩欧美一区电影| 日韩av网站在线观看| 在线看国产一区二区| 亚洲三级电影网站| 成人av电影观看| 国产无遮挡一区二区三区毛片日本| 免费在线观看视频一区| 欧美日本视频在线| 天天综合色天天| 在线成人免费视频| 午夜欧美视频在线观看| 欧美性感一类影片在线播放| 伊人一区二区三区| 日本精品一区二区三区高清 | 久久国产精品99久久人人澡| 欧美精品一级二级| 五月激情综合网| 欧美精品一二三| 偷窥少妇高潮呻吟av久久免费| 欧美日韩一区二区三区四区五区| 夜夜嗨av一区二区三区中文字幕 | 99精品在线免费| 中文字幕一区在线观看| 成人av电影在线观看| 国产精品乱码一区二区三区软件 | 亚洲国产一区二区a毛片| 91成人免费在线| 亚洲电影第三页| 在线播放/欧美激情| 爽好多水快深点欧美视频| 91精选在线观看| 美女视频免费一区| 久久一区二区三区四区| 国产精品资源在线看| 亚洲午夜一二三区视频| 91精品国产综合久久精品图片 | 欧美色图片你懂的| 亚洲不卡一区二区三区| 日韩一区二区三区视频在线 | 成人午夜在线免费| 综合精品久久久| 欧美在线不卡视频| 日韩国产一二三区| 精品福利在线导航| 丁香激情综合五月| 亚洲在线视频免费观看| 91精品国产综合久久香蕉麻豆| 激情综合网天天干| 亚洲欧洲国产日韩| 欧美色图天堂网| 国产一区二区三区香蕉| 中文字幕一区二区三区四区不卡 | 欧美日韩久久一区| 国产主播一区二区| 亚洲女女做受ⅹxx高潮| 欧美一级黄色录像| 99久久久无码国产精品| 天天操天天干天天综合网| 2017欧美狠狠色| 色综合亚洲欧洲| 久久丁香综合五月国产三级网站| 国产色91在线| 欧美色爱综合网| 国产不卡在线播放| 天天综合天天综合色| 国产欧美精品区一区二区三区 | 欧美日本韩国一区| 成人v精品蜜桃久久一区| 亚洲第一av色| 欧美国产一区视频在线观看| 欧美系列亚洲系列| 成人小视频免费在线观看| 偷拍一区二区三区| 中文字幕制服丝袜一区二区三区| 欧美自拍偷拍一区| 成人精品在线视频观看| 日韩激情视频网站| 中文字幕在线不卡一区| 日韩一级黄色大片| 色成年激情久久综合| 国产福利不卡视频| 日本一区中文字幕| 高清不卡一区二区| 男女激情视频一区| 不卡电影免费在线播放一区| 黄色精品一二区| 日韩免费看网站| 欧美在线啊v一区| 粗大黑人巨茎大战欧美成人| 日韩电影在线看| 亚洲男人天堂一区| 国产精品免费网站在线观看| 日韩女优毛片在线| 欧美日韩视频在线一区二区| 成人美女视频在线看| 黄色日韩网站视频| 日本不卡一二三区黄网| 亚洲一卡二卡三卡四卡| 国产精品久久久久久亚洲伦| 欧美成人一级视频| 51午夜精品国产| 欧美综合一区二区三区| 色婷婷狠狠综合| gogogo免费视频观看亚洲一| 精品制服美女丁香| 秋霞影院一区二区| 午夜精品123| 亚洲成av人影院| 一级日本不卡的影视| 国产精品久久久久久久午夜片| 久久久久成人黄色影片| 久久亚洲影视婷婷| 欧美va亚洲va在线观看蝴蝶网| 欧美日韩精品免费|