mapproxy icon indicating copy to clipboard operation
mapproxy copied to clipboard

How to determine coordinate system for server

Open jgilbert2017 opened this issue 3 years ago • 1 comments

Hi,

I'm trying to proxy a public website so I can pull it into Google Earth as a WMS overlay.

The site is https://qpublic.schneidercorp.com/Application.aspx?AppID=1081&LayerID=26490&PageTypeID=1&PageID=10767&KeyValue=01225-002-000 and seems to use a tile server located at https://tilecache.blob.core.windows.net/cache-18749/%(z)s/%(x)s/%(y)s .

I've tried accessing it using webmercator/mercator/geodetic and can't seem to get the tiles. The urls being accessed don't match up to what the website pulls and mapproxy gets 404 when trying to access them.

Can you please suggest how I can figure out what grid system the server is using so that I can use it with map proxy?

Thank you

jgilbert2017 avatar Jul 18 '22 20:07 jgilbert2017

I think the source is in epsg 102660 https://epsg.io/102660. When I configure map proxy it fails (see below). Please advise as to how to fix this. Thank you.

Traceback (most recent call last):
  File "/usr/local/bin/mapproxy-util", line 8, in <module>
    sys.exit(main())
  File "/usr/local/lib/python3.9/dist-packages/mapproxy/script/util.py", line 403, in main
    commands[command]['func'](args)
  File "/usr/local/lib/python3.9/dist-packages/mapproxy/script/util.py", line 86, in serve_develop_command
    app = make_wsgi_app(mapproxy_conf, debug=options.debug)
  File "/usr/local/lib/python3.9/dist-packages/mapproxy/wsgiapp.py", line 58, in make_wsgi_app
    services = conf.configured_services()
  File "/usr/local/lib/python3.9/dist-packages/mapproxy/config/loader.py", line 212, in configured_services
    return self.services.services()
  File "/usr/local/lib/python3.9/dist-packages/mapproxy/config/loader.py", line 1936, in services
    new_services = creator(service_conf or {})
  File "/usr/local/lib/python3.9/dist-packages/mapproxy/config/loader.py", line 2100, in demo_service
    lyr = layer_conf.wms_layer()
  File "/usr/local/lib/python3.9/dist-packages/mapproxy/util/py.py", line 78, in wrapper
    cache[key] = func(self, *args, **kwargs)
  File "/usr/local/lib/python3.9/dist-packages/mapproxy/config/loader.py", line 1718, in wms_layer
    map_layer = self.context.caches[source_name].map_layer()
  File "/usr/local/lib/python3.9/dist-packages/mapproxy/util/py.py", line 78, in wrapper
    cache[key] = func(self, *args, **kwargs)
  File "/usr/local/lib/python3.9/dist-packages/mapproxy/config/loader.py", line 1634, in map_layer
    for grid, extent, tile_manager in self.caches():
  File "/usr/local/lib/python3.9/dist-packages/mapproxy/util/py.py", line 78, in wrapper
    cache[key] = func(self, *args, **kwargs)
  File "/usr/local/lib/python3.9/dist-packages/mapproxy/config/loader.py", line 1535, in caches
    sources, source_image_opts = self._sources_for_grid(
  File "/usr/local/lib/python3.9/dist-packages/mapproxy/config/loader.py", line 1416, in _sources_for_grid
    source = source_conf.source({'format': request_format})
  File "/usr/local/lib/python3.9/dist-packages/mapproxy/config/loader.py", line 986, in source
    grid = self.context.grids[grid_name].tile_grid()
  File "/usr/local/lib/python3.9/dist-packages/mapproxy/util/py.py", line 78, in wrapper
    cache[key] = func(self, *args, **kwargs)
  File "/usr/local/lib/python3.9/dist-packages/mapproxy/config/loader.py", line 301, in tile_grid
    grid = tile_grid(
  File "/usr/local/lib/python3.9/dist-packages/mapproxy/grid.py", line 101, in tile_grid
    srs = SRS(srs)
  File "/usr/local/lib/python3.9/dist-packages/mapproxy/srs.py", line 109, in SRS
    srs = _srs_impl(srs_code)
  File "/usr/local/lib/python3.9/dist-packages/mapproxy/srs.py", line 337, in __init__
    self.proj = CRS.from_epsg(epsg_num)
  File "/usr/lib/python3/dist-packages/pyproj/crs/crs.py", line 331, in from_epsg
    return CRS(_prepare_from_epsg(code))
  File "/usr/lib/python3/dist-packages/pyproj/crs/crs.py", line 296, in __init__
    super().__init__(projstring)
  File "pyproj/_crs.pyx", line 2302, in pyproj._crs._CRS.__init__
pyproj.exceptions.CRSError: Invalid projection: epsg:102660: (Internal Proj Error: proj_create: crs not found)

jgilbert2017 avatar Jul 19 '22 11:07 jgilbert2017

Please ask questions like this on the mailing list. The source looks proprietary and the URLs are scrambled, no clue which projection is used. Your best bet may be to ask the author of that site.

weskamm avatar Aug 24 '22 05:08 weskamm