code: def get_epsg(self):
          
          cur = self.conn.cursor()
          cur.execute("SELECT epsg_code FROM prj_epsg WHERE prjtext = ?", (self.prj,))
          # prjtext has a unique constraint on it, we should only ever fetchone()
          result = cur.fetchone()
          if not result and self.call_remote_api:
              return self.call_api()
          elif result is not None:
              self.epsg_code = result[0]
              return self.epsg_code
docs: Attempts to determine the EPSG code for a given PRJ file or other
          similar text-based spatial reference file.
  
          First, it looks up the PRJ text in the included epsg.db SQLite
          database, which was manually sourced and cleaned from an ESRI website,
          https://developers.arcgis.com/javascript/jshelp/pcs.html
  
          If it cannot be found there, it next tries the prj2epsg.org API.
          If an exact match is found, that EPSG code is returned and saved to
          the database to avoid future external API calls.
  
          TODO:
          If that API cannot find an exact match but several partial matches,
          those partials will be displayed to the user with the option to select one to save to the
          database.