Hi,
My customer has a building-site/construction plan in plain PDF form (pure vector data). So it is not a GeoPDF or has any other spatial reference in it.
But I know the spatial point of the lower-left and upper-right corner of the PDF.
So my task is now to overlay a 2D map with this PDF.
The only thing I've found so far which is quite close is this example: https://developers.arcgis.com/net/wpf/sample-code/edit-kml-ground-overlay/
But there are a few problems with this:
Drawing/reproducing the data in the PDF with ArcGIS geometry-forms is impossible due to its complexity.
I have also thought about to convert the PDF to a GeoPDF, then to a KML and then loading it into my app... But thats quite a stretch! And I'm already stuck on how to put the spatial data in the PDF I have.
Any input would be appreciated.
Thanks
Soko
Solved! Go to Solution.
You can find out more about the support layer/data types here: Layer types | ArcGIS Maps SDK for .NET | ArcGIS Developers
You can also work with temporary Graphics, for more info see Features and graphics | ArcGIS Maps SDK for .NET | ArcGIS Developers.
> Do you have an example for georeference a bitmap/PNG?
Not a specific example as far as I know, but the list of supported raster formats are documented here: Add raster data | ArcGIS Maps SDK for .NET | ArcGIS Developers and you can find out about World Files here: World files for raster datasets—ArcGIS Pro | Documentation.
> Or is the KML example I've found the only way to georeference a bitmap?
KML is also a convenient way to achieve the same thing.
There is no support for displaying arbitrary vector data. You will need to convert it to a supported spatial format, or rasterize it to a bitmap and georeference that bitmap.
KML isn't 3D only. It's just a good in 2D.
Thank, I was worried about such an answer...
Where can I find a list of the supported spatial formats?
PS: Do you have an example for georeference a bitmap/PNG?
PPS: Or is the KML example I've found the only way to georeference a bitmap?
You can find out more about the support layer/data types here: Layer types | ArcGIS Maps SDK for .NET | ArcGIS Developers
You can also work with temporary Graphics, for more info see Features and graphics | ArcGIS Maps SDK for .NET | ArcGIS Developers.
> Do you have an example for georeference a bitmap/PNG?
Not a specific example as far as I know, but the list of supported raster formats are documented here: Add raster data | ArcGIS Maps SDK for .NET | ArcGIS Developers and you can find out about World Files here: World files for raster datasets—ArcGIS Pro | Documentation.
> Or is the KML example I've found the only way to georeference a bitmap?
KML is also a convenient way to achieve the same thing.
Hello again,
I've tried KML/KMZ and RasterLayer so far but ran into troubles 😞
KML/KMZ:
A KMZ file with 100 small jpegs in it (15 MByte) takes ages (10 seconds) to show on the map. I've attached a version of it with just 2 small jpegs (rename it from ZIP to KMZ).
Biggest trouble: On an android device (.NET MAUI) using v200 of the runtime the app crashes!
RasterLayer:
It seems just to show a raster layer I need a Standard License.
As it is hard to see which of the many ways you've sugested are:
- possible with a Lite License
- support up to 100 images loaded without crashing on mobile
I'm only looking for displaying a bitmap overlay over a map. No Edit, Creating, Saving etc... its just read-only
Can you give me a little more direction please?
Thanks in advance
Soko
The recommended way to do this is using a RasterLayer - especially with that many images at the same time. There are also more efficient image types that has built-in low-resolution versions that better support zooming out and showing all the images at the same time for maximum performance.
Hi,
So I need a Standard License to deal with such type of data...ok.
I'm interested in those "more efficient image types" you are talking about. A quick Google search doesn't reveal them... Anyhow ArcGIS must support them anyhow. So you can you point me to the image-types ArcGIS Runtime supports (in RasterLayer) and have low-res build in?
Thanks
Soko