[gdal-dev] weeding out x,y,z points
Ari Jolma
ari.jolma at tkk.fi
Thu Feb 26 01:10:46 EST 2009
nicholas.g.lawrence at mainroads.qld.gov.au wrote:
>> nicholas.g.lawrence at mainroads.qld.gov.au wrote:
>>
>>> A client has a very large (millions of records) ascii file consisting
>>> solely of x,y,z co-ordinates.
>>>
>>> They would like to reduce the number of records by weeking out points that
>>>
>>> are too close to each other.
>>>
>>> Can GDAL or OGR weed out 3D points based on proximity to each other?
>>>
>
> My client says that they want the resulting data points to be
> a subset of the original data points, that is the process should
> delete points, not re-calculate new ones that are an average.
>
I would use plain Perl (or Python or high level language X) to read in
the points sequentially and discard new ones that are "too close" to
existing ones. It may take a while & require a bit of memory it is
probably doable that way (millions of points but not 100s of millions in
the end set). The program shouldn't need to be more than 20 lines I guess.
This is doable in plain programming language since distance is so easy
to compute. If you had polygons or linestrings then GDAL+GEOS would be
natural additional tools.
Ari
More information about the gdal-dev
mailing list