Stops using an f string for creating the SQL and instead uses additional formatting functions from buildpg to add in the tablename, columns etc. This is best practice for preventing SQL injection, but also for asyncpg allows it to better used prepared queries.
Add the table geometry srid to the introspection query and uses that to get the srid rather than needing to run that query for every record
uses coalesce and case statements to do some of the logic that was happening in python
@vincentsarago this does a few things