The canonical definition of geometry validity is the OGC Simple Feature Access for SQL standard.
There is also the PostGIS documentation, although it is more descriptive than formal.
In short, repeated points are valid. This is defined implicitly in the above references. It certainly wouldn't hurt to make it explicit in the PostGIS doc.
You have features in your feature class without geometry. "SHAPE@XY" returns (None, None) when a feature has no geometry. As @MarceloVilla suggested, you can print out the OBJECTID of the features without geometry if you're interested knowing these.
with arcpy.da.UpdateCursor(FeatClass, ["SHAPE@XY", "OID@"]) as cursor:
for (x, y), oid in curs:
Esri provides an How To: Create a start, midpoint, and/or endpoint feature class of a line with an ArcGIS for Desktop Basic or Standard license which describes:
how to create a start, midpoint, and/or endpoint feature class from
the vertices of an existing line feature class. This can be useful
when working with an ArcGIS for Desktop Basic (ArcView) ...
Try Integrate (backup data first), but that will affect all your lines, not only the ones Close together:
Integrate is used to maintain the integrity of shared feature
boundaries by making features coincident if they fall within the
specified x,y tolerance. Features that fall within the specified x,y
tolerance are considered identical or coincident.
In arcpy, use the positionAlongLine() function with a distance of 50 and use_percentage=True. See the documentation at:
You would need to use an arcpy.da.SearchCursor() for the line feature class, then for each line feature's geometry, run:
pointGeom = lineGeom....
With the elements we have here,
I'll show a way to transform MultiPoints and Point geometrie and add the Z information in your geometry.
create table public.multi_test as (
SELECT ST_GeomFromText('MULTIPOINT((-71.160281 42.258729),(-71.160837 42.259113),(-71.161144 42.25932))') as geom,
1515 as elevation)
I will simulate your dataset as follow, geometry ...
Since you are dealing with point data, the results of both expressions of $x and x($geometry) are identical. Same applied to $y and y($geometry). I tested the behavior of both expressions on my point grid data and I found that both them produced the same results as you can see below:
In the table above the coordinates in X and Y fields were calculated using ...
In QGIS 3.6 this is not possible if adding the WFS through the browser panel.
However, if you add the WFS through Layer > Add Layer > Add WFS Layer you are then able to apply SQL to the layer.
So, from scratch, do the following:
After you select Layer > Add Layer > Add WFS Layer, in the next
window select New to add a new service.
Enter a Name and the ...