Skip to content

Commit 17b322d

Browse files
committed
Adapt to fixes in utils module
1 parent 6d20c76 commit 17b322d

6 files changed

Lines changed: 259 additions & 19 deletions

File tree

prosuite/doc/api/_sources/samples.rst.txt

Lines changed: 55 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ start the verification of a specific quality specification.
1313

1414
.. code-block:: python
1515
16-
service = prosuite.verification.service(host_name='localhost', port_nr=5151)
16+
service = prosuite.verification.Service(host_name='localhost', port_nr=5151)
1717
service.verify(specification=my_specification)
1818
1919
@@ -169,7 +169,7 @@ Verification using XML Specification
169169
170170
import prosuite
171171
172-
service = prosuite.verification.service(host_name='arcgis_server', port_nr=5151)
172+
service = prosuite.verification.Service(host_name='arcgis_server', port_nr=5151)
173173
174174
xml_file = "\\share\QA\specifications\road_specification.qa.xml"
175175
sde_file = "\\share\connection_files\production_QA_version.sde"
@@ -314,7 +314,7 @@ credentials on a non-windows platform, see `the gRPC Python docs <https://grpc.g
314314
ssl_credentials = prosuite.utils.get_ssl_channel_credentials()
315315
316316
# if channel_credentials are passed to the Verification constructor, a secure channel will be established.
317-
service = prosuite.verification.service(host_name='localhost', port_nr=5151, channel_credentials=ssl_credentials)
317+
service = prosuite.verification.Service(host_name='localhost', port_nr=5151, channel_credentials=ssl_credentials)
318318
319319
320320
Define a WKB perimeter
@@ -360,7 +360,7 @@ Optionally, change advanced verification parameters, such as the Verification ti
360360
import prosuite
361361
362362
xml_file = 'C:/temp/road_specification.qa.xml'
363-
service = prosuite.verification.service(host_name='localhost', port_nr=5151)
363+
service = prosuite.verification.Service(host_name='localhost', port_nr=5151)
364364
365365
xml_spec = prosuite.XmlSpecification(
366366
specification_file=xml_file, specification_name="Produktionsunterstuetzung",
@@ -402,7 +402,7 @@ In this example, an XML specification is used.
402402
# Wait for the process to start, initialize the ArcGIS license and the communication channl
403403
time.sleep(10)
404404
405-
service = prosuite.verification.service(host_name='LOCALHOST', port_nr=5151)
405+
service = prosuite.verification.Service(host_name='LOCALHOST', port_nr=5151)
406406
407407
xml_file = "C:/Data/specifications/road_specification.qa.xml"
408408
workspace = "C:/Data/TopographicData.gdb"
@@ -733,6 +733,56 @@ Use case: Run a DDX-based quality verification, but only on features that match
733733
- The DDX specification is reused as-is, no modification in the Data Dictionary is required.
734734
- Works with PostgreSQL/PostGIS views or other SQL-based sources supported by the QA microservice.
735735

736+
**Export transformed datasets using `QaExportTables`**
737+
738+
**Use case:** After applying SQL-based transformers like `TrMakeTable`, you may want to inspect the intermediate results in a file geodatabase. This is helpful for understanding which features are being passed into QA checks.
739+
740+
.. code-block:: python
741+
:linenos:
742+
743+
import prosuite
744+
import os
745+
746+
service = prosuite.Service(host_name='localhost', port_nr=5151)
747+
748+
# Load the model and base dataset
749+
model = prosuite.Model("MyModel", r"C:\\Data\\MyDatabase.gdb")
750+
roads = prosuite.Dataset("v_roads", model)
751+
752+
# Apply an SQL filter via TrMakeTable
753+
sql = """
754+
SELECT object_id, change_column, type_column, geom
755+
FROM schema_name.source_view
756+
WHERE object_id NOT IN (
757+
SELECT other.object_id
758+
FROM schema_name.reference_table other
759+
WHERE other.object_id = schema_name.source_view.object_id
760+
AND other.status_column = 'some_terminated_status'
761+
)
762+
AND (
763+
change_column = 'some_terminated_status' OR change_column = 'active_status'
764+
)
765+
"""
766+
filtered_roads = prosuite.Transformers.tr_make_table_1(roads, sql, object_id_field="object_id")
767+
768+
# Define a basic QA condition
769+
condition = prosuite.Conditions.qa_min_length_0(filtered_roads, limit=10.0, is3_d=False)
770+
771+
# Create specification and add the condition
772+
spec = prosuite.Specification(name="Check Active Roads")
773+
spec.add_condition(condition)
774+
775+
# Export transformed dataset to GDB for inspection
776+
export_gdb = r"C:\\temp\\qa_export\\transformed_data.gdb"
777+
spec.add_condition(
778+
prosuite.Conditions.qa_export_tables_0([filtered_roads], export_gdb)
779+
)
780+
781+
# Run verification
782+
for response in service.verify(specification=spec, output_dir=r"C:\\temp\\qa_export"):
783+
print(response.message_level)
784+
print(response.message)
785+
736786
Custom Names for Conditions and Transformers
737787
============================================
738788

prosuite/doc/api/genindex.html

Lines changed: 32 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -136,10 +136,10 @@ <h2 id="A">A</h2>
136136
</li>
137137
<li><a href="prosuite.factories.html#prosuite.factories.enums.AllowedLineInteriorIntersections">AllowedLineInteriorIntersections (class in prosuite.factories.enums)</a>
138138
</li>
139-
</ul></td>
140-
<td style="width: 33%; vertical-align: top;"><ul>
141139
<li><a href="prosuite.factories.html#prosuite.factories.enums.PolygonPart.AllRings">AllRings (prosuite.factories.enums.PolygonPart attribute)</a>
142140
</li>
141+
</ul></td>
142+
<td style="width: 33%; vertical-align: top;"><ul>
143143
<li><a href="prosuite.datatypes.html#prosuite.datatypes.expected_case.ExpectedCase.ALLUPPER">ALLUPPER (prosuite.datatypes.expected_case.ExpectedCase attribute)</a>
144144
</li>
145145
<li><a href="prosuite.factories.html#prosuite.factories.enums.ExpectedCase.AllUpper">AllUpper (prosuite.factories.enums.ExpectedCase attribute)</a>
@@ -160,6 +160,8 @@ <h2 id="A">A</h2>
160160
<li><a href="prosuite.factories.html#prosuite.factories.enums.MonotonicityDirection.Any">(prosuite.factories.enums.MonotonicityDirection attribute)</a>
161161
</li>
162162
</ul></li>
163+
<li><a href="prosuite.html#prosuite.utils.append_timestamp_to_basepath">append_timestamp_to_basepath() (in module prosuite.utils)</a>
164+
</li>
163165
<li><a href="prosuite.factories.html#prosuite.factories.enums.PolylineConversion.AsIs">AsIs (prosuite.factories.enums.PolylineConversion attribute)</a>
164166

165167
<ul>
@@ -390,15 +392,19 @@ <h2 id="G">G</h2>
390392
</li>
391393
<li><a href="prosuite.factories.html#prosuite.factories.enums.GeometryComponent">GeometryComponent (class in prosuite.factories.enums)</a>
392394
</li>
393-
</ul></td>
394-
<td style="width: 33%; vertical-align: top;"><ul>
395395
<li><a href="prosuite.html#prosuite.quality.Specification.get_conditions">get_conditions() (prosuite.quality.Specification method)</a>
396396
</li>
397+
</ul></td>
398+
<td style="width: 33%; vertical-align: top;"><ul>
397399
<li><a href="prosuite.html#prosuite.data_model.Model.get_dataset_by_name">get_dataset_by_name() (prosuite.data_model.Model method)</a>
398400
</li>
399401
<li><a href="prosuite.html#prosuite.quality.XmlSpecification.get_specification_names">get_specification_names() (prosuite.quality.XmlSpecification static method)</a>
402+
</li>
403+
<li><a href="prosuite.html#prosuite.utils.get_ssl_channel_credentials">get_ssl_channel_credentials() (in module prosuite.utils)</a>
400404
</li>
401405
<li><a href="prosuite.html#prosuite.quality.Parameter.get_string_value">get_string_value() (prosuite.quality.Parameter method)</a>
406+
</li>
407+
<li><a href="prosuite.html#prosuite.utils.get_value_or_default">get_value_or_default() (in module prosuite.utils)</a>
402408
</li>
403409
<li><a href="prosuite.html#prosuite.quality.Parameter.get_where_clause">get_where_clause() (prosuite.quality.Parameter method)</a>
404410
</li>
@@ -532,10 +538,10 @@ <h2 id="L">L</h2>
532538
</li>
533539
<li><a href="prosuite.html#prosuite.verification.MessageLevel.level_70000">level_70000 (prosuite.verification.MessageLevel attribute)</a>
534540
</li>
535-
</ul></td>
536-
<td style="width: 33%; vertical-align: top;"><ul>
537541
<li><a href="prosuite.factories.html#prosuite.factories.enums.LineCapStyle">LineCapStyle (class in prosuite.factories.enums)</a>
538542
</li>
543+
</ul></td>
544+
<td style="width: 33%; vertical-align: top;"><ul>
539545
<li><a href="prosuite.factories.html#prosuite.factories.enums.GeometryComponent.LineEndPoint">LineEndPoint (prosuite.factories.enums.GeometryComponent attribute)</a>
540546
</li>
541547
<li><a href="prosuite.factories.html#prosuite.factories.enums.GeometryComponent.LineEndPoints">LineEndPoints (prosuite.factories.enums.GeometryComponent attribute)</a>
@@ -545,6 +551,10 @@ <h2 id="L">L</h2>
545551
<li><a href="prosuite.factories.html#prosuite.factories.enums.LineMSource">LineMSource (class in prosuite.factories.enums)</a>
546552
</li>
547553
<li><a href="prosuite.factories.html#prosuite.factories.enums.GeometryComponent.LineStartPoint">LineStartPoint (prosuite.factories.enums.GeometryComponent attribute)</a>
554+
</li>
555+
<li><a href="prosuite.html#prosuite.utils.load_file_as_string">load_file_as_string() (in module prosuite.utils)</a>
556+
</li>
557+
<li><a href="prosuite.html#prosuite.utils.load_json_file">load_json_file() (in module prosuite.utils)</a>
548558
</li>
549559
<li><a href="prosuite.factories.html#prosuite.factories.enums.BoundaryLoopErrorGeometry.LoopPolygon">LoopPolygon (prosuite.factories.enums.BoundaryLoopErrorGeometry attribute)</a>
550560
</li>
@@ -674,6 +684,8 @@ <h2 id="O">O</h2>
674684
<table style="width: 100%" class="indextable genindextable"><tr>
675685
<td style="width: 33%; vertical-align: top;"><ul>
676686
<li><a href="prosuite.html#prosuite.verification.InvolvedTable.object_ids">object_ids (prosuite.verification.InvolvedTable attribute)</a>
687+
</li>
688+
<li><a href="prosuite.html#prosuite.utils.objectify_xml">objectify_xml() (in module prosuite.utils)</a>
677689
</li>
678690
<li><a href="prosuite.html#prosuite.verification.VerificationParameters.objects_to_verify">objects_to_verify (prosuite.verification.VerificationParameters attribute)</a>
679691
</li>
@@ -1645,6 +1657,14 @@ <h2 id="T">T</h2>
16451657
<li><a href="prosuite.factories.html#prosuite.factories.enums.SearchOption.Tile">Tile (prosuite.factories.enums.SearchOption attribute)</a>
16461658
</li>
16471659
<li><a href="prosuite.html#prosuite.verification.VerificationParameters.tile_size">tile_size (prosuite.verification.VerificationParameters attribute)</a>
1660+
</li>
1661+
<li><a href="prosuite.html#prosuite.utils.to_bool">to_bool() (in module prosuite.utils)</a>
1662+
</li>
1663+
<li><a href="prosuite.html#prosuite.utils.to_float">to_float() (in module prosuite.utils)</a>
1664+
</li>
1665+
<li><a href="prosuite.html#prosuite.utils.to_int">to_int() (in module prosuite.utils)</a>
1666+
</li>
1667+
<li><a href="prosuite.html#prosuite.utils.to_spatial_reference_xml">to_spatial_reference_xml() (in module prosuite.utils)</a>
16481668
</li>
16491669
<li><a href="prosuite.factories.html#prosuite.factories.transformers.Transformers.tr_combined_filter_0">tr_combined_filter_0() (prosuite.factories.transformers.Transformers class method)</a>
16501670
</li>
@@ -1691,6 +1711,12 @@ <h2 id="T">T</h2>
16911711
<li><a href="prosuite.html#prosuite.data_model.TransformedDataset.transformer_descriptor">transformer_descriptor (prosuite.data_model.TransformedDataset attribute)</a>
16921712
</li>
16931713
<li><a href="prosuite.factories.html#prosuite.factories.transformers.Transformers">Transformers (class in prosuite.factories.transformers)</a>
1714+
</li>
1715+
<li><a href="prosuite.html#prosuite.utils.try_get_from_oe">try_get_from_oe() (in module prosuite.utils)</a>
1716+
</li>
1717+
<li><a href="prosuite.html#prosuite.utils.try_get_from_str_dict">try_get_from_str_dict() (in module prosuite.utils)</a>
1718+
</li>
1719+
<li><a href="prosuite.html#prosuite.utils.try_get_lxml_attrib">try_get_lxml_attrib() (in module prosuite.utils)</a>
16941720
</li>
16951721
<li><a href="prosuite.datatypes.html#prosuite.datatypes.non_linear_segment_type.NonLinearSegmentType.type_list">type_list (prosuite.datatypes.non_linear_segment_type.NonLinearSegmentType attribute)</a>
16961722
</li>

prosuite/doc/api/objects.inv

130 Bytes
Binary file not shown.

0 commit comments

Comments
 (0)