How to overlay a vector-PDF

1164
6
Jump to solution
01-25-2023 08:08 AM
SokoFromNZ
Occasional Contributor

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:

  1. It's in 3D (but I reckon KML would work on 2D as well)
  2. It's KML, not PDF
  3. It's a bitmap, not a vector

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

0 Kudos
1 Solution

Accepted Solutions
MichaelBranscomb
Esri Frequent Contributor

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. 

 

View solution in original post

6 Replies
dotMorten_esri
Esri Notable Contributor

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.

0 Kudos
SokoFromNZ
Occasional Contributor

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?

0 Kudos
MichaelBranscomb
Esri Frequent Contributor

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. 

 

SokoFromNZ
Occasional Contributor

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

0 Kudos
dotMorten_esri
Esri Notable Contributor

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.

0 Kudos
SokoFromNZ
Occasional Contributor

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

0 Kudos