Running clustering queries
Max Pyziur
pyz at brama.com
Wed Mar 27 17:41:43 PDT 2024
On Thu, 28 Mar 2024, Gary Turner wrote:
>
> On 28/03/2024 12:32 pm, Max Pyziur wrote:
>> On Wed, 27 Mar 2024, Regina Obe wrote:
>>
>>> That's the function I would have suggested.
>>>
>>> What query are you trying to run and what is the spatial reference system
>>> id
>>> for your data.
>>>
>>> I'm guessing the issue might be your units of measure. If you want to do
>>> 500 ft you'd be best using a meter or mile based spatial reference system.
>>
>> Here are two examples that I tried:
>> SELECT city, state, ST_ClusterDBScan(geom, eps := 1000, minpoints := 1)
>> OVER () AS cluster
>> FROM shapefiles.atp_filling_stations aa
>> WHERE aa.amenity = 'fuel'
>> AND aa.ctry_code = 'US' AND aa.geom IS NOT NULL;
>>
>>
>> SELECT ST_ClusterKMeans(geom, 1000) OVER () as cluster_id
>> FROM shapefiles.atp_filling_stations
>> GROUP BY cluster_id;
>
> But what's the SRS of 'geom'?
>
> If it's say WGS84, which is a degree based SRS, 1000 will be 1000 degrees!
>
> I don't use archaic units, sorry, so I don' know if there are any foot based
> spatial reference systems.
So, I create a table from this data that I scraped (about 80k U.S. filling
stations). The lat and long fields are floats.
I then issue these two commands:
ALTER TABLE shapefiles.atp_filling_stations ADD COLUMN geom
geometry(Point, 4326);
UPDATE shapefiles.atp_filling_stations SET geom =
ST_SetSRID(ST_MakePoint(longitude, latitude), 4326);
So the SRS is 4326, right?
Max
>> Neither offers something that seems useful.
>>
>> Thank you,
>>
>> Max
>>
>>
>>
>>>> -----Original Message-----
>>>> From: Max Pyziur <pyz at brama.com>
>>>> Sent: Wednesday, March 27, 2024 5:33 PM
>>>> To: postgis-users at lists.osgeo.org
>>>> Subject: Running clustering queries
>>>>
>>>>
>>>> Greetings,
>>>>
>>>> I have a dataset of filling stations with point geometries (about 80k
>>>> U.S.
>>> filling
>>>> stations)
>>>>
>>>> I'm trying to find/make clusters of this data (with a criteria like say
>>> minimum
>>>> of 3 stations w/in 500 feet of each other.
>>>>
>>>> I've found these webpages; but as yet I can't produce any sort of
>>> meaningful
>>>> results.
>>>>
>>>> I would appreciate any and all guidence. Thank you.
>>>>
>>>> Max Pyziur
>>>> pyz at brama.com
>>>>
>>>>
>>>> ##########
>>>> Webpages:
>>>> Examples Of Spatial Clustering With PostGIS - February 28, 2024
>>>> https://mapscaping.com/examples-of-spatial-clustering-with-postgis/
>>>>
>>>> ST_ClusterDBSCAN
>>>> https://postgis.net/docs/ST_ClusterDBSCAN.html
>>>>
>>>> PostGIS Clustering with DBSCAN | Crunchy Data Blog
>>>> https://www.crunchydata.com/blog/postgis-clustering-with-dbscan
>>>>
>>>> clustering - PostGIS nest ST_ClusterKMeans on results of ST_ClusterKMeans
>>>> - Geographic Information Systems Stack Exchange
>>>> https://gis.stackexchange.com/questions/396029/postgis-nest-st-
>>>> clusterkmeans-on-results-of-st-clusterkmeans
>>>
>
More information about the postgis-users
mailing list