Interpolate 2-D or 3-D scattered data (2024)

Interpolate 2-D or 3-D scattered data

expand all in page

Description

Use scatteredInterpolant to perform interpolation on a 2-D or 3-D data set of scattered data. scatteredInterpolant returns the interpolant F for the given data set. You can evaluate F at a set of query points, such as (xq,yq) in 2-D, to produce interpolated values vq = F(xq,yq).

Use griddedInterpolant to perform interpolation with gridded data.

Creation

Syntax

F = scatteredInterpolant

F = scatteredInterpolant(x,y,v)

F = scatteredInterpolant(x,y,z,v)

F = scatteredInterpolant(P,v)

F = scatteredInterpolant(___,Method)

F = scatteredInterpolant(___,Method,ExtrapolationMethod)

Description

F = scatteredInterpolant creates an empty scattered data interpolant object.

example

F = scatteredInterpolant(x,y,v) creates an interpolant that fits a surface of the form v = F(x,y). Vectors x and y specify the (x,y) coordinates of the sample points. v contains the sample values associated with the points (x,y).

example

F = scatteredInterpolant(x,y,z,v) creates a 3-D interpolant of the form v = F(x,y,z).

example

F = scatteredInterpolant(P,v) specifies the coordinates of the sample points as an array. The rows of P contain the (x, y) or (x, y, z) coordinates for the values in v.

example

F = scatteredInterpolant(___,Method) specifies an interpolation method 'nearest', 'linear', or 'natural' as the last input argument in any of the first three syntaxes.

example

F = scatteredInterpolant(___,Method,ExtrapolationMethod) specifies both the interpolation and extrapolation methods. Pass Method and ExtrapolationMethod together as the last two input arguments in any of the first three syntaxes.

Input Arguments

expand all

Sample points, specified as column vectors with the same number of rows as v. The sample points should be unique. However, if the sample points contain duplicates, scatteredInterpolant displays a warning and merges the duplicates into a single point.

The x, y, and z arguments set the value of the Points property of the scatteredInterpolant object.

Data Types: double

Sample points array, specified as an m-by-n matrix, where m is the number of points and n is the dimension of the space where the points reside. Each row of P contains the (x, y) or (x, y, z) coordinates of a sample point. The sample points should be unique. However, if the sample points contain duplicates, scatteredInterpolant displays a warning and merges the duplicates into a single point.

This argument sets the Points property of the scatteredInterpolant object.

Data Types: double

Function values at sample points, specified as a vector or matrix. For 2-D data, v = F(x,y). For 3-D data, v = F(x,y,z).

  • To interpolate using a single set of values, specify v as a vector, where the number of rows is the same as the number of sample points.

  • To interpolate using multiple sets of values, specify v as a matrix, where the number of rows is the same as the number of sample points. Each column in v represents the values of a different function at the sample points. For example, if x and y are column vectors with 10 elements, you can specify v as a 10-by-4 matrix to interpolate using four different sets of values.

scatteredInterpolant does not ignore NaN values in v, so interpolation results near those sample points are also NaN.

This argument sets the Values property of the scatteredInterpolant object.

Data Types: double

Interpolation method, specified as one of these options.

MethodDescriptionContinuity
'linear' (default)

Linear interpolation

C0
'nearest'

Nearest neighbor interpolation

Discontinuous
'natural'

Natural neighbor interpolation

C1 (except at sample points)

This argument sets the Method property of the scatteredInterpolant object.

Extrapolation method, specified as one of these options.

Extrapolation MethodDescription
'linear'

Linear extrapolation based on boundary gradients. This method is the default when Method is 'linear' or 'natural'.

'nearest'

Nearest neighbor extrapolation. This method evaluates to the value of the nearest neighbor. This method is the default when Method is 'nearest'.

'boundary' (since R2024a)

Boundary extrapolation. This method extends the values on the interpolation boundary into the extrapolation domain.

'none'

No extrapolation. Any queries outside the convex hull of Points return NaN.

This argument sets the ExtrapolationMethod property of the scatteredInterpolant object.

Properties

expand all

Sample points, specified as a matrix. The size of the matrix is m-by-2 or m-by-3 to represent m points in 2-D or 3-D space. Each row of Points contains the (x, y) or (x, y, z) coordinates of a unique sample point. The rows in Points correspond to the function values in Values.

Data Types: double

Function values at sample points, specified as a vector or matrix. This property is set by the v input argument.

Data Types: double

Interpolation method, specified as 'linear','nearest' , or 'natural'. See Method for descriptions of these methods.

