Softanza
StartFrançais
Softanza
The library documents itself · Geo & cartography

stzGeoFeatures

32 own methods · 0 forms written with extensions, listed under their method

the source: base/geo/stzGeoFeatures.ring(opens in a new tab) · All classes · The area reference: Geo & cartography

Under each method, its extensions (Q CS XT Z ZZ IB W U): bold and ticked, it exists; struck, it does not. The extensions and what they mean

Examples: 0 come from the library's tests; 8 were composed from each method's signature and run for this page, on a fresh object, for example cJ = '{"type":"FeatureCollection","features":[{"type":"Feature","properties":{"name":"A"},"geometry":{"type":"Polygon","coordinates":[[[0,0],[4,0],[4,4],[0,4],[0,0]]]}}]}' o1 = StzGeoFeaturesFromJson(cJ). 24 methods have none yet. Examples run on 2026-10-03 20:51 inside the library at commit 0e72e2e2c.

Method
Explanation, as the source carries it
ReadGeoJson
readingno extension
ReadTopoJson
THE ARCS ARE SHARED AND THE NUMBERS ARE DELTAS. A TopoJSON stores each border once and every shape as the arcs that bound it; -1 means arc 0 walked backwards (the format writes ~i, which is -i-1). The positions inside an arc are cumulative sums on a quantised grid and become degrees through the transform.no extension
Count
what it holds
composed example
cJ = '{"type":"FeatureCollection","features":[{"type":"Feature","properties":{"name":"A"},"geometry":{"type":"Polygon","coordinates":[[[0,0],[4,0],[4,4],[0,4],[0,0]]]}}]}'
o1 = StzGeoFeaturesFromJson(cJ)
? o1.Count()
#--> 1
composed from the signature, run for this page
no extension
SkippedCount
how many geometries the reader could not use, counted rather than guessed at -- a record that drops counts what it dropped
composed example
cJ = '{"type":"FeatureCollection","features":[{"type":"Feature","properties":{"name":"A"},"geometry":{"type":"Polygon","coordinates":[[[0,0],[4,0],[4,4],[0,4],[0,0]]]}}]}'
o1 = StzGeoFeaturesFromJson(cJ)
? o1.SkippedCount()
#--> 0
composed from the signature, run for this page
no extension
KindOf
(no comment in the source: the name reads as a sentence) kind ofno extension
IdOf
(no comment in the source: the name reads as a sentence) id ofno extension
PropertiesOf
(no comment in the source: the name reads as a sentence) properties ofno extension
PropertyOf
(no comment in the source: the name reads as a sentence) property ofno extension
HasProperty
(no comment in the source: the name reads as a sentence) has propertyno extension
NameOf
what the file calls it: the first of the usual name keys it carries, or its id, or "" -- and the caller who knows better says so themselvesno extension
IndexOfName
(no comment in the source: the name reads as a sentence) index of name
composed example
cJ = '{"type":"FeatureCollection","features":[{"type":"Feature","properties":{"name":"A"},"geometry":{"type":"Polygon","coordinates":[[[0,0],[4,0],[4,4],[0,4],[0,0]]]}}]}'
o1 = StzGeoFeaturesFromJson(cJ)
? o1.IndexOfName("a")
#--> 1
composed from the signature, run for this page
no extension
PartsOf
(no comment in the source: the name reads as a sentence) parts ofno extension
PartCount
(no comment in the source: the name reads as a sentence) part countno extension
RingsOf
a part's rings: [1] is the outer edge, every one after it is a HOLEno extension
OuterRingOf
(no comment in the source: the name reads as a sentence) outer ring ofno extension
HoleCountOf
(no comment in the source: the name reads as a sentence) hole count ofno extension
PointsOf
every lon/lat this feature holds, flat -- what FitToPoints takesno extension
AllPoints
(no comment in the source: the name reads as a sentence) all points
composed example
cJ = '{"type":"FeatureCollection","features":[{"type":"Feature","properties":{"name":"A"},"geometry":{"type":"Polygon","coordinates":[[[0,0],[4,0],[4,4],[0,4],[0,0]]]}}]}'
o1 = StzGeoFeaturesFromJson(cJ)
? @@( o1.AllPoints() )
#--> [ 0, 0, 4, 0, 4, 4, 0, 4, 0, 0 ]
composed from the signature, run for this page
no extension
BoundsOf
[ lonMin, latMin, lonMax, latMax ]no extension
Bounds
(no comment in the source: the name reads as a sentence) bounds
composed example
cJ = '{"type":"FeatureCollection","features":[{"type":"Feature","properties":{"name":"A"},"geometry":{"type":"Polygon","coordinates":[[[0,0],[4,0],[4,4],[0,4],[0,0]]]}}]}'
o1 = StzGeoFeaturesFromJson(cJ)
? @@( o1.Bounds() )
#--> [ 0, 0, 4, 4 ]
composed from the signature, run for this page
no extension
AreaKm2Of
the biggest part by point count -- the mainland, and the only thing DN24b's reader ever kept A FEATURE'S AREA ON THE SPHERE, km2, with its holes taken out and all its parts added in. This lived in stzGeoMap.ValuesFromArea and moved here when the point patterns (GE7a) needed a window's area and the map's own copy would have been a second one -- duplicated logic diverges, and it diverges in cost first. THE AREA OF A FEATURE, km2, ON WGS84 SINCE GE8 -- outer rings added and holes taken out, which is what makes a country with a lake come out as the land and not as the outline.no extension
AreasKm2
every feature's area, in feature orderno extension
AreaKm2
the whole set's area: what a point pattern observed over all of it divides by
composed example
cJ = '{"type":"FeatureCollection","features":[{"type":"Feature","properties":{"name":"A"},"geometry":{"type":"Polygon","coordinates":[[[0,0],[4,0],[4,4],[0,4],[0,0]]]}}]}'
o1 = StzGeoFeaturesFromJson(cJ)
? o1.AreaKm2()
#--> 196869.60
composed from the signature, run for this page
no extension
LargestPartOf
(no comment in the source: the name reads as a sentence) largest part ofno extension
Contains
THE BOX FIRST. A ring test walks every edge; a box test is four comparisons, and for a point that is not in this region -- which is almost every pair a spatial join asks about -- the box is the whole answer.no extension
PartContains
is this place inside ONE PART of this feature? What a label placer asks: a name belongs in the part it was measured against, not merely somewhere in the country.no extension
IndexAt
which feature is at this place, or 0 -- what a click will ask
composed example
cJ = '{"type":"FeatureCollection","features":[{"type":"Feature","properties":{"name":"A"},"geometry":{"type":"Polygon","coordinates":[[[0,0],[4,0],[4,4],[0,4],[0,0]]]}}]}'
o1 = StzGeoFeaturesFromJson(cJ)
? o1.IndexAt(2, 5)
#--> 0
composed from the signature, run for this page
no extension
Subset
taking part of a file ------------------------------------------------ SOME OF THE FEATURES, as a feature set of their own. Everything else -- the map, the atlas, the rules -- takes a feature set, so a subset is a first-class thing and not a list of indices the caller has to carry around beside it.no extension
Adopt
(no comment in the source: the name reads as a sentence) adoptno extension
IndicesWithin
THE FEATURES WHOSE MIDDLE FALLS IN A BOX, by index. What "metropolitan France" means to a file that also carries Réunion and Guyane: not a political statement, a WINDOW -- the caller says which piece of the world they are drawing, and the file is unchanged.no extension
Within
(no comment in the source: the name reads as a sentence) withinno extension
AsRegions
the regions the choropleth builder takes, so a file read here can go straight into DN24's picture: [ name, value, flatOuterRing ] each, from the LARGEST part of every feature
composed example
cJ = '{"type":"FeatureCollection","features":[{"type":"Feature","properties":{"name":"A"},"geometry":{"type":"Polygon","coordinates":[[[0,0],[4,0],[4,4],[0,4],[0,0]]]}}]}'
o1 = StzGeoFeaturesFromJson(cJ)
? @@( o1.AsRegions("a") )
#--> [ [ "A", "", [ 0, 0, 4, 0, 4, 4, 0, 4, 0, 0 ] ] ]
composed from the signature, run for this page
no extension