Changeset 14226


Ignore:
Timestamp:
01/10/13 07:57:58 (12 years ago)
Author:
Mathieu Morlighem
Message:

NEW: Added distance output

Location:
issm/trunk-jpl/src/c
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • issm/trunk-jpl/src/c/Container/Observations.cpp

    r14070 r14226  
    167167        xDelete<int>(indices);
    168168
     169}/*}}}*/
     170/*FUNCTION Observations::Distances{{{*/
     171void Observations::Distances(IssmPDouble* distances,IssmPDouble *x,IssmPDouble *y,int n,IssmPDouble radius){
     172
     173        IssmPDouble xi,yi,obs;
     174
     175        for(int i=0;i<n;i++){
     176                this->ClosestObservation(&xi,&yi,&obs,x[i],y[i],radius);
     177                distances[i]=sqrt( (x[i]-xi)*(x[i]-xi) + (y[i]-yi)*(y[i]-yi) );
     178        }
    169179}/*}}}*/
    170180/*FUNCTION Observations::ObservationList(IssmPDouble **px,IssmPDouble **py,IssmPDouble **pobs,int* pnobs,IssmPDouble x_interp,IssmPDouble y_interp,IssmPDouble radius,int maxdata){{{*/
  • issm/trunk-jpl/src/c/Container/Observations.h

    r14048 r14226  
    2727                /*Methods*/
    2828                void ClosestObservation(IssmDouble *px,IssmDouble *py,IssmDouble *pobs,IssmDouble x_interp,IssmDouble y_interp,IssmDouble radius);
     29                void Distances(IssmPDouble* distances,IssmPDouble *x,IssmPDouble *y,int n,IssmPDouble radius);
    2930                void InterpolationIDW(IssmDouble *pprediction,IssmDouble x_interp,IssmDouble y_interp,IssmDouble radius,int mindata,int maxdata,IssmDouble power);
    3031                void InterpolationV4(IssmDouble *pprediction,IssmDouble x_interp,IssmDouble y_interp,IssmDouble radius,int mindata,int maxdata);
  • issm/trunk-jpl/src/c/modules/Krigingx/Krigingx.cpp

    r14055 r14226  
    5757        else if(strcmp(output,"variomap")==0){
    5858                observations->Variomap(predictions,x_interp,n_interp);
     59        }
     60        else if(strcmp(output,"distance")==0){
     61                observations->Distances(predictions,x_interp,y_interp,n_interp,radius);
    5962        }
    6063        else if(strcmp(output,"delaunay")==0){
Note: See TracChangeset for help on using the changeset viewer.