Extrapolation method, specified as 'linear', 'nearest', 'boundary' (since R2024a), or 'none'. See ExtrapolationMethod for descriptions of these methods.

Usage

Syntax

Vq = F(Pq)

Vq = F(Xq,Yq)

Vq = F(Xq,Yq,Zq)

Vq = F({xq,yq})

Vq = F({xq,yq,zq})

Description

Use scatteredInterpolant to create the interpolant, F. Then you can evaluate F at specific points using any of the following syntaxes.

Vq = F(Pq) evaluates F at the query points in the matrix Pq. Each row in Pq contains the coordinates of a query point.

example

Vq = F(Xq,Yq) and Vq = F(Xq,Yq,Zq) specify query points as two or three arrays of equal size. F treats the query points as column vectors, for example, Xq(:).

  • If the Values property of F is a column vector representing one set of values at the sample points, then Vq is the same size as the query points.

  • If the Values property of F is a matrix representing multiple sets of values at the sample points, then Vq is a matrix, and each column represents a different set of values at the query points.

example

Vq = F({xq,yq}) and Vq = F({xq,yq,zq}) specify query points as grid vectors. Use this syntax to conserve memory when you want to query a large grid of points.

Examples

collapse all

2-D Interpolation

Open Live Script

Define some sample points and calculate the value of a trigonometric function at those locations. These points are the sample values for the interpolant.

t = linspace(3/4*pi,2*pi,50)';x = [3*cos(t); 2*cos(t); 0.7*cos(t)];y = [3*sin(t); 2*sin(t); 0.7*sin(t)];v = repelem([-0.5; 1.5; 2],length(t));

Create the interpolant.

F = scatteredInterpolant(x,y,v);

Evaluate the interpolant at query locations (xq,yq).

tq = linspace(3/4*pi+0.2,2*pi-0.2,40)';xq = [2.8*cos(tq); 1.7*cos(tq); cos(tq)];yq = [2.8*sin(tq); 1.7*sin(tq); sin(tq)];vq = F(xq,yq);

Plot the result.

plot3(x,y,v,'.',xq,yq,vq,'.'), grid ontitle('Linear Interpolation')xlabel('x'), ylabel('y'), zlabel('Values')legend('Sample data','Interpolated query data','Location','Best')

Interpolate 2-D or 3-D scattered data (1)

3-D Interpolation

Open Live Script

Create an interpolant for a set of scattered sample points, then evaluate the interpolant at a set of 3-D query points.

Define 200 random points and sample a trigonometric function. These points are the sample values for the interpolant.

rng default;P = -2.5 + 5*rand([200 3]);v = sin(P(:,1).^2 + P(:,2).^2 + P(:,3).^2)./(P(:,1).^2+P(:,2).^2+P(:,3).^2);

Create the interpolant.

F = scatteredInterpolant(P,v);

Evaluate the interpolant at query locations (xq,yq,zq).

[xq,yq,zq] = meshgrid(-2:0.25:2);vq = F(xq,yq,zq);

Plot slices of the result.

xslice = [-.5,1,2]; yslice = [0,2]; zslice = [-2,0];slice(xq,yq,zq,vq,xslice,yslice,zslice)

Interpolate 2-D or 3-D scattered data (2)

Replacement of Sample Values

Open Live Script

Replace the elements in the Values property when you want to change the values at the sample points. You get immediate results when you evaluate the new interpolant because the original triangulation does not change.

Create 50 random points and sample an exponential function. These points are the sample values for the interpolant.

rng('default')x = -2.5 + 5*rand([50 1]);y = -2.5 + 5*rand([50 1]);v = x.*exp(-x.^2-y.^2);

Create the interpolant.

F = scatteredInterpolant(x,y,v)
F = scatteredInterpolant with properties: Points: [50x2 double] Values: [50x1 double] Method: 'linear' ExtrapolationMethod: 'linear'

Evaluate the interpolant at (1.40,1.90).

ans = 0.0069

Change the interpolant sample values and reevaluate the interpolant at the same point.

vnew = x.^2 + y.^2;F.Values = vnew;F(1.40,1.90)
ans = 5.6491

Eliminate Duplicate Sample Points

Open Live Script

Use groupsummary to eliminate duplicate sample points and control how they are combined prior to calling scatteredInterpolant.

Create a 200-by-3 matrix of sample point locations. Add duplicate points in the last five rows.

P = -2.5 + 5*rand(200,3);P(197:200,:) = repmat(P(196,:),4,1);

