Capabilities/Data
File upload
MAIA's file upload takes a spreadsheet or a map file and returns a layer matched to parcels, a layer of your own shapes, or a table.
What it answers#
Questions that start from a list you already have.
You ask
Map these conference attendees to their property portfolios. Who should I call about solar?
What you get#
Your rows on the map, joined to the parcels they name, with a count of the rows that did not match.
MAIA suggests one of three ways to bring the file in. You can pick another.
| Route | The file holds | You get |
|---|---|---|
| Match to parcels | The file holdsAddresses | You getYour rows joined to parcels |
| Add as map layer | The file holdsShapes or coordinates | You getA layer of your own features |
| Add as table | The file holdsRows with no location | You getA table the agent can read and join |
Accepted formats are CSV, TSV, Excel, Parquet, GeoJSON, KML, KMZ, GeoPackage, and zipped Shapefile. The details are on the File formats page.
Upload a file#
- Choose Upload file from the chat menu or the project's management page, and pick one file. A Shapefile goes in as one zip that holds its
.prj. - Accept the route MAIA suggests, or pick another. A project covers one county, so split a list that spans counties before you upload it.
- Choose what to keep. Matched parcels keeps only the rows that matched. All rows keeps everything, and unmatched rows show in the table with no location on the map.
Note
A file with more rows than the limit does not fail. Choose Import first rows to bring in the rows that fit. The limits are 10,000 rows for a layer or a table, and 1,000 rows for address matching.
How MAIA reads the file#
MAIA decides the route from the file itself. No model is involved, so the same file gets the same offer every time.
- A column is read as an address when its header and its first rows look like addresses. If your address column is not offered, check both.
- Geometry is read from latitude and longitude columns, WKT, GeoJSON, or a map format.
How matching works#
MAIA judges each address one part at a time: house number, street name, and street type. A row is matched only when one parcel fits it outright. When the address is empty, outside the project's county, not in the data, or fits several parcels, MAIA leaves the row unmatched rather than guess. There is no review step, so check the count of unmatched rows when the import finishes, and keep All rows if you want to see which ones they were.
Limits#
| Limit | Value |
|---|---|
| File size | Value25 MB |
| Size after unpacking | Value200 MB |
| Rows, as a map layer or a table | Value10,000 |
| Rows, for address matching | Value1,000 |
| Files per upload | ValueOne |
- Shapes outside the project's county are skipped. MAIA reports how many.
- Owner occupancy does not run on an uploaded layer. Match the list to parcels first, and the other enrichments run on the matched rows. See Property details.
In the app and over MCP#
| Where | How |
|---|---|
| The web app | HowChoose Upload file from the chat menu or the project's management page |
| MCP | HowAttach the file in your client and say which project or county it goes to. See Upload a file from Claude |
Related#
- Database sync keeps a table current without a new upload.
- Contacts finds the people behind the owners in your list.