<div>Even simpler, you can just use vtkParticle reader. It wil;l read x,y,z data along with a scalar.</div>
<div> </div>
<div>Here is the code I use. Note it writes out a .vtp file that can be used for further processing in either vtk or ParaView.</div>
<div> </div>
<div> </div>
<div><font color="#008000" size="2">
<p>// Author: Andrew J. P. Maclean</p>
<p>// Purpose read in a dataset where each line consists of point</p>
<p>// with its position (x,y,z) and (possibly) a scalar.</p>
<p>// Then create and save a vtk polydata array suitable for further rendering.</p></font><font color="#0000ff" size="2">
<p>#include</p></font><font size="2"> </font><font color="#a31515" size="2"><iostream></font><font color="#0000ff" size="2">
<p>#include</p></font><font size="2"> </font><font color="#a31515" size="2"><stdexcept></font><font color="#0000ff" size="2">
<p>#include</p></font><font size="2"> </font><font color="#a31515" size="2"><string></font><font color="#0000ff" size="2">
<p>#include</p></font><font size="2"> </font><font color="#a31515" size="2"><fstream></font><font color="#0000ff" size="2">
<p>#include</p></font><font size="2"> </font><font color="#a31515" size="2"><iomanip></font><font color="#0000ff" size="2">
<p>#include</p></font><font size="2"> </font><font color="#a31515" size="2"><algorithm></font><font color="#0000ff" size="2">
<p>#include</p></font><font size="2"> </font><font color="#a31515" size="2"><sstream></font><font color="#0000ff" size="2">
<p>#include</p></font><font size="2"> </font><font color="#a31515" size="2"><vtkRenderer.h></font><font color="#0000ff" size="2">
<p>#include</p></font><font size="2"> </font><font color="#a31515" size="2"><vtkRenderWindow.h></font><font color="#0000ff" size="2">
<p>#include</p></font><font size="2"> </font><font color="#a31515" size="2"><vtkRenderWindowInteractor.h></font><font color="#0000ff" size="2">
<p>#include</p></font><font size="2"> </font><font color="#a31515" size="2"><vtkPolyDataMapper.h></font><font color="#0000ff" size="2">
<p>#include</p></font><font size="2"> </font><font color="#a31515" size="2"><vtkActor.h></font><font color="#0000ff" size="2">
<p>#include</p></font><font size="2"> </font><font color="#a31515" size="2"><vtkXMLPolyDataWriter.h></font><font color="#0000ff" size="2">
<p>#include</p></font><font size="2"> </font><font color="#a31515" size="2"><vtkXMLPolyDataReader.h></font><font color="#0000ff" size="2">
<p>#include</p></font><font size="2"> </font><font color="#a31515" size="2"><vtkParticleReader.h></font><font color="#0000ff" size="2">
<p>#include</p></font><font size="2"> </font><font color="#a31515" size="2"><vtkSmartPointer.h>
<p> </p></font><font size="2">
<p></p></font><font color="#0000ff" size="2">
<p>int</p></font><font size="2"> main ( </font><font color="#0000ff" size="2">int</font><font size="2"> argc, </font><font color="#0000ff" size="2">char</font><font size="2">* argv[] )
<p>{</p>
<p></p></font><font color="#0000ff" size="2">if</font><font size="2"> ( argc != 3 ) 
<p>{</p>
<p>std::cout << </p></font><font color="#a31515" size="2">"Need input file and output file."</font><font size="2"> << std::endl;
<p></p></font><font color="#0000ff" size="2">return</font><font size="2"> 1;
<p>}</p>
<p>std::string ifn = argv[1];</p>
<p>std::string ofn = argv[2];</p>
<p>std::cerr << </p></font><font color="#a31515" size="2">"Input file: "</font><font size="2"> << ifn << std::endl;
<p>std::cerr << </p></font><font color="#a31515" size="2">"Output file: "</font><font size="2"> << ofn << std::endl; 
<p></p></font><font color="#0000ff" size="2">if</font><font size="2"> ( ifn == ofn )
<p>{</p>
<p>std::cerr << </p></font><font color="#a31515" size="2">"File names cannot be the same."</font><font size="2"> << std::endl;
<p></p></font><font color="#0000ff" size="2">return</font><font size="2"> 1;
<p>}</p>
<p>vtkSmartPointer<vtkParticleReader> reader = vtkSmartPointer<vtkParticleReader>::New();</p>
<p>reader->SetFileName(ifn.c_str());</p>
<p>reader->Update();</p>
<p>vtkSmartPointer<vtkXMLPolyDataWriter> writer = vtkSmartPointer<vtkXMLPolyDataWriter>::New();</p>
<p>writer->SetInput(reader->GetOutput());</p>
<p>writer->SetFileName(ofn.c_str());</p>
<p>writer->Write();</p>
<p></p></font><font color="#008000" size="2">// Set up the pipeline.</font><font size="2">
<p>vtkSmartPointer<vtkPolyDataMapper> mapper = vtkSmartPointer<vtkPolyDataMapper>::New();</p>
<p>mapper->SetInput(reader->GetOutput());</p>
<p>vtkSmartPointer<vtkActor> actor = vtkSmartPointer<vtkActor>::New();</p>
<p>actor->SetMapper(mapper);</p>
<p></p>
<p>vtkSmartPointer<vtkRenderer> ren = vtkSmartPointer<vtkRenderer>::New();</p>
<p>ren->SetBackground(0.2,0.2 ,0.3);</p>
<p>vtkSmartPointer<vtkRenderWindow> renWin = vtkSmartPointer<vtkRenderWindow>::New();</p>
<p>renWin->AddRenderer(ren);</p>
<p>renWin->SetSize(800 ,600);</p>
<p>vtkSmartPointer<vtkRenderWindowInteractor> iRen = vtkSmartPointer<vtkRenderWindowInteractor>::New();</p>
<p>iRen->SetRenderWindow(renWin);</p>
<p>ren->AddViewProp(actor);</p>
<p>ren->Render();</p>
<p>iRen->Initialize();</p>
<p>iRen->Start();</p>
<p>}</p></font></div>
<div> </div>
<div> </div>
<div> </div>
<div> </div>
<div> </div>
<div><br><br> </div>
<div><span class="gmail_quote">On 10/11/07, <b class="gmail_sendername">Soeren Gebbert</b> <<a href="mailto:soerengebbert@googlemail.com">soerengebbert@googlemail.com</a>> wrote:</span>
<blockquote class="gmail_quote" style="PADDING-LEFT: 1ex; MARGIN: 0px 0px 0px 0.8ex; BORDER-LEFT: #ccc 1px solid">Hi John,<br>i dont know java so i can only provide some C++ code snips.<br>But i guess you can do something like this:
<br><br>double x, y, z, value;<br>vtkIdList *ids = vtkIdList::New();<br>vtkPoints *points = vtkPoints::New(); <br>vtkDoubleArray *values = vtkDoubleArray::New();<br>values->SetNumberOfTuples(NumberOfPointsInDataset);<br>
values->SetNumberOfComponents(1);<br>values->SetName("<span>resistivity</span>");<br><br>for(i = 0; i < NumberOfPointsInDataset; i++)<br>{<br>  // Read your data into x, y and z coordiantes<br>  points->InsertPoint(i, x, y, z);
<br><br>  //Read your <span>resistivity values<br>  values->InsertValue(i, value); <br><br>  //Create point ids for the cells<br>  ids->InsertNextId(i);<br></span>}<br><br>// Build PolyData<br>vtkPolyData *poly = vtkPolyData::New();
<br>poly->Allocate(NumberOfPointsInDataset);<br>poly->SetPoints(points); <br>points->Delete();<br>poly->GetPointData()->SetScalars(values);<br>values->Delete();<br><br>//Now build the cells. You can build triangles if you know the order
<br>//of your points. If you dont know the order than just create a PolyVertex cell to render the points in VTK <br>//use the delaunay triangulator: to triangluate the data<br><br>poly->InsertNextCell(VTK_POLY_VERTEX, ids);
<br>ids->Delete();<br>poly->Sqeeze();<br><br>//Now use the delaunay triangulator to triangulate the poly data set <br>vtkDelaunay2d ....<br><br>//The code is untested and without any warranty :)<br><br>//END<br><br>
References:<br><a onclick="return top.js.OpenExtLink(window,event,this)" href="http://www.vtk.org/doc/release/5.0/html/a01872.html" target="_blank">http://www.vtk.org/doc/release/5.0/html/a01872.html </a><br><a onclick="return top.js.OpenExtLink(window,event,this)" href="http://www.vtk.org/doc/release/5.0/html/a01335.html" target="_blank">
http://www.vtk.org/doc/release/5.0/html/a01335.html</a><br><a onclick="return top.js.OpenExtLink(window,event,this)" href="http://www.vtk.org/doc/release/5.0/html/a01867.html" target="_blank">http://www.vtk.org/doc/release/5.0/html/a01867.html 
</a><br><a onclick="return top.js.OpenExtLink(window,event,this)" href="http://www.vtk.org/doc/release/5.0/html/a01322.html" target="_blank">http://www.vtk.org/doc/release/5.0/html/a01322.html</a><br><a onclick="return top.js.OpenExtLink(window,event,this)" href="http://www.vtk.org/doc/release/5.0/html/a01880.html" target="_blank">
http://www.vtk.org/doc/release/5.0/html/a01880.html </a><br><br>Best regards<br><span class="sg">Soeren</span> 
<div><span class="e" id="q_1158e6d64d4dcab1_2"><br><br>
<div><span class="gmail_quote">2007/10/11, John Ownsoul <<a onclick="return top.js.OpenExtLink(window,event,this)" href="mailto:mongwarrior@yahoo.com" target="_blank">mongwarrior@yahoo.com</a>>:</span> 
<blockquote class="gmail_quote" style="PADDING-LEFT: 1ex; MARGIN: 0pt 0pt 0pt 0.8ex; BORDER-LEFT: rgb(204,204,204) 1px solid"><br>Hi Soeran;<br><br>Thanks for your attention and help. I can write my own program to map the
<br>geographical data to java. But, what must i do after than getting the values<br>and coordinates? Could you send me a sample code or a reference about this? <br>Thanks again; (I want to use only java and vtk)<br><br>Best regards;
<br><br>John Ownsoul<br><br><br><br><br><br><br><br><br>Soeren Gebbert-2 wrote:<br>><br>> Hi John,<br>> just an idea. If you have geographical data which you want to visualize <br>> with<br>> vtk<br>> than try the combination of the gis grass and paraview. There are many
<br>> options<br>> in grass to get your x,y,z ascii data into it. You can process the data<br>> there and export it with the grass module r.out.vtk into the vtk format to<br>> visualize<br>> the data with paraview, visit or mayavi.
<br>><br>> Or you can build in java a poly dataset with x,y,z point coordinates<br>> connected with triangles to<br>> each other and store the resistivity values in an point data double array.<br>> If you have
<br>> an ordered point set the triangulation should be no problem.<br>> AFAIC you have to import the data with your own program. There is no <br>> x,y,z,value import module in vtk. But im not sure.<br>><br>> Best regards
<br>> soeren<br>><br>> Link to grass:<br>> <a onclick="return top.js.OpenExtLink(window,event,this)" href="http://grass.itc.it/" target="_blank">grass.itc.it</a><br>><br>> Link to some grass/vtk modules and related stuff: 
<br>> <a onclick="return top.js.OpenExtLink(window,event,this)" href="http://www-pool.math.tu-berlin.de/~soeren/grass/modules" target="_blank">www-pool.math.tu-berlin.de/~soeren/grass/modules</a><<a onclick="return top.js.OpenExtLink(window,event,this)" href="http://www-pool.math.tu-berlin.de/~soeren/grass/modules" target="_blank">
http://www-pool.math.tu-berlin.de/%7Esoeren/grass/modules </a>><br>><br>> 2007/10/11, John Ownsoul <<a onclick="return top.js.OpenExtLink(window,event,this)" href="mailto:mongwarrior@yahoo.com" target="_blank">
mongwarrior@yahoo.com</a>>:<br>>><br>>><br>>> Dear Fellows;<br>>><br>>> I have some data about a geographical surface, and i want to show an <br>>> image<br>>> in VTK (with Java).
<br>>> But i am a beginner, so i don't know the syntax very well. I practice<br>>> with<br>>> VTK, but i don't know the file operations. Could you help me to construct <br>>> the file and show the image in vtk??
<br>>><br>>> I use these datas at the below:<br>>><br>>> x(m)   y(m)   z(m)    resistivity value(ohm.m)<br>>> 2        1    -1,406           204,934 <br>>> 3        1    -1,406           108,021
<br>>> 4        1    -1,406             62,275<br>>> 5        1    -1,406             47,608<br>>>                     ...<br>>><br>>><br>>> Thanks for everything... <br>>><br>>> --
<br>>> View this message in context:<br>>> <a onclick="return top.js.OpenExtLink(window,event,this)" href="http://www.nabble.com/About-constructing-a-3D-geographical-surface-tf4605431.html#a13150408" target="_blank">
http://www.nabble.com/About-constructing-a-3D-geographical-surface-tf4605431.html#a13150408 </a><br>>> Sent from the VTK - Dev mailing list archive at <a onclick="return top.js.OpenExtLink(window,event,this)" href="http://nabble.com/" target="_blank">
Nabble.com</a>.<br>>><br>>> _______________________________________________<br>>> vtk-developers mailing list<br>>> <a onclick="return top.js.OpenExtLink(window,event,this)" href="mailto:vtk-developers@vtk.org" target="_blank">
vtk-developers@vtk.org</a><br>>> <a onclick="return top.js.OpenExtLink(window,event,this)" href="http://www.vtk.org/mailman/listinfo/vtk-developers" target="_blank">http://www.vtk.org/mailman/listinfo/vtk-developers
</a><br>>><br>> <br>> _______________________________________________<br>> vtk-developers mailing list<br>> <a onclick="return top.js.OpenExtLink(window,event,this)" href="mailto:vtk-developers@vtk.org" target="_blank">
vtk-developers@vtk.org</a><br>> <a onclick="return top.js.OpenExtLink(window,event,this)" href="http://www.vtk.org/mailman/listinfo/vtk-developers" target="_blank">http://www.vtk.org/mailman/listinfo/vtk-developers</a>
<br>><br>><br><br>--<br>View this message in context: <a onclick="return top.js.OpenExtLink(window,event,this)" href="http://www.nabble.com/About-constructing-a-3D-geographical-surface-tf4605431.html#a13152207" target="_blank">
http://www.nabble.com/About-constructing-a-3D-geographical-surface-tf4605431.html#a13152207 </a><br>Sent from the VTK - Dev mailing list archive at <a onclick="return top.js.OpenExtLink(window,event,this)" href="http://nabble.com/" target="_blank">
Nabble.com</a>.<br><br>_______________________________________________<br>vtk-developers mailing list<br><a onclick="return top.js.OpenExtLink(window,event,this)" href="mailto:vtk-developers@vtk.org" target="_blank">vtk-developers@vtk.org
</a><br><a onclick="return top.js.OpenExtLink(window,event,this)" href="http://www.vtk.org/mailman/listinfo/vtk-developers" target="_blank">http://www.vtk.org/mailman/listinfo/vtk-developers</a><br></blockquote></div><br>
</span></div><br>_______________________________________________<br>vtk-developers mailing list<br><a onclick="return top.js.OpenExtLink(window,event,this)" href="mailto:vtk-developers@vtk.org">vtk-developers@vtk.org</a><br>
<a onclick="return top.js.OpenExtLink(window,event,this)" href="http://www.vtk.org/mailman/listinfo/vtk-developers" target="_blank">http://www.vtk.org/mailman/listinfo/vtk-developers</a><br><br></blockquote></div><br><br clear="all">
<br>-- <br>___________________________________________<br>Andrew J. P. Maclean<br>Centre for Autonomous Systems<br>The Rose Street Building J04<br>The University of Sydney  2006  NSW<br>AUSTRALIA<br>Ph: +61 2 9351 3283<br>
Fax: +61 2 9351 7474<br>URL: <a href="http://www.acfr.usyd.edu.au/">http://www.acfr.usyd.edu.au/</a><br>___________________________________________