Create a vector of random values at the sample points.

V = rand(size(P,1),1);

If you attempt to use scatteredInterpolant with duplicate sample points, it throws a warning and averages the corresponding values in V to produce a single unique point. However, you can use groupsummary to eliminate the duplicate points prior to creating the interpolant. This is particularly useful if you want to combine the duplicate points using a method other than averaging.

Use groupsummary to eliminate the duplicate sample points and preserve the maximum value in V at the duplicate sample point location. Specify the sample points matrix as the grouping variable and the corresponding values as the data.

[V_unique,P_unique] = groupsummary(V,P,@max);

Since the grouping variable has three columns, groupsummary returns the unique groups P_unique as a cell array. Convert the cell array back into a matrix.

P_unique = [P_unique{:}];

Create the interpolant. Since the sample points are now unique, scatteredInterpolant does not throw a warning.

I = scatteredInterpolant(P_unique,V_unique);

Compare Scattered Data Interpolation Methods

Open Live Script

Compare the results of several different interpolation algorithms offered by scatteredInterpolant.

Create a sample data set of 50 scattered points. The number of points is artificially small to highlight the differences between the interpolation methods.

x = -3 + 6*rand(50,1);y = -3 + 6*rand(50,1);v = sin(x).^4 .* cos(y);

Create the interpolant and a grid of query points.

F = scatteredInterpolant(x,y,v);[xq,yq] = meshgrid(-3:0.1:3);

Plot the results using the 'nearest', 'linear', and 'natural' methods. Each time the interpolation method changes, you need to requery the interpolant to get the updated results.

F.Method = 'nearest';vq1 = F(xq,yq);plot3(x,y,v,'mo')hold onmesh(xq,yq,vq1)title('Nearest Neighbor')legend('Sample Points','Interpolated Surface','Location','NorthWest')

Interpolate 2-D or 3-D scattered data (3)

F.Method = 'linear';vq2 = F(xq,yq);figureplot3(x,y,v,'mo')hold onmesh(xq,yq,vq2)title('Linear')legend('Sample Points','Interpolated Surface','Location','NorthWest')

Interpolate 2-D or 3-D scattered data (4)

F.Method = 'natural';vq3 = F(xq,yq);figureplot3(x,y,v,'mo')hold onmesh(xq,yq,vq3)title('Natural Neighbor')legend('Sample Points','Interpolated Surface','Location','NorthWest')

Interpolate 2-D or 3-D scattered data (5)

Plot the exact solution.

figureplot3(x,y,v,'mo')hold onmesh(xq,yq,sin(xq).^4 .* cos(yq))title('Exact Solution')legend('Sample Points','Exact Surface','Location','NorthWest')

Interpolate 2-D or 3-D scattered data (6)

Compare Scattered Data Extrapolation Methods

Since R2024a

Open Live Script

Compare the results of several different extrapolation methods offered by scatteredInterpolant.

Create a sample data set of 50 scattered points, and calculate the value of a trigonometric function at those locations. These points are the sample values for the interpolant.

rng defaultx = -3 + 6*rand(50,1);y = -3 + 6*rand(50,1);v = sin(x).^4 .* cos(y);

Create the interpolant.

F = scatteredInterpolant(x,y,v)
F = scatteredInterpolant with properties: Points: [50x2 double] Values: [50x1 double] Method: 'linear' ExtrapolationMethod: 'linear'

Compute the boundary of the input data.

C = convhull(x,y);xc = [x(C); x(C(1))];yc = [y(C); y(C(1))];vc = [v(C); v(C(1))];

Evaluate the interpolant at query locations (xq,yq) using linear extrapolation based on boundary gradients. Then, plot the result of the interpolation and extrapolation.

[xq,yq] = meshgrid(-4:0.1:4);vq1 = F(xq,yq);surf(xq,yq,vq1,FaceAlpha=0.5,DisplayName="Interpolation + extrapolation result",EdgeColor=[100 100 100]./256,FaceColor="interp")hold onplot3(x,y,v,"black.",MarkerSize=20,DisplayName="Sample points")plot3(xc,yc,vc,"magenta-",LineWidth=3,DisplayName="Interpolation-extrapolation boundary")title("Linear interpolation + linear extrapolation")legend(Location="NorthEast")zlim([-2.8 1.3])colorbarcolormap jetclim([-2.8 1.3])view([-183.69 21.20])hold off

Interpolate 2-D or 3-D scattered data (7)

