MapInfo Pro

 View Only
  • 1.  Utility to convert MRR to Arc ASCII

    Posted 10-31-2017 17:17

    Hi,

    I work for a company that uses the RF Design tool called Planet. Planet leverages MapInfo for various things, including outputting the RF layers to disk. By default it outputs the layers in MRR format.

    I work in a development group that is trying to automate the consumption of these MRR files directly in order to present them on a website as images. We do it indirectly today with an additional manual step that we want to eliminate. Our current process is for the RF Design team to manually convert the MRR files to MapInfo format (.tab, .dat, .map .id) using a utility provided by Planet. They then upload those files to our dropbox where everything else is automated. We then use a 3rd party utility to convert the MapInfo file into KML format, parse the KML, and load the binned data into our DB.

    We want to eliminate the manual step of converting from MRR to MapInfo for a few reasons

    1. It takes time for the RF Team to perform this conversion.
    2. The MapInfo files are much less efficient than the MRR file (on the order of 50 – 75 times as large), which complicates moving the files to their final destination.

     

    Do you have a utility or API capability that we could execute from our program to convert the MRR file to something like Arc ASCII? The format needs to be able to support files that are multiple GB in size. If so, we would be able to have the RF Team just transfer the original MRR file to the dropbox, and everything else would be fully automated from there.

     

    Thanks in advance!



  • 2.  RE: Utility to convert MRR to Arc ASCII

    Employee
    Posted 10-31-2017 16:02

    The MRR format is highly performant and is often also highly compressed.

    If you try to convert the MRR file into an uncompressed format such as Arc ASCII which basically is a "text file" the resulting file size will grow by a factor of maybe 5 or 10 (or maybe even more). This depends on the compression used when creating the MRR.

    With MapInfo Pro Advanced or MapXtreme Advanced you can write a tool to automate the conversion from MRR til Ars ASCII. I'm however not sure if that's recommended taking the file size into consideration.

    If you have access to MapInfo Pro Advanced (or a trial version of it) you can try to use it to convert your MRR to an Arc ASCII grid. Maybe try to clip out a smaller portion of the MRR before running the convertion.

    You can find an article on how to get started with the MapInfo Pro Raster API using a combination of .NET and MapBasic here: https://li360.pitneybowes.com/s/article/Developer-Dojo-Getting-started-with-the-MapInfo-Pro-Raster-API

    You can also find the sample code here on Github: https://github.com/PeterHorsbollMoller/mbMapInfoRasterTool



  • 3.  RE: Utility to convert MRR to Arc ASCII

    Posted 11-02-2017 11:39

    Hi Peter/Andrei,

    Thanks so much for your responses. The plan is to download a trial version of MapInfo Pro Advanced and/or MapXtreme Advanced and do a POC.

    Kevin



  • 4.  RE: Utility to convert MRR to Arc ASCII

    Employee
    Posted 11-03-2017 07:42

    If you run into any questions, you know where to find us, @Kevin McCullough? 😉



  • 5.  RE: Utility to convert MRR to Arc ASCII

    Posted 11-05-2017 11:49

    It does seem like a protracted route!! Anyway, yes, you can convert from MRR to .asc files directly using MI Pro v16 but that will be even larger than the tab files that you are trying to skip. I'm sure your process could be shortened Kevin.



  • 6.  RE: Utility to convert MRR to Arc ASCII

    Posted 11-06-2017 12:08
      |   view attached

    I'm having trouble running one line of code to convert from MRR to ESRI ASCII GRD. Below are the details. Any thoughts?

     

    Sample Code:

    using System;

    using System.Collections.Generic;

    using System.Linq;

    using System.Text;

    using System.Threading.Tasks;

     

    using MapInfo.RasterEngine.Common;

    using MapInfo.RasterEngine.Operations;

    using MapInfo.RasterEngine.IO;

     

    namespace ConsoleApplication1

    {

       class Program

       {

           static void Main(string[] args)

           {

     

               RasterProcessing.Convert("C:\\PNR2\\dl\\5G\\DL_THPT_39.mrr", "C:\\PNR2\\dl\\5G\\hadi.asc", "MI_ESRI_ASCII_GRD");

     

           }

       }

    }

     

    Snapshot of Solution Explorer

    SolutionExporer

     

    Error:

    An unhandled exception of type 'System.BadImageFormatException' occurred in mscorlib.dll

     

    Additional information: Could not load file or assembly 'MapInfo.RasterEngine.Operations, Version=3.0.0.1290, Culture=neutral, PublicKeyToken=6e023577bd41d5d6' or one of its dependencies. An attempt was made to load a program with an incorrect format.



  • 7.  RE: Utility to convert MRR to Arc ASCII

    Posted 11-09-2017 00:52

    Hi,

    It could be possible that you are running your console application on x86 (32 bit) platform.

    Please compile your project on 64 bit platform and run your application.

    You will be able to solve this problem.

     

    Thanks

    Upendra Patel



  • 8.  RE: Utility to convert MRR to Arc ASCII

    Posted 11-09-2017 14:00

    Thanks, Upendra. That wasn't exactly the fix (as my platform is 64-bit), but it was related.

    I had the Target CPU set to "AnyCpu". After changed it to "x64", it's running fine now.

    Again, thanks for all the help!