Hot answers tagged

5

If you can updgrade to postgis 2.2.0 you might be lucky because that feature has just been introduced. From the doc: "ST_ClusterWithin is an aggregate function that returns an array of GeometryCollections, where each GeometryCollection represents a set of geometries separated by no more than the specified distance." Check this: ...


5

I think you're misunderstanding the purpose of the unique identifier field, and using in ways that will generate undefined results. When a Query Layer is defined, you are given a great deal of leeway to generate an SQL query. ArcGIS uses that query, with various constraints, to access the data. The most common constraint is a spatial filter clause (using ...


4

This technique will work in versions of PostGIS < 2.2.0. Create cluster polygons by buffering the points by half your cluster distance, assign a cluster ID, then transfer the cluster ID to the points the polygons intersect: --Buffer all points by the half the cluster distance (in this case 40 metres), --merge into a multipolygon using st_union(), --then ...


4

Use Spatialite Database! It is a lightweight file based spatial DB supported out of the box by QGIS. First set-up a spatialite DB following theses instructions Push your two tables to this spatialite DB using QGIS DB manager Assuming that your tables are called "polygon" and "line" run the following SQL command in DB manager query interface. SELECT ...


3

I have a feeling you may be over complicating the sql a bit. The following sql should sort out your problem and give you the answer you are looking for. UPDATE schema1.table1 SET column1 = column2 FROM schema2.table2 WHERE ST_Intersects(table1.geom, table2.geom);


2

The ST_ClusterWithin and ST_ClusterIntersecting functions in PostGIS first collect all input geometries into a Postgres array before doing their processing. Since the size of this array is proving to be a limitation, you can process this dataset only if you can reduce the total size of this array. Some options for doing this: Use a GROUP BY clause to ...


2

So we have a definite answer to the question: The problem involves QGIS not liking the backslash try this replace ("Hotlink" , 'ABCD' , 'Maps\\ABCD\\ABCD') see esdm.co.uk/qgis-field-calculator-backslash-gotcha


2

Once you have your features selected, you have two options: Run Summary Statistics on the "numeric column" which will return the min, max, average, and other statistical measures on said column. If you're manually iterating through the subsets of points, this is easy: open the attribute table, right click on the column heading and select "Statistics". If ...


2

The problem is that SQL view in geoserver doesn't allow to use semicolon(';') in SQL statement. Geoserver only allows one query statement. You didn't provide the structure of Your database, but may be it's possible to build SELECT query with subquery and get the same result.


2

I would try doing this using the Select (Analysis) tool: Extracts features from an input feature class or input feature layer, typically using a select or Structured Query Language (SQL) expression and stores them in an output feature class. in batch mode: To use batch, right-click a tool and click Batch. This opens the batch dialog box with ...


2

To answer your question, the way it works is that the database will return one row for each of the distinct values, but there is no guarantee that every time you use the layer the same rows are returned. What row it latches onto is somewhat arbitrary, especially if people are editing the table in question. Alternatives to the unique identifier that is not ...


1

I found that replacing geometries by their string "signatures" is very efficient technique when comparing geometries. E.g. Assign point IDs to respective start and end attributes of a polyline or finding points that overlap. This approach combined with dictionaries is a game changer. By some reason, that I don't fully understand, truncate produce more ...


1

If you join by id, as mentioned by @raphael, you could use the following expression in the Field Calculator which would replace values from the old column with those in the joined column. And if there's a NULL in the joined column, the old column will keep its original value: if( "JoinColumn" IS NULL, "Column", "JoinColumn" )


1

If you join the two layers by your unique ID, you will be left with one layer with 150 records and 2x the columns. In the attribute table just delete the extraneous columns and your old column. Then rename the new column to the old column name and save this layer over your old one and you should be golden.


1

For this type of generic question regarding server "specs" for ESRI solutions, the most authoritative and comprehensive documentation can be found on ESRI's "System Design Strategies" Wiki pages: http://wiki.gis.com/wiki/index.php/System_Design_Strategies_Preface



Only top voted, non community-wiki answers of a minimum length are eligible