Modify the interpolant to use nearest neighbor extrapolation, and evaluate and visualize the interpolant.

F.ExtrapolationMethod = "nearest";vq2 = F(xq,yq);surf(xq,yq,vq2,FaceAlpha=0.5,DisplayName="Interpolation + extrapolation result",EdgeColor=[100 100 100]./256,FaceColor="interp")hold onplot3(x,y,v,"black.",MarkerSize=20,DisplayName="Sample points")plot3(xc,yc,vc,"magenta-",LineWidth=3,DisplayName="Interpolation-extrapolation boundary")title("Linear interpolation + Nearest extrapolation")legend(Location="NorthEast")zlim([-2.8 1.3])colorbarcolormap jetclim([-2.8 1.3])view([-183.69 21.20])hold off

Interpolate 2-D or 3-D scattered data (8)

Modify the interpolant to extend the interpolation boundary into the extrapolation domain, and evaluate and visualize the interpolant.

F.ExtrapolationMethod = "boundary";vq3 = F(xq,yq);surf(xq,yq,vq3,FaceAlpha=0.5,DisplayName="Interpolation + extrapolation result",EdgeColor=[100 100 100]./256,FaceColor="interp")hold onplot3(x,y,v,"black.",MarkerSize=20,DisplayName="Sample points")plot3(xc,yc,vc,"magenta-",LineWidth=3,DisplayName="Interpolation-extrapolation boundary")title("Linear interpolation + Boundary extrapolation")legend(Location="NorthEast")zlim([-2.8 1.3])colorbarcolormap jetclim([-2.8 1.3])view([-183.69 21.20])hold off

Interpolate 2-D or 3-D scattered data (9)

Compare the extrapolation methods by examining the plotted results. Boundary extrapolation preserves continuity between the interpolation and extrapolation domain, while nearest neighbor extrapolation can be discontinuous along the boundary. Boundary extrapolation does not produce extreme values in the extrapolation domain, while linear extrapolation can produce extreme values.

Interpolate Multiple Sets of Values at Query Points

Since R2023b

Open Live Script

Interpolate multiple data sets at the same query points.

Create a sample data set with 50 scattered points represented by sample point vectors x and y.

rng("default")x = -3 + 6*rand(50,1);y = -3 + 6*rand(50,1);

To interpolate multiple data sets, create a matrix where each column represents the values of a different function at the sample points.

s1 = sin(x).^4 .* cos(y);s2 = sin(x) + cos(y);s3 = x + y;s4 = x.^2 + y;v = [s1 s2 s3 s4];

Create query point vectors, which indicate the locations to perform interpolation for each set of values in v.

xq = -3:0.1:3;yq = -3:0.1:3;

Create the interpolant F.

F = scatteredInterpolant(x,y,v)
F = scatteredInterpolant with properties: Points: [50x2 double] Values: [50x4 double] Method: 'linear' ExtrapolationMethod: 'linear'

Evaluate the interpolant at the query locations. Each page of Vq contains the interpolated values for the corresponding data set in v.

Vq = F({xq,yq});size(Vq)
ans = 1×3 61 61 4

Plot the interpolated values for each data set.

tiledlayout(2,2)nexttileplot3(x,y,v(:,1),'mo')hold onmesh(xq,yq,Vq(:,:,1)')title("sin(x).^4 .* cos(y)")nexttileplot3(x,y,v(:,2),'mo')hold onmesh(xq,yq,Vq(:,:,2)')title("sin(x) + cos(y)")nexttileplot3(x,y,v(:,3),'mo')hold onmesh(xq,yq,Vq(:,:,3)')title("x + y")nexttileplot3(x,y,v(:,4),'mo')hold onmesh(xq,yq,Vq(:,:,4)')title("x.^2 + y")lg = legend("Sample Points","Interpolated Surface");lg.Layout.Tile = "north";

Interpolate 2-D or 3-D scattered data (10)

More About

expand all

Interpolating function that you can evaluate at query points.

A set of points that are axis-aligned and ordered.

A set of points that have no structure among their relative locations.

A grid represented as a set of arrays. For example, you can create a full grid using ndgrid.

