extract_survey_data
Reads an easement document with a vision model to return structured survey data needed for mapping. Handles clean text PDFs, OCR scans, and pure image scans. Outputs line table, closure check, and parcel identification.
Instructions
Reads an easement document with a vision model and returns the structured survey data needed to map it — regardless of whether the document is a clean text PDF, an OCR-quality scan, or a pure image scan. The document's pages are rendered to images in memory and read by the model; nothing is written to disk and no lock is placed on the document.
Call this INSTEAD of parsing document text yourself. Pass its outputs directly to map_easement_to_parcel (the *_json fields are pre-formatted for that tool's parameters).
:param identifier: The document id or path (required). GUID or repository path.
:returns: If successful, returns a dictionary containing: - line_table (list) and line_table_json (str, ready for map_easement_to_parcel) - closure_ok (bool), closure_gap_ft, closure_perimeter_ft — arithmetic check of the extracted courses; if false, treat extraction as unreliable - apn, address, subdivision, lot, county — parcel identification (null if absent) - pob_anchor, pob_corner, pob_edge, pob_from_end, pob_from_corner_ft, section, township, range_, tie_courses_json — anchor fields, matching map_easement_to_parcel's parameters - page_count, pages_read, legibility, notes If unsuccessful, returns a ToolError with details about the failure.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| identifier | Yes |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| result | Yes |