- Timestamp:
- Mar 21, 2019, 4:14:14 PM (5 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/prototype-v0/zoo-project/zoo-kernel/service_internal_ms.c
r890 r897 403 403 extent=getMapArray(tmpI->content,options[proto][4],imyIndex); 404 404 memset(webService_url,0,strlen(webService_url)); 405 freeMap(&rformat);405 freeMap(&rformat); 406 406 free(rformat); 407 407 rformat=createMap("value","image/tiff"); … … 578 578 579 579 if(test!=NULL){ 580 sprintf(tmpExtent,"%. 3f,%.3f,%.3f,%.3f",min.y,min.x,max.y,max.x);580 sprintf(tmpExtent,"%.15f,%.15f,%.15f,%.15f",min.y,min.x,max.y,max.x); 581 581 map* isGeo=getMapArray(output->content,"crs_isGeographic",imyIndex); 582 582 #ifdef DEBUGMS … … 584 584 #endif 585 585 if(isGeo!=NULL && strcasecmp("true",isGeo->value)==0){ 586 sprintf(tmpExtent,"%. 3f,%.3f,%.3f,%.3f",min.y,min.x,max.y,max.x);586 sprintf(tmpExtent,"%.15f,%.15f,%.15f,%.15f",min.y,min.x,max.y,max.x); 587 587 setMapArray(output->content,"wgs84_extent",imyIndex,tmpExtent); 588 sprintf(tmpExtent,"% f,%f,%f,%f", minY,minX, maxY, maxX);588 sprintf(tmpExtent,"%.15f,%.15f,%.15f,%.15f", minY,minX, maxY, maxX); 589 589 }else{ 590 sprintf(tmpExtent,"%. 3f,%.3f,%.3f,%.3f",min.x,min.y,max.x,max.y);590 sprintf(tmpExtent,"%.15f,%.15f,%.15f,%.15f",min.x,min.y,max.x,max.y); 591 591 setMapArray(output->content,"wgs84_extent",imyIndex,tmpExtent); 592 592 } 593 593 setMapArray(output->content,"wms_extent",imyIndex,tmpExtent); 594 sprintf(tmpSrsStr,"%. 3f,%.3f,%.3f,%.3f",min.x,min.y,max.x,max.y);594 sprintf(tmpSrsStr,"%.15f,%.15f,%.15f,%.15f",min.x,min.y,max.x,max.y); 595 595 setMapArray(output->content,"wcs_extent",imyIndex,tmpExtent); 596 596 }else{ 597 sprintf(tmpExtent,"%. 3f,%.3f,%.3f,%.3f",min.x,min.y,max.x,max.y);597 sprintf(tmpExtent,"%.15f,%.15f,%.15f,%.15f",min.x,min.y,max.x,max.y); 598 598 setMapArray(output->content,"wgs84_extent",imyIndex,tmpExtent); 599 sprintf(tmpExtent,"% f,%f,%f,%f",minX, minY, maxX, maxY);599 sprintf(tmpExtent,"%.15f,%.15f,%.15f,%.15f",minX, minY, maxX, maxY); 600 600 map* isGeo=getMapArray(output->content,"crs_isGeographic",imyIndex); 601 601 if(isGeo!=NULL){ … … 604 604 #endif 605 605 if(isGeo!=NULL && strcasecmp("true",isGeo->value)==0) 606 sprintf(tmpExtent,"% f,%f,%f,%f", minY,minX, maxY, maxX);606 sprintf(tmpExtent,"%.15f,%.15f,%.15f,%.15f", minY,minX, maxY, maxX); 607 607 } 608 608 setMapArray(output->content,"wms_extent",imyIndex,tmpExtent); 609 sprintf(tmpExtent,"%. 3f,%.3f,%.3f,%.3f",minX,minY,maxX,maxY);609 sprintf(tmpExtent,"%.15f,%.15f,%.15f,%.15f",minX,minY,maxX,maxY); 610 610 setMapArray(output->content,"wcs_extent",imyIndex,tmpExtent); 611 611 } … … 754 754 } 755 755 756 setMapArray(output->content,"gdalType",imyIndex,OGR_Dr_GetName(OGR_DS_GetDriver(poDS))); 756 757 setMapArray(output->content,"geodatatype",imyIndex,"vector"); 757 758 int iLayer = 0; … … 963 964 int imyIndex=getPublishedId(output); 964 965 map* tmpMap=getMapArray(output->content,"storage",imyIndex); 966 map* styleMap=getMap(output->content,"msStyle"); 965 967 char *pszFilename=tmpMap->value; 966 968 GDALDatasetH hDataset; … … 1112 1114 msInsertHashTable(&(myLayer->metadata), "ows_bandcount", nBands); 1113 1115 } 1114 if(nBandsI>=3) 1115 if(nBandsI==4) 1116 msLayerAddProcessing(myLayer,"BANDS=1,2,3,4"); 1116 if(styleMap==NULL || strstr(styleMap->value,"BANDS=")==NULL){ 1117 if(nBandsI>=3) 1118 if(nBandsI==4) 1119 msLayerAddProcessing(myLayer,"BANDS=1,2,3,4"); 1120 else 1121 msLayerAddProcessing(myLayer,"BANDS=1,2,3"); 1122 else if(nBandsI>=2) 1123 msLayerAddProcessing(myLayer,"BANDS=1,2"); 1117 1124 else 1118 msLayerAddProcessing(myLayer,"BANDS=1,2,3"); 1119 else if(nBandsI>=2) 1120 msLayerAddProcessing(myLayer,"BANDS=1,2"); 1121 else 1122 msLayerAddProcessing(myLayer,"BANDS=1"); 1123 1125 msLayerAddProcessing(myLayer,"BANDS=1"); 1126 } 1124 1127 1125 1128 /** … … 1162 1165 char tmpMm[100],tmpMp[100]; 1163 1166 sprintf(tmpMm,"%.3f %.3f",pdfMin,pdfMax); 1164 if(pdfMin!=pdfMax) 1165 sprintf(tmpMp,"SCALE_%d=%.3f,%.3f",iBand+1,pdfMean-(2*pdfStdDev),pdfMean+(2*pdfStdDev)); 1166 /*else 1167 sprintf(tmpMp,"SCALE_%d=%.3f,%.3f",iBand+1,pdfMin,pdfMax);*/ 1167 if(pdfMin!=pdfMax && (styleMap==NULL || strstr(styleMap->value,"SCALE_")==NULL)){ 1168 sprintf(tmpNb,"%d",iBand+1); 1169 if(styleMap==NULL || strstr(styleMap->value,"BANDS=")==NULL || strstr(strstr(styleMap->value,"BANDS="),tmpNb)!=NULL){ 1170 if(pdfMean-(2*pdfStdDev)<0) 1171 sprintf(tmpMp,"SCALE_%d=%.3f,%.3f",iBand+1,0.0,pdfMean+(2*pdfStdDev)); 1172 else 1173 sprintf(tmpMp,"SCALE_%d=%.3f,%.3f",iBand+1,pdfMean-(2*pdfStdDev),pdfMean+(2*pdfStdDev)); 1174 msLayerAddProcessing(myLayer,tmpMp); 1175 } 1176 } 1168 1177 char tmpI[31]; 1169 1178 sprintf(tmpI,"%s_interval",tmpN); 1170 1179 msInsertHashTable(&(myLayer->metadata), tmpI, tmpMm); 1171 //if(pdfMax>255)1172 msLayerAddProcessing(myLayer,tmpMp);1173 1180 map* test=getMap(output->content,"msClassify"); 1174 1181 if(test!=NULL && strncasecmp(test->value,"true",4)==0){ … … 1255 1262 1256 1263 } 1257 msLayerAddProcessing(myLayer,"RESAMPLE=BILINEAR"); 1258 1264 if(styleMap==NULL || strstr(styleMap->value,"RESAMPLE")==NULL) 1265 msLayerAddProcessing(myLayer,"RESAMPLE=BILINEAR"); 1266 1267 if(styleMap!=NULL && strlen(styleMap->value)>9){ 1268 msUpdateLayerFromString(myLayer,styleMap->value,MS_FALSE); 1269 } 1270 1259 1271 m->layerorder[m->numlayers] = m->numlayers; 1260 1272 m->numlayers++; … … 1278 1290 int imyIndex=getPublishedId(outputs); 1279 1291 map* mime=getMapArray(outputs->content,"mimeType",imyIndex); 1292 map* msUrl=getMapFromMaps(conf,"main","mapserverAddress"); 1293 map* dataPath=getMapFromMaps(conf,"main","dataPath"); 1280 1294 char *ext="data"; 1281 1295 if(mime!=NULL) … … 1482 1496 free(correspondance); 1483 1497 1498 map* sid=getMapFromMaps(conf,"lenv","usid"); 1499 char *mapPath= 1500 (char*)malloc((14+strlen(sid->value)+strlen(outputs->name)+strlen(dataPath->value))*sizeof(char)); 1501 sprintf(mapPath,"%s/%s_%d_%s.map",dataPath->value,outputs->name,imyIndex,sid->value); 1502 char *mapUrl= 1503 (char*)malloc((6+strlen(mapPath)+strlen(msUrl->value))*sizeof(char)); 1504 sprintf(mapUrl,"%s?map=%s",msUrl->value,mapPath); 1505 1506 if (msInsertHashTable(&(myMap->web.metadata), "ows_onlineresource", mapUrl) == NULL){ 1507 #ifdef DEBUGMS 1508 fprintf(stderr,"Unable to add metadata"); 1509 #endif 1510 return; 1511 } 1484 1512 1485 1513 if(tryOgr(conf,outputs,myMap)<0) … … 1487 1515 return ; 1488 1516 1489 tmp1=getMapFromMaps(conf,"main","dataPath"); 1490 char *tmpPath=(char*)malloc((13+strlen(tmp1->value))*sizeof(char)); 1491 sprintf(tmpPath,"%s/symbols.sym",tmp1->value); 1517 char *tmpPath=(char*)malloc((13+strlen(dataPath->value))*sizeof(char)); 1518 sprintf(tmpPath,"%s/symbols.sym",dataPath->value); 1492 1519 msInitSymbolSet(&myMap->symbolset); 1493 1520 myMap->symbolset.filename=zStrdup(tmpPath); 1494 1521 free(tmpPath); 1495 1522 1496 map* sid=getMapFromMaps(conf,"lenv","usid");1497 char *mapPath=1498 (char*)malloc((14+strlen(sid->value)+strlen(outputs->name)+strlen(tmp1->value))*sizeof(char));1499 sprintf(mapPath,"%s/%s_%d_%s.map",tmp1->value,outputs->name,imyIndex,sid->value);1500 1523 msSaveMap(myMap,mapPath); 1501 1524 saveMapNames(conf,outputs,mapPath);
Note: See TracChangeset
for help on using the changeset viewer.