Tips

  • It is quicker to evaluate a scatteredInterpolant object F at many different sets of query points than it is to compute the interpolations separately using the functions griddata or griddatan. For example:

    % Fast to create interpolant F and evaluate multiple timesF = scatteredInterpolant(X,Y,V)v1 = F(Xq1,Yq1)v2 = F(Xq2,Yq2)% Slower to compute interpolations separately using griddatav1 = griddata(X,Y,V,Xq1,Yq1)v2 = griddata(X,Y,V,Xq2,Yq2)
  • To change the interpolation sample values or interpolation method, it is more efficient to update the properties of the interpolant object F than it is to create a new scatteredInterpolant object. When you update Values or Method, the underlying Delaunay triangulation of the input data does not change, so you can compute new results quickly.

  • Scattered data interpolation with scatteredInterpolant uses a Delaunay triangulation of the data, so interpolation can be sensitive to scaling issues in the sample points x, y, z, or P. When scaling issues occur, you can use normalize to rescale the data and improve the results. See Normalize Data with Differing Magnitudes for more information.

Algorithms

scatteredInterpolant uses a Delaunay triangulation of the scattered sample points to perform interpolation [1].

References

[1] Amidror, Isaac. “Scattered data interpolation methods for electronic imaging systems: a survey.” Journal of Electronic Imaging. Vol. 11, No. 2, April 2002, pp. 157–176.

Extended Capabilities

Version History

Introduced in R2013a

expand all

Specify the 'boundary' extrapolation method to extend the values on the interpolation boundary into the extrapolation domain. This method mitigates extreme extrapolation values and maintains continuity between the extrapolation and interpolation domains.

See Also

griddedInterpolant | griddata | griddatan | ndgrid | meshgrid

MATLAB Command

You clicked a link that corresponds to this MATLAB command:

 

Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.

Interpolate 2-D or 3-D scattered data (11)

Select a Web Site

Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .

You can also select a web site from the following list:

Americas

  • América Latina (Español)
  • Canada (English)
  • United States (English)

Europe

  • Belgium (English)
  • Denmark (English)
  • Deutschland (Deutsch)
  • España (Español)
  • Finland (English)
  • France (Français)
  • Ireland (English)
  • Italia (Italiano)
  • Luxembourg (English)
  • Netherlands (English)
  • Norway (English)
  • Österreich (Deutsch)
  • Portugal (English)
  • Sweden (English)
  • Switzerland
    • Deutsch
    • English
    • Français
  • United Kingdom (English)

Asia Pacific

  • Australia (English)
  • India (English)
  • New Zealand (English)
  • 中国
  • 日本 (日本語)
  • 한국 (한국어)

Contact your local office

Interpolate 2-D or 3-D scattered data (2024)

FAQs

What is the best data interpolation method? ›

Radial Basis Function interpolation is a diverse group of data interpolation methods. In terms of the ability to fit your data and produce a smooth surface, the Multiquadric method is considered by many to be the best.

How do you know whether you interpolated or extrapolated data? ›

Extra- refers to "in addition to," while inter- means "in between." Thus, extrapolation indicates a user is trying to find a value in addition to existing values, while interpolation means that they want to determine a new value in between existing values.

How do you interpolate in scattered data? ›

Linear interpolation of scattered data requires a mesh to be constructed using known independent points. This can be done using Delaunay triangulation to obtain simplexes (triangles or their higher dimensional equivalents) for the interpolation function to be applied over.

What is the best way to interpolate data? ›

Linear interpolation is the most straightforward and commonly used interpolation method. It comes naturally when we have two points, we connect them with a straight line to fill out the missing information in between. By doing so, we made our assumption that the points on the line represent the unobserved values.

Which interpolation formula is better? ›

If linear interpolation formula is concerned then it can be used to find the new value from the two given points. If we compare it to Lagrange's interpolation formula, the “n” set of numbers is needed. Thereafter Lagrange's method is to be used to find the new value.

What is the most accurate method of interpolation? ›

In conclusion, computation is the best method for interpolating contour lines. This involves using mathematical formulas and algorithms to estimate the value of the contour line at a point. Linear interpolation, polynomial interpolation, and kriging are all effective methods of computational interpolation.

How do you analyze scattered data? ›

Here's what to look for when evaluating a scatter plot: Assess the data distribution for trends, gaps, or clusters. Or simply where a relationship exists between two numeric variables within the data set. Use linear regression analysis to capture relationships between variables.

What is the easiest method for solving interpolation? ›

One of the simplest methods is linear interpolation (sometimes known as lerp). Consider the above example of estimating f(2.5). Since 2.5 is midway between 2 and 3, it is reasonable to take f(2.5) midway between f(2) = 0.9093 and f(3) = 0.1411, which yields 0.5252.

What is the fastest interpolation method? ›

