A shapefile is a bunch of geometry with attributes. Your coastline is likely 
just a simple line with each point so easy to convert into a line for drawing. 
The gdal library can be used to read shapefiles as well as a ton of other 
vector file formats. Might also be other simpler C++ libraries for shapefile 
reading. That should get you the points and now draw it as a line and hopefully 
much better results!

You might need to care about the coordinate reference systems of what your map 
is using vs the shapefiles but gdal can also help with that. Can both tell you 
if the shapefile has a CRS and allow you to convert the points from one CRS to 
another. 

--
Brad


> On Aug 8, 2019, at 9:55 AM, Israel Brewster <[email protected]> wrote:
> 
> I do have .shp files for the coastlines - perhaps I could convert those to 
> something I could use? If I can get vector data, how would I go about 
> utilizing it?
> 
> I played around a bit with loading different image files, but so far the 
> performance has been unacceptable - the entire app locks up for several 
> seconds when displaying the higher resolution images. I think Vector would be 
> a better way to go, if I can figure out how. Thanks!
> ---
> Israel Brewster
> Software Engineer
> Alaska Volcano Observatory 
> Geophysical Institute - UAF 
> 2156 Koyukuk Drive 
> Fairbanks AK 99775-7320
> Work: 907-474-5172
> cell:  907-328-9145
> 
>> On Aug 7, 2019, at 10:12 PM, Brad Pepers <[email protected]> wrote:
>> 
>> In the end the answer is to get the coast as vector data instead of a 
>> raster. The raster is going to be at a fixed map scale and any scale above 
>> or below is going to extrapolate or interpolate the results eventually 
>> ending in poor results because there just isn’t the information needed or 
>> too much information is being lost. Having different resolutions should help 
>> and you can keep multiple levels and switch between them at appropriate 
>> times (LOD). Those are your best bets if you can’t get the actual vector 
>> data!
>> 
>> --
>> Brad
>> 
>> 
>>> On Aug 7, 2019, at 12:01 PM, Israel Brewster <[email protected]> wrote:
>>> 
>>> I have a QGraphicsScene/QGraphicsView that I am using to display a map (and 
>>> some data). The map is in the mercator projection, with the x and y 
>>> coordinates of the scene corresponding to map coordinates, so the 
>>> background images are rather large. Images are loaded into a 
>>> QGraphicsObject which is then added to the scene. The object types are 
>>> defined by a third-party library, so I don’t have the option of using 
>>> different objects, such as QGraphicsPixmapObject or something.
>>> 
>>> This works fine when I’m zoomed in to the map. Coastlines are nice and 
>>> sharp, with no issues:
>>> <Screen Shot 2019-08-07 at 9.50.10 AM.png>
>>> 
>>> However, when I zoom out, the coastline becomes quite pixelated, and 
>>> difficult to see in places:
>>> <Screen Shot 2019-08-07 at 9.50.28 AM.png>
>>> 
>>> How can I fix this? My first thought was to change the size of the 
>>> background image so it could scale better, but that didn’t seem to help. In 
>>> retrospect, this makes sense: at the end of the day, the background image 
>>> has to be the correct size for the mercator projection, so while I can 
>>> certainly change the pixel density, the overall size, and thus how much 
>>> scaling is needed to display a given area, is fixed.
>>> 
>>> ---
>>> Israel Brewster
>>> Software Engineer
>>> Alaska Volcano Observatory 
>>> Geophysical Institute - UAF 
>>> 2156 Koyukuk Drive 
>>> Fairbanks AK 99775-7320
>>> Work: 907-474-5172
>>> cell:  907-328-9145
>>> 
>>> _______________________________________________
>>> Interest mailing list
>>> [email protected]
>>> https://lists.qt-project.org/listinfo/interest
> 
_______________________________________________
Interest mailing list
[email protected]
https://lists.qt-project.org/listinfo/interest

Reply via email to