test(acceptance): reproducible Stage 8 acceptance package
Add test/acceptance/ so the customer's reviewers can re-run what the Stage 8 documents claim on an isolated stand built from this branch: - compose.acceptance.yml + stand.sh: compose project gis-acceptance (app 18080, postgres 15432, minio 19000/19001, rabbitmq mgmt 15672), POSTGIS_PLATFORM / MINIO_IMAGE knobs for arm64 and amd64 hosts. - functional.sh: the 89 test-stand checks of Приложение 7 section 5 (F01-F38, N01-N38, L02-L05, L07-L15), own prefixed test data, PostGIS/MinIO confirmation via the stand containers, full cleanup. - lp_gen.py / lp_run.sh / lp_verify.py: synthetic ЛП inputs, a run from stage 0, and an independent numpy re-implementation of every node that compares all 15 outputs pixel by pixel; read-only (GET) mode works against any stand, in row/column windows for 22219x14977 rasters. - load.sh + seed.sh: scenarios S1-S6 of Приложение 3 with hey 0.1.5 running inside the stand network; CSV/JSON summaries, criteria K1-K4. - scan.sh: govulncheck (source and binary), gosec, trivy fs/image, golangci-lint; fails on any High/Critical. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
19
test/acceptance/data/group_style.sld
Normal file
19
test/acceptance/data/group_style.sld
Normal file
@@ -0,0 +1,19 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<sld:StyledLayerDescriptor version="1.0.0" xmlns:sld="http://www.opengis.net/sld" xmlns:ogc="http://www.opengis.net/ogc">
|
||||
<sld:NamedLayer>
|
||||
<sld:Name>group</sld:Name>
|
||||
<sld:UserStyle>
|
||||
<sld:Title>Group fallback style</sld:Title>
|
||||
<sld:FeatureTypeStyle>
|
||||
<sld:Rule>
|
||||
<sld:RasterSymbolizer>
|
||||
<sld:ColorMap>
|
||||
<sld:ColorMapEntry color="#f7fbff" quantity="0"/>
|
||||
<sld:ColorMapEntry color="#08306b" quantity="100000"/>
|
||||
</sld:ColorMap>
|
||||
</sld:RasterSymbolizer>
|
||||
</sld:Rule>
|
||||
</sld:FeatureTypeStyle>
|
||||
</sld:UserStyle>
|
||||
</sld:NamedLayer>
|
||||
</sld:StyledLayerDescriptor>
|
||||
BIN
test/acceptance/data/livestock_kato.gpkg
Normal file
BIN
test/acceptance/data/livestock_kato.gpkg
Normal file
Binary file not shown.
145
test/acceptance/data/plots_nko.geojson
Normal file
145
test/acceptance/data/plots_nko.geojson
Normal file
@@ -0,0 +1,145 @@
|
||||
{
|
||||
"type": "FeatureCollection",
|
||||
"features": [
|
||||
{
|
||||
"type": "Feature",
|
||||
"properties": {
|
||||
"plot_id": 1,
|
||||
"name": "Участок 1",
|
||||
"area_ha": 1680.0
|
||||
},
|
||||
"geometry": {
|
||||
"type": "Polygon",
|
||||
"coordinates": [
|
||||
[
|
||||
[
|
||||
69.0,
|
||||
53.6
|
||||
],
|
||||
[
|
||||
69.6,
|
||||
53.6
|
||||
],
|
||||
[
|
||||
69.6,
|
||||
54.0
|
||||
],
|
||||
[
|
||||
69.0,
|
||||
54.0
|
||||
],
|
||||
[
|
||||
69.0,
|
||||
53.6
|
||||
]
|
||||
]
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "Feature",
|
||||
"properties": {
|
||||
"plot_id": 2,
|
||||
"name": "Участок 2",
|
||||
"area_ha": 2100.0
|
||||
},
|
||||
"geometry": {
|
||||
"type": "Polygon",
|
||||
"coordinates": [
|
||||
[
|
||||
[
|
||||
69.9,
|
||||
54.2
|
||||
],
|
||||
[
|
||||
70.5,
|
||||
54.2
|
||||
],
|
||||
[
|
||||
70.5,
|
||||
54.7
|
||||
],
|
||||
[
|
||||
69.9,
|
||||
54.7
|
||||
],
|
||||
[
|
||||
69.9,
|
||||
54.2
|
||||
]
|
||||
]
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "Feature",
|
||||
"properties": {
|
||||
"plot_id": 3,
|
||||
"name": "Участок 3",
|
||||
"area_ha": 1400.0
|
||||
},
|
||||
"geometry": {
|
||||
"type": "Polygon",
|
||||
"coordinates": [
|
||||
[
|
||||
[
|
||||
70.6,
|
||||
53.7
|
||||
],
|
||||
[
|
||||
71.1,
|
||||
53.7
|
||||
],
|
||||
[
|
||||
71.1,
|
||||
54.1
|
||||
],
|
||||
[
|
||||
70.6,
|
||||
54.1
|
||||
],
|
||||
[
|
||||
70.6,
|
||||
53.7
|
||||
]
|
||||
]
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "Feature",
|
||||
"properties": {
|
||||
"plot_id": 4,
|
||||
"name": "Участок 4",
|
||||
"area_ha": 1750.0
|
||||
},
|
||||
"geometry": {
|
||||
"type": "Polygon",
|
||||
"coordinates": [
|
||||
[
|
||||
[
|
||||
71.2,
|
||||
54.5
|
||||
],
|
||||
[
|
||||
71.7,
|
||||
54.5
|
||||
],
|
||||
[
|
||||
71.7,
|
||||
55.0
|
||||
],
|
||||
[
|
||||
71.2,
|
||||
55.0
|
||||
],
|
||||
[
|
||||
71.2,
|
||||
54.5
|
||||
]
|
||||
]
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
243
test/acceptance/data/population_kato.geojson
Normal file
243
test/acceptance/data/population_kato.geojson
Normal file
@@ -0,0 +1,243 @@
|
||||
{
|
||||
"type": "FeatureCollection",
|
||||
"features": [
|
||||
{
|
||||
"type": "Feature",
|
||||
"properties": {
|
||||
"kato": "591000000",
|
||||
"district": "Петропавловск Г.А.",
|
||||
"Y2022": 47567.6,
|
||||
"Y2023": 48311.2,
|
||||
"Y2024": 49120.5
|
||||
},
|
||||
"geometry": {
|
||||
"type": "Point",
|
||||
"coordinates": [
|
||||
69.14998,
|
||||
54.89148
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "Feature",
|
||||
"properties": {
|
||||
"kato": "593200000",
|
||||
"district": "Айыртауский район",
|
||||
"Y2022": 21802.7,
|
||||
"Y2023": 22615.1,
|
||||
"Y2024": 23427.5
|
||||
},
|
||||
"geometry": {
|
||||
"type": "Point",
|
||||
"coordinates": [
|
||||
68.01276,
|
||||
53.19148
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "Feature",
|
||||
"properties": {
|
||||
"kato": "593400000",
|
||||
"district": "Акжарский район",
|
||||
"Y2022": 23605.4,
|
||||
"Y2023": 24417.8,
|
||||
"Y2024": 25230.2
|
||||
},
|
||||
"geometry": {
|
||||
"type": "Point",
|
||||
"coordinates": [
|
||||
71.74765,
|
||||
53.78951
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "Feature",
|
||||
"properties": {
|
||||
"kato": "595800000",
|
||||
"district": "Аккайынский район",
|
||||
"Y2022": 25264.0,
|
||||
"Y2023": 26076.4,
|
||||
"Y2024": 26888.8
|
||||
},
|
||||
"geometry": {
|
||||
"type": "Point",
|
||||
"coordinates": [
|
||||
69.55798,
|
||||
54.45755
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "Feature",
|
||||
"properties": {
|
||||
"kato": "594200000",
|
||||
"district": "Есильский район",
|
||||
"Y2022": 27066.7,
|
||||
"Y2023": 27879.1,
|
||||
"Y2024": 28691.5
|
||||
},
|
||||
"geometry": {
|
||||
"type": "Point",
|
||||
"coordinates": [
|
||||
68.32766,
|
||||
54.11517
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "Feature",
|
||||
"properties": {
|
||||
"kato": "594600000",
|
||||
"district": "Жамбылский район",
|
||||
"Y2022": 28869.4,
|
||||
"Y2023": 29681.8,
|
||||
"Y2024": 30494.2
|
||||
},
|
||||
"geometry": {
|
||||
"type": "Point",
|
||||
"coordinates": [
|
||||
66.98273,
|
||||
54.4391
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "Feature",
|
||||
"properties": {
|
||||
"kato": "595000000",
|
||||
"district": "Кызылжарский район",
|
||||
"Y2022": 46862.7,
|
||||
"Y2023": 48268.6,
|
||||
"Y2024": 49205.8
|
||||
},
|
||||
"geometry": {
|
||||
"type": "Point",
|
||||
"coordinates": [
|
||||
69.25907,
|
||||
54.89353
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "Feature",
|
||||
"properties": {
|
||||
"kato": "595200000",
|
||||
"district": "Мамлютский район",
|
||||
"Y2022": 32330.7,
|
||||
"Y2023": 33143.1,
|
||||
"Y2024": 33955.5
|
||||
},
|
||||
"geometry": {
|
||||
"type": "Point",
|
||||
"coordinates": [
|
||||
68.21021,
|
||||
54.81946
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "Feature",
|
||||
"properties": {
|
||||
"kato": "596000000",
|
||||
"district": "Тайыншинский район",
|
||||
"Y2022": 34133.4,
|
||||
"Y2023": 34945.8,
|
||||
"Y2024": 35758.2
|
||||
},
|
||||
"geometry": {
|
||||
"type": "Point",
|
||||
"coordinates": [
|
||||
69.89444,
|
||||
53.80885
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "Feature",
|
||||
"properties": {
|
||||
"kato": "596200000",
|
||||
"district": "Тимирязевский район",
|
||||
"Y2022": 35792.0,
|
||||
"Y2023": 36604.4,
|
||||
"Y2024": 37416.8
|
||||
},
|
||||
"geometry": {
|
||||
"type": "Point",
|
||||
"coordinates": [
|
||||
66.56047,
|
||||
53.66856
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "Feature",
|
||||
"properties": {
|
||||
"kato": "596400000",
|
||||
"district": "Уалихановский район",
|
||||
"Y2022": 37594.7,
|
||||
"Y2023": 38407.1,
|
||||
"Y2024": 39219.5
|
||||
},
|
||||
"geometry": {
|
||||
"type": "Point",
|
||||
"coordinates": [
|
||||
72.82078,
|
||||
53.36512
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "Feature",
|
||||
"properties": {
|
||||
"kato": "593600000",
|
||||
"district": "Район Магжана Жумабаева",
|
||||
"Y2022": 39253.3,
|
||||
"Y2023": 40065.7,
|
||||
"Y2024": 40878.1
|
||||
},
|
||||
"geometry": {
|
||||
"type": "Point",
|
||||
"coordinates": [
|
||||
70.5439,
|
||||
54.63954
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "Feature",
|
||||
"properties": {
|
||||
"kato": "595600000",
|
||||
"district": "Район Шал акына",
|
||||
"Y2022": 41056.0,
|
||||
"Y2023": 41868.4,
|
||||
"Y2024": 42680.8
|
||||
},
|
||||
"geometry": {
|
||||
"type": "Point",
|
||||
"coordinates": [
|
||||
67.40455,
|
||||
53.80847
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "Feature",
|
||||
"properties": {
|
||||
"kato": "596600000",
|
||||
"district": "Район им. Габита Мусрепова",
|
||||
"Y2022": 42858.7,
|
||||
"Y2023": 43671.1,
|
||||
"Y2024": 44483.5
|
||||
},
|
||||
"geometry": {
|
||||
"type": "Point",
|
||||
"coordinates": [
|
||||
67.02892,
|
||||
52.78419
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
20
test/acceptance/data/style.sld
Normal file
20
test/acceptance/data/style.sld
Normal file
@@ -0,0 +1,20 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<sld:StyledLayerDescriptor version="1.0.0" xmlns:sld="http://www.opengis.net/sld" xmlns:ogc="http://www.opengis.net/ogc">
|
||||
<sld:NamedLayer>
|
||||
<sld:Name>ndvi</sld:Name>
|
||||
<sld:UserStyle>
|
||||
<sld:Title>NDVI gradient</sld:Title>
|
||||
<sld:FeatureTypeStyle>
|
||||
<sld:Rule>
|
||||
<sld:RasterSymbolizer>
|
||||
<sld:ColorMap>
|
||||
<sld:ColorMapEntry color="#a50026" quantity="0.0"/>
|
||||
<sld:ColorMapEntry color="#ffffbf" quantity="0.5"/>
|
||||
<sld:ColorMapEntry color="#006837" quantity="1.0"/>
|
||||
</sld:ColorMap>
|
||||
</sld:RasterSymbolizer>
|
||||
</sld:Rule>
|
||||
</sld:FeatureTypeStyle>
|
||||
</sld:UserStyle>
|
||||
</sld:NamedLayer>
|
||||
</sld:StyledLayerDescriptor>
|
||||
1
test/acceptance/data/style.txt
Normal file
1
test/acceptance/data/style.txt
Normal file
@@ -0,0 +1 @@
|
||||
not an SLD file
|
||||
Reference in New Issue
Block a user