The Nearest Point interpolation method is the fastest of all the interpolation methods when used with point data (fig. 19). If used with line or polygon data it can be slower than the Nearest interpolation especially if many of the object vertices lie outside the grid.

What is the simplest method of interpolation? ›

One of the simplest methods, linear interpolation, requires knowledge of two points and the constant rate of change between them. With this information, you may interpolate values anywhere between those two points.

What are the disadvantages of interpolation? ›

Among its disadvantages is that its solution it is not very precise and data points is not differentiable. Bicubic interpolation in two dimensions, and trilinear interpolation in three dimensions are used when working on gridded or scattered data.

What is the best interpolation model? ›

Two of the most popular spatial interpolation methods are Inverse Distance Weighting (IDW) and Kriging. Both approaches offer unique advantages and have distinct applications.

How to Interpolate in 5 Steps (With Steps and ...Indeedhttps://ca.indeed.com ›

Predicting the value between two points, known as interpolation, is a valuable tool in statistics, science, and business. When professionals in these fields col...
Explore the data analysis technique of interpolation, learn how to perform a linear interpolation and find out about careers where you might use this technique.
(This will get long, unless I just run out of steam.) First, a few comments about non-scattered data. (See the answer that references littleCMS). There are two ...

What is the optimal interpolation method? ›

Optimal interpolation is a commonly used method for data assimilation. It combines theory (background data) with observations. It can be used to merge and interpolate measurements of the same variable, such as elevation or precipitation, from different data sources.

Top Articles
How to Pray the Rosary: Guide to the Rosary Prayer
Learn All the Dos and Don'ts of Marinating
Car Parts Open Now
Endicott Final Exam Schedule Fall 2023
Panorama Charter Portal
Lux Nails Columbia Mo
A Comprehensive Guide to Redgif Downloader
Nook Glowlight 3 Case
What does JOI mean? JOI Definition. Meaning of JOI. OnlineSlangDictionary.com
Dbd Wesker Build
Estate Sales Net Grand Rapids
Www Craigslist Com Pueblo Co
Things to do in Wichita Falls this weekend Sept. 12-15
Rainbird Wiring Diagram
When Is Lana Rhoades’ Baby Due Date? Baby Daddy, Bump, And More
123Movies Evil Dead
Craigslist For Cars Los Angeles
Rite Aid Klein Transit
David Knowles, journalist who helped make the Telegraph podcast Ukraine: The Latest a runaway success
Weather Arlington Radar
My Eschedule Greatpeople Me
Pokimane Titty Pops Out
Author T. Jefferson Parker
Duitse Rechtspraak: is de Duitse Wet op het minimumloon wel of niet van toepassing op buitenlandse transportondernemingen? | Stichting Vervoeradres
Hyb Urban Dictionary
Herdis Eriksson Obituary
Biopark Prices
Jodie Sweetin Breast Reduction
Hingham Police Scanner Wicked Local
Heavenly Delusion Gif
80s Z Cavaricci Pants
Bbc Weather In Mallorca
No Good Dirty Scoundrel Crossword
Theatervoorstellingen in Roosendaal, het complete aanbod.
Inland Empire Heavy Equipment For Sale By Owner
Farmers Branch Isd Calendar
Imagemate Orange County
Kenji Lentil Soup
Detroit Lions Den Forum
Sport Clip Hours
How To Pause Tamagotchi Gen 2
10.4: The Ideal Gas Equation
Amariah Morales Snapchat
Publix Employee Handbook Pdf
Do Diversity Visa Lottery Winners Need Affidavit Of Support With Green Card Application Is Affidavit
50 Shades Of Grey Movie 123Movies
Function Calculator - eMathHelp
Ascensionpress Com Login
Bucks County fall festivals and events to keep you busy through the season
Www.888Tt.xyz
Choices’ summer movie preview
Pnp Telegram Group
Latest Posts
Article information

Author: Sen. Ignacio Ratke

Last Updated:

Views: 5876

Rating: 4.6 / 5 (76 voted)

Reviews: 91% of readers found this page helpful

Author information

Name: Sen. Ignacio Ratke

Birthday: 1999-05-27

Address: Apt. 171 8116 Bailey Via, Roberthaven, GA 58289

Phone: +2585395768220

Job: Lead Liaison

Hobby: Lockpicking, LARPing, Lego building, Lapidary, Macrame, Book restoration, Bodybuilding

Introduction: My name is Sen. Ignacio Ratke, I am a adventurous, zealous, outstanding, agreeable, precious, excited, gifted person who loves writing and wants to share my knowledge and understanding with you.