More

Fixing Script Error Invalid Pointer from ArcGIS Geoprocessing Tools?


I am just learning ArcGIS 10.2 and it was working well until I tried to use the Export to a Geodatabase (single) option for a dbs table I made. Since then, it seems I now get the same Script Error for import/export functions. However, I just tried to export to Geodatabase (multiple) and error did not pop up. I spoke with tech support and they could not help me so far. I really do not know much about GIS so it is hard for me to fix this problem and cannot proceed with some things.


I just solved this problem. What you need to do is the following: In Windows go to: Control Panel -> Programs -> Uninstall a program.

Then right click on "ArcGIS for Desktop" -> Select "Uninstall/change".

The ArcGIS Setup dialog will pop up. Chose the "Repair" option.

After finishing the Repair procedures the ArcGIS will be working properly!


I resolved this error by repairing the data interop. installation. I also have background processing turned off.


Posts in category: Data Tools

The ASF_Tools ArcGIS Python Toolbox can be used with either ArcGIS Desktop or ArcGIS Pro, and contains tools that perform geoprocessing tasks useful for working with Synthetic Aperture Radar (SAR) data. The tools were designed to be used with Sentinel-1 Radiometric Terrain Corrected (RTC) SAR datasets, such as those available on-demand using ASF’s Data Search-Vertex portal, but several of the tools have the potential to be used with a variety of rasters, including non-SAR datasets.

The Toolbox is distributed as a zipped archive including the .pyt Toolbox script and associated .xml files. There is an XML file for the toolbox itself and one for each of the tools it contains. These XML files contain the metadata displayed in the item descriptions and tool help windows, and must be kept in the same directory as the Python Toolbox (.pyt) file, or the information they contain will no longer be accessible to ArcGIS.

Toolbox Contents

Unzip Files Tool
This tool assists in file management when downloading .zip files from ASF. It could be used to extract to a specified location any zip files with an additional internal directory containing the individual files. The tool deletes the original zip files once they are extracted, and is especially helpful when dealing with file paths that are so long that they are beyond the maximum allowed in default Windows unzip utilities.

Scale Conversion Tool
This tool converts pixel values in calibrated SAR datasets (such as RTC rasters) from power or amplitude scale into power, amplitude or dB scale. This is an application specific to SAR data values/scales.

Reclassify RTC Tool
This tool generates a raster that includes only those pixels below a user-defined threshold value, and is designed for isolating water pixels. While intended for RTC files in dB scale, this tool could be used for any application where the user is interested in generating a spatial mask for values below a given threshold in a single-band raster.

Log Difference Tool
This tool compares two rasters by calculating the log difference on a pixel-by-pixel basis to identify areas where backscatter values have changed over time. While intended for RTC files in amplitude scale, this tool could be used to compare the pixel values of any two single-band rasters, as long as there are no negative values (NoData values will be returned for pixels with a negative number in either of the datasets).

RGB Decomposition Tool
This tool generates an RGB image using the co- and cross-polarized datasets from an RTC product. Input datasets can be in either amplitude or power scale, and the primary polarization can be either vertical (VV/VH) or horizontal (HH/HV). Visit https://github.com/ASFHyP3/hyp3-lib/blob/develop/docs/rgb_decomposition.md for more information about interpreting RGB Decomposition images and the processing steps used to generate the color values.

Tutorials

After installing the Toolbox (see below), learn with ArcGIS StoryMaps how to use the different Tools. Visit the RTC On Demand! story map to learn how to order RTC products from ASF and work with the data using a variety of tools. Or, click on the buttons below to open the story maps for specific tools.

Prerequisites

Users must have either ArcGIS Desktop (ArcMap) or ArcGIS Pro installed and licensed on their computer. The Toolbox has been tested with Desktop versions 10.6.1 and 10.7.1 and Pro versions 2.4.2, 2.5.x and 2.6.1, but it may work with earlier versions as well.

Note that several of the tools require the Spatial Analyst extension. Users who do not have licensing for this extension in ArcGIS will not be able to use many of the included tools.

To install the Toolbox

  • Download the zip file and extract the contents to any directory accessible by the computer running ArcGIS.
  • Ensure that the Spatial Analyst extension is licensed and enabled.

ArcGIS Desktop (ArcMap)

  • Click on the Customize menu in ArcMap and select Extensions…
  • Check the box next to Spatial Analyst and click the Close button at the bottom of the Extensions window.
    • If you are unable to check this box, you do not have access to the Spatial Analyst extension and will not be able to make use of tools requiring this extension.
    • Click on the Project tab and select the Licensing tab.
    • In the list of Esri Extensions, scroll down to verify that the Spatial Analyst is licensed and enabled.
      • If it is not, an organization administrator will need to enable the extension in your user account.
      • If your organization does not have a license available for you to use, you will not be able to make use of tools requiring this extension.

      Using the Toolbox

      In the ArcMap Catalog window or the ArcGIS Pro Catalog pane/view, navigate to the directory containing the toolbox (create a new folder connection if necessary).

      • To open the Catalog window in ArcMap, click on the Windows menu and select Catalog.
      • To open the Catalog pane or view in ArcGIS Pro, click the View tab and click on either the Catalog Pane or Catalog View button.

      Note that if you explore the extracted contents of the zip file outside of the ArcGIS environment, the directory will contain one .pyt file and a number of .xml files.

      In the ArcGIS Catalog window/pane/view, only the Toolbox is displayed, and when it is expanded, all of the Tools contained in the Toolbox script are displayed. The XML files are automatically referenced when ArcGIS requires the information they contain, and do not appear as additional files in the ArcGIS Catalog environment. The XML files must remain in the same directory as the .pyt file, and their filenames should not be changed.

      • Double-click the ASF_Tools.pyt file to display the Tools (Scripts) included in the toolbox.
      • Double-click on a Tool (displayed with a Script icon) to launch the dialog box or geoprocessing pane, as you would for any other ArcGIS Tool/Script.
      • Enter the parameters as prompted and click the OK button to execute the tool.

      Note that output products are not automatically added to a project by default. You must navigate to them in the Catalog window/pane/view (or using the Add Data dialog) and add them to your project if desired.

      Tool Help

      The XML files included in the zip file are accessed when a user views the metadata for the toolbox, individual tools, or even different fields within the tool dialog.

      Accessing Help from within the Tool Dialog Box

      ArcGIS Desktop

      • Click on the Show Help button at the bottom of the tool window to open the help panel.
        • This panel will display information about the tool in general if no field is activated.
        • If the user clicks on any of the parameter fields, information specific to that parameter will be displayed.

        • When you hover over any of the parameter fields in the tool dialog, a blue i appears. Hover over or click the blue i icon to view helpful tips specific to that parameter.
        • Hover over the blue question mark at the top of the geoprocessing pane to display information about the tool. Click on it to open the full tool description in a browser window.

        Accessing Help from the Catalog Interface

        ArcGIS Desktop

        ArcCatalog displays the information contained in the xml metadata files in the Description tab for the toolbox and each tool.

        In the ArcMap Catalog window, the Item Description for the toolbox or any of its constituent tools displays the xml content.

        • Right-click the toolbox or tool in the Catalog window and select Item Description to view the information.

        The xml metadata is displayed in the Metadata tab in the Catalog view.

        • Right-click a tool in the Catalog pane and select View Metadata to open the Metadata tab for the item in the Catalog view.
          OR
        • Open the Catalog View directly to navigate to the tool and select the Metadata tab.

        Current Release Information

        Contact ASF if you have questions about the Toolbox, or if you have suggestions for other tools to include.

        Data Tools


        14 Answers 14

        The javadoc for SocketException states that it is

        Thrown to indicate that there is an error in the underlying protocol such as a TCP error

        In your case it seems that the connection has been closed by the server end of the connection. This could be an issue with the request you are sending or an issue at their end.

        To aid debugging you could look at using a tool such as Wireshark to view the actual network packets. Also, is there an alternative client to your Java code that you could use to test the web service? If this was successful it could indicate a bug in the Java code.

        As you are using Commons HTTP Client have a look at the Common HTTP Client Logging Guide. This will tell you how to log the request at the HTTP level.

        This error happens on your side and NOT the other side. If the other side reset the connection, then the exception message should say:

        The cause is the connection inside HttpClient is stale. Check stale connection for SSL does not fix this error. Solution: dump your client and recreate.

        If you experience this trying to access Web services deployed on a Glassfish3 server, you might want to tune your http-thread-pool settings. That fixed SocketExceptions we had when many concurrent threads was calling the web service.

        1. Go to admin console
        2. Navigate to "Configurations"->"Server config"->"Thread pools"->"http-thread-pool".
        3. Change setting "Max Thread Pool Size" from 5 to 32
        4. Change setting "Min Thread Pool Size" from 2 to 16
        5. Restart Glassfish.

        I did also stumble upon this error. In my case the problem was I was using JRE6, with support for TLS1.0. The server only supported TLS1.2, so this error was thrown.

        In my case, this was because my Tomcat was set with an insufficient maxHttpHeaderSize for a particularly complicated SOLR query.

        Hope this helps someone out there!

        I get this error all the time and consider it normal.

        It happens when one side tries to read when the other side has already hung up. Thus depending on the protocol this may or may not designate a problem. If my client code specifically indicates to the server that it is going to hang up, then both client and server can hang up at the same time and this message would not happen.

        The way I implement my code is for the client to just hang up without saying goodbye. The server can then catch the error and ignore it. In the context of HTTP, I believe one level of the protocol allows more then one request per connection while the other doesn't.

        Thus you can see how potentially one side could keep hanging up on the other. I doubt the error you are receiving is of any piratical concern and you could simply catch it to keep it from filling up your log files.

        This error occurs on the server side when the client closed the socket connection before the response could be returned over the socket. In a web app scenario not all of these are dangerous, since they can be created manually. For example, by quitting the browser before the reponse was retrieved.

        The Exception means that the socket was closed unexpectedly from the other side. Since you are calling a web service, this should not happen - most likely you're sending a request that triggers a bug in the web service.

        Try logging the entire request in those cases, and see if you notice anything unusual. Otherwise, get in contact with the web service provider and send them your logged problematical request.

        I know this thread is little old, but would like to add my 2 cents. We had the same "connection reset" error right after our one of the releases.

        The root cause was, our apache server was brought down for deployment. All our third party traffic goes thru apache and we were getting connection reset error because of it being down.


        Fixing Script Error Invalid Pointer from ArcGIS Geoprocessing Tools? - Geographic Information Systems

        For Linux and Solaris only

        Mobile

        • NIM039695 - GPS cursor doesn't point correct direction after rotating map in ArcGIS Mobile application.

        REST API

        • NIM042583 - REST Query Layer and KML Server requests do not return valid KML if the layers in the map document used to create the service have a geometry field named something other than SHAPE.
        • NIM052721 - Update Java REST API in 9.3.1 SP2 to not generate ETags by default for tiles fetched from cached map services.
        • NIM052853 - Round-robin or failover does not work as expected in the Java REST handler.
        • NIM053837 - In the .Net REST handler the REST URL response grows with every page refresh when using the Sitemap parameter.
        • NIM054974 - In the .Net REST handler the MapService Query operation fails when SHAPE field is included in the list of outfields and returngeometry is also set to true.


        Attempted to read or write protected memory. This is often an indication that other memory is corrupt

        I'm hoping someone can enlighten me as to what could possibly be causing this error:

        Attempted to read or write protected memory. This is often an indication that other memory is corrupt.

        I cannot really post code because this error seems to get thrown in any random area of the application. The application will run anywhere from 12-48 hours before throwing the error. Sometimes it will stop in a seemingly random spot and throw the above error, other times the entire application stops and I get a screen with an error that says something along the lines of "There was a fatal error in. This may be a bug in the CLR or. " something about PInvoke or other non relevant info. When this happens all threads show terminated and there is no debugging information available.

        In a nutshell this is what the application does:

        Its a multi-threaded server application written in entirely in C#. Clients connect to the server via socket. The server runs a virtual "environment" for the clients where they can interact with each other and the environment. It consumes quite a bit of memory but I do not see it leaking. It typically consumes about 1.5GB. I dont think its leaking because the memory usage stays relatively constant the entire time the application is running. Its constantly running code to maintain the environment even if the clients are not doing anything. It uses no 3rd party software or other APIs. The only outside resources this application uses is socket connections and SQL database connections. Its running on a 64bit server. I have tried debugging this in VS2008 & VS2010 using .net 2.0, 3.5, and 4.0 and on multiple servers and the problem still eventually occurs.

        I've tried turning off compiler optimizations and several microsoft hot-fixes. Nothing seems to make this issue go away. It would be appreciated if anyone knows any possible causes, or some kind of way to identify whats causing the problem.


        5 Answers 5

        It is a server error, not a client error. If server errors weren't to be returned to the client, there wouldn't have been created an entire status code class for them (i.e. 5xx).

        You can't hide the fact that you either made a programming error or some service you rely on is unavailable, and that certainly isn't the client's fault. Returning any other range of code in those cases than the 5xx series would make no sense.

        The 5xx (Server Error) class of status code indicates that the server is aware that it has erred or is incapable of performing the requested method.

        This is exactly the case. There's nothing "internal" about the code "500 Internal Server Error" in the sense that it shouldn't be exposed to the client.

        The real question is why does it generate a 500 error. If it is related to any input parameters, then I would argue that it should be handled internally and returned as a 400 series error. Generally a 400, 404 or 406 would be appropriate to reflect bad input since the general convention is that a RESTful resource is uniquely identified by the URL and a URL that cannot generate a valid response is a bad request (400) or similar.

        If the error is caused by anything other than the inputs explicitly or implicitly supplied by the request, then I would say a 500 error is likely appropriate. So a failed database connection or other unpredictable error is accurately represented by a 500 series error.

        You suggested "Catching any unexpected errors and return some error code signaling "unexpected situation" " but couldn't find an appropriate error code.

        Guess what: That's what 5xx is there for.

        Generally speaking, 5xx response codes indicate non-programmatic failures, such as a database connection failure, or some other system/library dependency failure. In many cases, it is expected that the client can re-submit the same request in the future and expect it to be successful.

        Yes, some web-frameworks will respond with 5xx codes, but those are typically the result of defects in the code and the framework is too abstract to know what happened, so it defaults to this type of response that example, however, doesn't mean that we should be in the habit of returning 5xx codes as the result of programmatic behavior that is unrelated to out of process systems. There are many, well defined response codes that are more suitable than the 5xx codes. Being unable to parse/validate a given input is not a 5xx response because the code can accommodate a more suitable response that won't leave the client thinking that they can resubmit the same request, when in fact, they can not.

        To be clear, if the error encountered by the server was due to CLIENT input, then this is clearly a CLIENT error and should be handled with a 4xx response code. The expectation is that the client will correct the error in their request and resubmit.

        It is completely acceptable, however, to catch any out of process errors and interpret them as a 5xx response, but be aware that you should also include further information in the response to indicate exactly what failed and even better if you can include SLA times to address.

        I don't think it's a good practice to interpret, "an unexpected error" as a 5xx error because bugs happen.

        It is a common alert monitor to begin alerting on 5xx types of errors because these typically indicate failed systems, rather than failed code. So, code accordingly!


        You probably grew up using ArcGIS… or QGIS…

        And every day, you sit down at your computer desk

        …and you do the same thing:

        You open up the same ArcGIS software…or QGIS software (albeit a newer version) because that’s what you know best.

        But have you ever asked yourself:

        Can I get MORE from using different GIS mapping software?

        We navigate you through the differences between ArcGIS and QGIS because you’ll be more efficient and more advanced of a GIS user.. It’s a head-to-head GIS software showdown with the star-studded lineup in the GIS industry – ArcGIS vs QGIS..

        1 QGIS mind-blowingly consumes all types of data

        ArcGIS has broken more hearts than anyone for consuming data.

        No questions asked. QGIS has the edge for consuming data. QGIS is versatile. It’s cutting edge when it comes to consuming data.

        QGIS uses the GDAL/OGR library to read and write GIS data formats. Over 70 vector formats are supported.

        QGIS was born to work with PostGIS. But the list goes on for GIS format consumption… ENC, shapefile, geodatabase, MapInfo formats, Microstation file formats, AutoCAD DXF, SpatiaLite, Oracle Spatial, MSSQL Spatial databases, WellKnownText (WKT)…

        Instead of pounding the pavement to load your NetCDF files, QGIS will consume it for YOU.

        Instead of wasting time trying to add space-delimited files, the QGIS interface lets you roll it in 24 hours a day. (Because setting custom delimiters in QGIS is even better than Microsoft Office.)

        Instead of poring over piles of conflicting and confusing GIS formats, simply consume it with QGIS.

        ArcGIS has broken more hearts than anyone for consuming data.

        While QGIS has won my heart.

        2 Simplicity is beauty for user experience

        You never realized how powerful the ArcGIS “Add Data” could be, did you?

        You laugh now, but think about it:

        This one button simplifies adding data because it recognizes all GIS formats.

        Do you want to add a spreadsheet? Do you want to add a raster? Push the “Add Data” button. It’s that easy.

        In QGIS, do you want to add a spreadsheet?

        Click the “Add Vector” button. Select the all data formats drop-down.

        The separate buttons in QGIS (add vector, add raster, and PostGIS, add SpatialLite, etc) is tolerable but adds confusion.

        Another instant crush is the splash screen in ArcMap that displays your latest map documents. Retrieve old MXDs because we all have to return to unfinished business. This feature is available in QGIS by selecting Project > Open Recent .

        Simplicity is a thing of beauty for use experience.

        And ArcGIS execution is genius.

        3 Explore your geodata with ArcCatalog and QGIS Browser

        QGIS Browser and ArcCatalog are stand-alone GIS data management applications.

        These applications help many manage their raster, vector and GIS data. They give basic preview functions but the focus is on data access and organization.

        Pin down missing data sets by using the filter and search tools. It’s like your own personal Google search engine. With ArcCatalog, it’s not only for data, but also maps, models and tools.

        A part of managing data is creating metadata. When was it created? Who is the creator? How was it made? The answers can be found in metadata.

        Over the years, metadata has evolved into a variety of formats (ISO, FGDC, INSPIRE and NAP). ArcCatalog rises to the occasion giving users the option to select their own metadata standards.

        Both QGIS Browser and ArcCatalog help to easily navigate in your filesystem and manage geodata…

        The edge goes to ArcCatalog because of its options.

        4 Fearlessly join tables in ArcMap and QGIS

        When you join a table to spatial data, you’re putting each row on the map.

        Creating table joins is intuitive in ArcGIS. In ArcMap, you can right-click a layer and select ‘join’. You can also join via the layer properties.

        And it’s really just as simple in QGIS.

        In QGIS, you can join tables with the layer properties. When you make a table joins in QGIS, it gives the option to rename the prefix of that specific join. With multiple joins, this is a useful feature.

        But both are winners in my books.

        5 ArcGIS and QGIS hit the bullseye for coordinate systems and projections

        The first data set you add to ArcMap determines your coordinate system.

        When other data sets are added in other coordinate systems, ArcGIS will project the data “on the fly”. This means the layer will match the initial layer and data frame’s coordinate system.

        A ‘Unknown Spatial Reference’ means there’s a datum conflict. In this case, ‘unknown units’ will appear in the bottom right corner of ArcMap and you should use the Define Projection tool.

        QGIS has support for 2,700 known coordinate reference systems (CRS). It allows you to define global and project-wide CRS for layers without a pre-defined CRS. It also allows you to define custom CRS and supports on-the-fly projection of vector and raster layers.

        Both ArcGIS and QGIS handle CRS in a user-friendly way. Issues have risen with .PRJ in QGIS. But that’s a thing of the past.

        6 ArcGIS Online loads your arsenal with real world GIS data

        QGIS gives you a couple basemaps with the OpenLayers plugin.

        But it’s nowhere close to ArcGIS Online.

        When you open the ArcGIS Online’s data catalog, you’ll feel like a kid on Christmas. Unwrap thousand of gifts like government data, detailed basemaps and crowd-sourced information.

        The basic ArcGIS license gives you access to ArcGIS Online – a GIS data goldmine.

        A generic search for “environment” returns over 2887 GIS datasets. 2887 . USDA Wildfires, NOAA Damaging Winds, World Climate Total Annual Precipitation, Ocean Bathymetry Basemap. This would make any environmental researcher squeal in delight.

        The bottom line is that ArcGIS Online is a rich source of GIS data. It helps you analyze and make even more powerful and knowledgeable decisions.

        Remember that with great power comes responsibility. Use the power wisely, my friend.

        7 Licensed to geoprocess

        “Licensed to geoprocess” sounds like a really bad movie. ArcGIS is the villain forcing you to connect to your license. QGIS is the open source hero.

        ArcGIS has a very good geoprocessing framework. Very solid. Very extensive.

        But your license level determines which tools you can use in ArcGIS. A basic license still gives you access to a large number of powerful tools. An advanced license gives you access to everything.

        Now this part is important:

        There are no license levels in QGIS. Open source QGIS software does not limit which tools can be used.

        If you want to use the erase tool in ArcGIS 10, you’d have to turn on the advanced license. If there are no available advanced licenses, it means you can’t use the erase tool. (You could use the free trial of ET GeoWizards).

        Now, take this to the bank:

        The erase tool is readily available in QGIS in the Vector Analysis toolbox. (It’s the Difference tool) Same as the symmetrical difference tool, which isn’t available with a basic ArcGIS license.

        There’s tool integration with GRASS and SAGA GIS, this gives you the necessary horsepower at your disposal to solve almost every geospatial problem.

        QGIS is working on its geoprocessing framework which is already impressive. But in the end, you really are licensed to geoprocess in ArcGIS. It’s like a bad horror movie.

        This makes QGIS a dominant winner in this category.

        8 Have no fear, the plugins are here

        Sorry, you thought we were talking about QGIS, didn’t you?

        We all know you can engineer specialized analyses with plugins. QGIS has boatloads of plugins to solve everyday GIS problems. Over 300 of them.

        But what you may not have known is that ArcGIS has plugins too. There are solutions for practically EVERY GIS problem.

        Free integration with R stats (Geospatial Modelling Environment), Marine Tools add-on, NetCDF interoperability, ET GeoWizards, ArcGIS Patch Analyst,…With Esri’s latest addition for an app store of their own – ArcGIS Marketplace, even more plugins will be rolling out like clockwork.

        There are paid (and free) solutions for almost any spatial problem you can think of. Esri has nailed every corner of the market including gardening. You have to understand how scalable and unique Esri is to solve your geospatial problem.

        QGIS is a lean-mean vector processing machine

        but it just doesn’t has the variety of specialized tools available in Esri.

        9 Raster processing in both QGIS and ArcGIS are crazy, stupid useful

        The Spatial Analyst extension packs the most punch for raster data manipulation.

        Whether it’s simple math (map algebra and conditional toolset), statistics (multivariate, neighborhood or zonal toolsets), or generating value surfaces (interpolation, density or overlays), ArcGIS raster-based tools are rock-solid. The Spatial Analysis tools also offers specialized tools for groundwater, hydrology, cost surfaces and solar radiation. Other options are to filter (reclass or extraction tool sets) or simplify data (generalization toolset).

        In QGIS, the raster calculator tool performs map algebra with a little less math and trigonometry functions. QGIS has multiple ways to perform interpolation. Ordinary and universal kriging are separate tools in QGIS, but in ArcGIS it’s a radio button under the kriging tool. GRASS r.cost is for cost surfaces. QGIS wins for more filtering options. There are groundwater and solar radiation tools in QGIS, but not like ArcGIS

        We could continue. But choose not to bore you.

        It’s difficult here to pin down a winner, as both stand out for having a plethora of raster manipulating options.

        10 ArcGIS Geostatistical Toolbox is crowned winner because it teaches you stats

        Have you ever tried to assemble furniture without the instruction manual? Practically impossible, right?

        When you run tools in the ArcGIS Geostatistics Toolbox, the instructions and output explanations are so clear that a child could understand the results.

        When you run Moran’s I, the report output delivers a concise explanation. You know if your data is auto-correlated or not.

        In QGIS, you need a good understanding of the tool beforehand. This isn’t necessarily a bad thing. But you don’t get the silver platter like ArcGIS 10.

        The exploratory regression tools in ArcGIS are well made because the outputs allow users to connect statistics with their data. This saves time for analysts.

        The Group Stats plugin in QGIS is neat. It’s like an interactive pivot table creator integrated in QGIS. The columns are your statistics types (average, minimum, variance, etc). Rows are categorical fields such as place names or watersheds. Add a value field and push calculate. Voila, your pivot table is generated.

        When you can make difficult concepts straight-forward, you become a winner in my book. And ArcGIS is best at teaching geostatistics.

        11 You have x-ray vision using QGIS remote sensing tools

        Silently in the vacuums of space, satellites are passively and actively collecting the various EM spectra of Earth. Satellites like Sentinel 2a and Landsat-8 are the exciting ones making data more ubiquitous to GIS analysts.

        QGIS and ArcGIS present a myriad of tools for remote sensing.. Some of these are like hand tools, like a chisel. Others are like power tools, like an electric drill.

        The QGIS semi-automatic classification plugin lets you download Landsat imagery and classify them in a semi-automatic way. The Orfeo toolbox delivers a range of tools to filter, process and manipulate raster data. LASTools can be integrated to handle LiDAR. We found it difficult to set up. But LASTools has always been solid for LiDAR handling.

        When ArcGIS 10.1 added the image analysis toolbar, it instantly provided remote sensing analysts with the necessary tools to create samples, and perform unsupervised and supervised classification. Pansharpen, perform NDVI, orthorectify and interactively change the brightness, contrast and transparency. The LAS Dataset (LASD) is an awkward way to work with LiDAR. It still gets the job done.

        No stand outs. But QGIS deserves an edge for remote sensing.

        12 Route your next fishing trip with ArcGIS network analyst

        Almost everyone has needed a routing analysis in their life.

        Here’s Las Vegas to the Grand Canyon:

        In ArcGIS, flick on the network analyst switch. Add your data to a network data set. Building a clean topological road dataset is the challenge. But after this, you’re ready to go.

        Using the “Road Graph” plugin, QGIS calculates the shortest path. QGIS lacks some of the tools found in ArcGIS network analyst – Location-allocation, New OD Cost Matrix, etc.

        The ArcGIS network analyst extension is the networking extension of champions.

        13 Direct workflow (like a boss) using ArcGIS Model Builder

        Have you ever wanted to put your workflow in auto-pilot?

        Think about it for a second:

        When you run redundant tasks as a scheduled model, you can sit at home in your bathrobe all day long (and still get work done.)

        And ArcGIS Model Builder is the most intuitive, rock-solid, pragmatic way to automate geoprocessing jobs.

        You string together sets of tools in Model Builder to automate processes. It has iterators to do “for” and “while” loops. Drop tools in your Model Builder Diagram and connect them together. It’s easy.

        Export your model and share with others. Or export as a Python script and customize it.

        ArcGIS scripting is almost all run through the Arcpy module. Arcpy coding is incredibly easy because almost every tool in ArcGIS has a scripting tool of the same name already created (which you can easily copy and paste from Esri’s website). Automate everything.

        QGIS has the same functionality as ArcGIS Model Builder and it’s called Graphical Modeler.

        You graphically develop sets of tools in a specified order using QGIS Graphical Modeler.

        QGIS tends to crash often when using the modeler. It’s shaky. Save often.

        For QGIS, you have PyQGIS. There is no QGIS module and you will be using GDAL a lot. You will also be using a bunch of other modules as needed for different projects. It can be difficult to figure out what to use and where it all is.

        Despite the bugs, in the end you can achieve the desired results.

        We love model builder. We love ArcPy. These are two of the brightest spots of ArcGIS.

        14 Design a cartographical masterpiece in ArcGIS and QGIS

        Open source skeptics think that ArcGIS is the only way you can create beautiful maps.

        But QGIS is a viable option to create cartographic masterpieces. QGIS mapping interface is called ‘Print Composer’. It acts almost like another application.

        … But once you symbolize and label features in your layout, this is when you realize that QGIS is a cartographer’s dream.

        ArcGIS layout view is how to set up map templates and export map products. ArcGIS experts in various formats like PDF, JPG, SVG, AI, PNG, EPS and EMF. ArcGIS layout view is practical. It has tools to pinpoint your labels, set up mapbooks and link data frames with easy extent rectangles.

        We like both QGIS and ArcGIS for all-purpose mapping.

        15 Create symbology that rocks your readers’ world in QGIS

        ArcGIS is loaded with stunning symbology on startup. We like the symbology by discipline (transportation, real estate, soils, weather, etc). It’s great for point, line and polygon styles. The existing symbology in ArcMap is beautiful, useful and plentiful.

        QGIS misses the beat on pre-existing choices. Life would be easier in QGIS if it came equipped with symbology like railways and hatched polygons. Keep in mind: you can download and load them to your symbology palette.

        Where QGIS sputters, it makes up ground for its Adobe Photoshop-like array of fill options. It has more blending options than a symbology bakery: lighten, screen, dodge, addition, darken, multiply, burn, overlay, soft light, hard light and difference.

        Gradient fills makes QGIS a cartographer’s paradise. You can create simple gradients with two or multiple colors. Add the different types-linear, radial, conical. Save as a QGIS layer style file (*.QML).

        But the icing on the cake is the “Color Picker”. It’s such a simple idea for selecting colors. You no longer have to write a RGB code again.

        QGIS has some really advanced symbology. ArcGIS is practical and puts symbols in the hands of the cartographer. Both are winners in my books.

        16 Design dynamite labels & annotation in QGIS

        Labelling is fantastic in QGIS. QGIS is a whole new level of style.

        • Buffer text with a flaring glow.
        • Add drop shadows for style points.
        • Set transparencies, blending modes and offsets

        These subtle differences give your labels serious pop.

        While ArcGIS lacks some of the beauty of QGIS labelling, you can get surgical for placing labels with ArcGIS maplex labeling engine. Gain full control of exactly how and where you want to label features. Set label location and scale dependency. Curved and Parallel labelling is easy in ArcGIS. It’s smart.

        The drawing toolbar is how to control annotation groups in ArcGIS. It’s not intuitive. Make a separate toolbar for annotations. But with a little practice you can control which annotation group labels belong to.

        The upside is QGIS beautiful labels. But placement properties and annotation favors ArcGIS.

        17 Become a map automation quarterback with Data Driven Pages

        If you’re in the map-making business, you should use data driven pages in ArcGIS. It is your complete arsenal for automated map production.

        The index layer is used to create each individual page. The Data Driven Pages toolbar and the Cartographer Toolbox is the one-two punch combo for mapbooks.

        The Cartographer Toolbox is how to create strip maps. If your map spans multiple projections, use the Calculate UTM zone tool .

        QGIS’ Composer has the ability to create an “Atlas” built-in, and it works very well.

        Using Atlas Generation, select your coverage layer which contains geometries and fields. For each geometry in the coverage layer, a new output will be generated. Fields associated with this geometry can be used within text labels. A page will be generated for each feature.

        Atlas works well. QGIS atlas and ArcGIS data driven pages are for quantity.

        18 Hoist the anchor and sail away from two dimensions in ArcGlobe & ArcScene

        It’s time to hoist the anchor and sail away from two dimensions.

        ArcGlobe and ArcScene are stand alone programs using the 3D analyst extension. These applications give you a chance like no other to enter a world in 3D.

        ArcScene is for small study area scenes. Extrude objects with amazing vertical exaggeration. The z-factor is your friend.

        ArcGlobe is for data that spans the whole globe. Make your data come to life. Perform wicked fly-throughs.

        Just make sure you enable your 3D analyst license before hand.

        QGIS lacks decent 3D support. The Qgis2threejs plugin can catapult you in three dimensions. The Qgis2threejs plugin exports terrain data, map canvas image and vector data to your web browser.

        But just don’t expect something as polished as ArcGlobe or ArcScene. Ya, ArcGIS is much better than QGIS for your 3D needs.

        19 Design epic webmaps and tell your story

        Webmaps are on the uptrend. The news industry, governments and businesses are using webmaps because they tell a story.

        Web mapping is easy in ArcGIS. Cartographers send data to the web via ArcGIS Online. ArcGIS Online for webmaps is where the online maps are held on Esri’s GIS cloud.

        A cool trend are ArcGIS story maps because everyone has a story to tell. With ArcGIS, you can harness the power of maps to tell yours

        QGIS Server provides a web map service (WMS). The WMS uses the same libraries as the Quantum GIS (QGIS) desktop application. Maps and print templates created in QGIS desktop can be published as web maps simply by copying the QGIS project file into the server directory.

        The slick South Perth and Swellendam, South Africa uses Leaflet clients and are example of QGIS server web maps.

        20 Sail through turbulent times with ArcGIS animations

        Have you ever wanted to animate your data?

        Watch polar ice caps melt over time. Display global time-aware weather patterns. ArcGIS makes it an easy process to go from static to dynamic with its animation toolbar. GIS time series animations are easy in ArcGIS.

        When you have a time-enabled field, scroll the time slider left-to-right. Watch your data change over time. A little preparation is necessary but nothing too painful. Export as a AVI and impress your boss.

        The TimeManager plugin adds time controls to QGIS. Using time controls, you animate vector features based on time attributes. There is also an experimental raster layer support and interpolation between point geometries. You can create animations directly in the map window and export image series.

        21 Construct color-coded thematic maps

        Social scientists often construct thematic maps because they show a particular theme connected with a specific geographic area

        For thematic mapping in QGIS, cartographers have a range of options – graduate colors, graduated symbols, proportional symbols and dot density. Symbolize numeric data with pie, bar/column, histograms and text diagrams.

        One of the unique tools in QGIS is the heatmap display. Take a point data set and instantly create a heat map (without raster conversion). Adjust the radius, color ramp, transparency and blending mode. In the end, the heat map renderer delivers live dynamic heatmaps for point layers.

        You can symbolize multiple fields in QGIS using the “set column expression” or “rule-based expression”. But in ArcGIS, it’s fast, easy and intuitive using unique values, many fields . Dot density maps and stacked charts are unique qualities to ArcMap.

        Using both ArcGIS and QGIS, you can become a thematic mapping legend. Not the legend you see in a map, of course.

        22 Create mind-blowingly detailed edits with ArcMap’s Advanced Editing tools

        There are subtle differences between ArcGIS and QGIS editing. But not all editing tools are created equal.

        You right-click to end a sketch in QGIS. You double-click to end a sketch in ArcGIS. You’d be surprised how refreshing it is to end a sketch with a right-click. It’s easy to mistakenly double-click when creating a lot of vertices.

        QGIS offers a range of tools for editing like reshaping, splitting and tracing (with the AutoTrace plugin). Delete rings from features and create donuts with simplicity. You snap features using snapping options. The QGIS CadTools plugin provides 13 advanced tools. One of the bright features is rolling back edits in QGIS. This can only be done in the vertex sketch properties in ArcMap. Every vertex can be moved and removed.

        It’s painless to create data in ArcMap. ArcGIS has more options for advanced editing. You create features by setting up feature templates. The advanced editing enables tools like exploding multipart features, fillet/trim/extending curves and replacing geometry. The trace tool in ArcMap was sent from heaven.

        23 You have 99 problems but a topology error isn’t one

        • Do points overlap polygons?
        • Do overlaps exist?
        • Should lines touch the boundary of polygons?

        The only word I can describe topology in ArcGIS is genius. This is a genius toolbar.

        If you’re worried your GIS data has errors (overlaps, gaps), ArcGIS supports richer, complex error checks with their topology tools. Inspect your topology with over 30 rules with the error inspector. Resolve topology issues with automatic or manual fixes.

        Once your data is in a geodatabase, you can start creating topology rules.

        QGIS delivers a couple of rules for topology: “must contain”, “must not have duplicates”, “must not have gaps”, “must not have invalid geometries”, “must not have multi-part geometries”, “must not overlap” and “must not overlap with”. You validate your geometry based on these rules, but how do you fix it?

        ArcGIS topology fixing is interactive. One-by-one, you can go through errors and fix them.

        Topology editing is a strong point in ArcGIS with a ton of options to fix editing errors.

        Best of its kind.

        24 Perform data entry like a pro

        Both QGIS and ArcGIS are hard-hitting GIS data entry machines. They both provide similar functionality.

        When you create a shapefile in QGIS, you are prompted to set up your fields (text, whole, decimal number or date). With ArcGIS, you create fields (integer, float, double, text or date) afterwards – unless you’re in ArcCatalog.

        When fields are created in QGIS, you can rename them using the Table Manager plugin. You probably thought in ArcGIS, you have to create a new field and copy the contents over to the new field. But the Alter Field (Data Management) can accomplish this

        In geodatabases, users can set up subtypes, domains and default data entry. When users start entering attribute information, they can select from drop-down lists. This is how to steer clear from invalid entries when GIS analysts start going rogue.

        Selection by location has been improved with its interactive selection tool. When records are selected, they can be filtered even more so (selected from, added to, removed from). The field calculator supports Python and VB to execute code.

        One of the many quirks in ArcGIS is that you have to stop editing to calculate a field.

        25 Locate XY coordinates by geocoding addresses

        Geocoding is the process of giving XY values to street addresses.

        One option to geocode is through ArcGIS Online Geocoding. This is a paid service requiring credits to use.

        ArcGIS Desktop has its own way to geocode using your own data. To do this, you create an address locator. Find addresses using the Geocoding Toolbar. Type the location and add a labeled point.

        If you want to avoid credit systems of any form, then you have two options in QGIS. Both are good options.

        The MMQGIS plugin is great for bulk geocoding. This plugin takes a spreadsheet (CSV) containing multiple addresses and adds them to the map canvas as points.

        The GeoCode plugin requires an address as input. Type an address.

        Press OK. Watch your address appear on the map.

        Five for five. Boom!

        We don’t like the idea of credits, or paying additional costs for geocoding. Go with QGIS for geocoding.

        26 Alter geometries with data conversion tools

        It’s any cartographer’s bread and butter to generalize features, to convert polygons to points or vice versa. And sometimes altering features can be tricky. But with QGIS on your side, it doesn’t have to be:

        In QGIS, you can convert lines to polygons, points to polygons, or anything in between.

        In ArcMap, it completely depends on the task. You may need the advanced license for data conversion.

        QGIS has some pretty cool generalization tools too. These are used to simplify lines, aggregate points and polygons and more.

        27 ArcGIS drowns readers with rock-solid examples and documentation (in a good way)

        Documentation is superb in ArcGIS. ArcGIS not only provides in-depth documentation on how to use tools. It delivers sample data for you to get hands-on experience.

        This is not to say QGIS documentation isn’t good. It’s informative. It’s well-written. It’s practical. But it hasn’t been rung through the dryer like ArcGIS.

        While GIS Stack Exchange is the central community hub for QGIS users.

        QGIS support is very active. A dedicated volunteer community supports QGIS newbies. The ArcGIS community consists of staff and enthusiastic users.

        They both are hit and miss when it comes to supplying answers to problems.

        Let’s Wrap Things Up

        GIS really comes down to just 4 simple ideas: Creategeographic data. Manageit. Analyzeit and… Displayit on a map. These are the primordial functions and are served well in both GIS software.

        You can’t go wrong with either GIS mapping software – QGIS or ArcGIS.

        QGIS is free. It has multi-language support. It relies on volunteer efforts which is really good. It has huge support on stack exchange. The more you work in QGIS, the more hidden gems you find: interactive pivot tables with GroupStats, adding CSVs with simplicity and the stunning cartographical symobology and labeling options.

        ArcGIS is one of the best GIS investments you could ever make. It’s expandable. It has the biggest user community to find answers. It provides tutorials with sample data for you to get hands-on experience. Model builder and automation are top caliber. The specialty software in ArcGIS extension is also a thing of beauty.

        In the crudest terms, we’d rank it like this: ArcView Where does ArcGIS triumph?


        1. Install Xcode and Xcode Command Line Tools as mentioned.
        2. Use Pillow instead, as PIL is basically dead. Pillow is a maintained fork of PIL.

        If you have both Pythons installed and want to install this for Python3:

        10 different libraries on your dev build just to start debugging the one-line error that is occurring in the production environment. Hope this clarifies. &ndash Namey Sep 17 '15 at 23:32

        It is very simple using apt install use this command to get it done

        You should install as described here:

        On Mac OS X, use this command:

        Then, Just import in your file like,

        I am using windows. It is working for me.

        NOTE:

        Pillow is a functional drop-in replacement for the Python Imaging Library. To run your existing PIL-compatible code with Pillow, it needs to be modified to import the Imaging module from the PIL namespace instead of the global namespace.


        7. Licensed to geoprocess

        “Licensed to geoprocess” sounds like a really bad movie. ArcGIS is the villain forcing you to connect to your license. QGIS is the open source hero.

        ArcGIS has a very good geoprocessing framework. Very solid. Very extensive.

        But your license level determines which tools you can use in ArcGIS. A basic license still gives you access to a large number of powerful tools. An advanced license gives you access to everything.

        Now this part is important:

        There are no license levels in QGIS. Open source QGIS software does not limit which tools can be used.

        If you want to use the erase tool in ArcGIS 10, you’d have to turn on the advanced license. If there are no available advanced licenses, it means you can’t use the erase tool. (You could use the free trial of ET GeoWizards).

        Now, take this to the bank:

        The erase tool is readily available in QGIS in the Vector Analysis toolbox. (It’s the Difference tool) Same as the symmetrical difference tool, which isn’t available with a basic ArcGIS license.

        There’s tool integration with GRASS and SAGA GIS, this gives you the necessary horsepower at your disposal to solve almost every geospatial problem.

        QGIS is working on its geoprocessing framework which is already impressive. But in the end, you really are licensed to geoprocess in ArcGIS. It’s like a bad horror movie.

        This makes QGIS a dominant winner in this category.


        2008年5月30日

        Blog Post with Word 2007

        步驟一: 進到Publish 裡的Blog,裡頭就會看到位置,橫線上方為文章標題,下方則為文章,編輯方式與一般於Word裡頭相同

        步驟二:完成後,按左上方的Publish,裡頭會要求你設定blog server以及picture server,

        1. 將blog server設定為blogger,以及使用您的google或是研究室帳號登入
        2. 將picture server中Upload Url以及Source Url皆為研究室ftp server,位置為ftp://140.112.190.162/blog,使用者為匿名(anonymous),密碼為空白。設定完成後,即可貼文。

        MATLAB 之工程應用

        GIS programming learning resources

        Introduction to GIS lectures

          by Dr. Kumar in Dept of Ecosystem management in U of New England, AU I: by Dr. Duh in Dept of Geography in Portland State University, USA with textbook Geographic Information Systems and Science by Drs. Longley, Goodchild, Maguire, Rhind
          II by Dr. Duh in Dept of Geography in Portland State University, USA

        GIS softwares

          is a shareware for ArcGIS which provides many useful functionality addition to the original ArcGIS functions. : A free software that analyzes spatial, temporal and space-time data using the spatial, temporal, or space-time scan statistics.

        GIS resources

          from a website of a doctoral student in NTU
          from a class document in 2008 spring
          from Duke university which has a very well-organized with simple description and links from Ireland which provides some lecture notes about Computational Geography (such as small area problem and Spatial analyst) and also many useful GIS resources.

        Projection transformation

        1. Figure out the original projection of your map even though it has not been defined before, namely it does not have any projection file (*.prj) along with other files for shapefile.
        2. Two coordinate system can be defined in a shapefile, one is geographical coordinate system which is essentially for longitude and latitude the other one is projected coordinate system which is for the planar coordinate (two-dimension)
        3. To define a coordinate system to a shapefile, Go to ArcToolbox -> Data Management Tools -> Projections and transformations -> Define projection, and then a window will popup for us to select the shapefile (feature class) to define and the coordinate system
        4. To change a coordinate system of a shapefile in order to align with other shapefile,
          1. Determine the coordinate system to which we would like to transform
          2. Go to ArcToolbox -> Data Management Tools -> Projections and transformations ->Feature -> Project
          3. Specify the shapefile to transform (feature class), the name for the new shapefile with new coordinate system (projection), and the new coordinate system in the popup window
          4. OK

          To adjust the position of maps in ArcGIS

          1. 開啟 arcmap → 選擇 a new empty map
          2. 看到一個黃色 + 號圖形,把這三張圖讀出
          3. tools → editor bars →會出現編輯的工具列
          4. 選 editor → start editing →就可以開始編輯
          5. 先打勾里村跟縣市 ( 或鄉鎮 ) 作對比
          6. 看完對比之後,只那村里勾選→用滑鼠把外島那一部份框起來,移至最左邊,不要擋到其它那兩張圖外島的位置就行了
          7. 然後勾選其它兩張任一張圖,做對比→一一的移動到適當的位置
          8. 完成了之後,到 editor → stop editing →它會問要不要存檔→ ok →即完成

          Extract points from polyline in ArcGIS

          1. Add the polyline shapefile in your ArcMap project.
          2. Create a point shapefile in ArcCatalog by right-click a specific folder and select New to create a new point shapefile in which the to-be-generated points will be saved.
          3. In ArcMap, Go to Tool > Macro > Visual Basic Editor > Project > ArcMap Objects > ThisDocument
          4. Copy the VB script attached below and paste into ThisDocument
          5. Highlight the polyline shapefile to be extracted
          6. Click the "Run Sub" button to execute the script
          7. Done !!

          Dim pMxDoc As IMxDocument
          Dim pMap As IMap
          Dim pInGeometry As IGeometry
          Dim pInLayer As ILayer
          Dim pInFLayer As IFeatureLayer
          Dim pOutFLayer As IFeatureLayer
          Dim pInFCursor As IFeatureCursor
          Dim pOutFCursor As IFeatureCursor
          Dim pOutFBuffer As IFeatureBuffer
          Dim pInFClass As IFeatureClass
          Dim pOutFClass As IFeatureClass
          Dim pSelSet As ISelectionSet
          Dim pFSelection As IFeatureSelection
          Dim pInFeature As IFeature
          Dim pCurve As ICurve
          Dim pPointCollection As IPointCollection
          Dim pConstructMultipoint As IConstructMultipoint

          Set pMxDoc = ThisDocument
          Set pMap = pMxDoc.FocusMap
          Set pInLayer = pMxDoc.SelectedLayer

          If pInLayer Is Nothing Then 'Check if no input layer is selected
          MsgBox "Select a feature layer in the TOC", vbCritical, "Incompatible input layer"
          Exit Sub
          End If

          If TypeOf pInLayer Is IFeatureLayer Then 'check if selected layer is a feature layer
          Set pInFLayer = pMxDoc.SelectedLayer 'set selected layer as input feature layer
          Else
          MsgBox "Select a feature layer in the TOC", vbCritical, "Incompatible input layer"
          Exit Sub
          End If

          Set pOutFLayer = pMap.Layer(0) ' set top layer in TOC as output feature layer
          Set pInFClass = pInFLayer.FeatureClass
          Set pOutFClass = pOutFLayer.FeatureClass

          If Not pOutFClass.ShapeType = esriGeometryPoint Then 'check if output layer is Point type
          MsgBox "Geometry type of output layer is not Point", vbCritical, "Incompatible Output Layer"
          Exit Sub
          End If

          'Get selected features, if any
          Set pFSelection = pInFLayer
          Set pSelSet = pFSelection.SelectionSet

          'Prompt user for distance between points
          Dim pPointDist As Double
          pPointDist = InputBox("Distance between points: ", "Point Spacing in Map Units")


          System Error Codes (0-499)

          This information is intended for developers debugging system errors. For other errors, such as issues with Windows Update, there is a list of resources on the Error codes page.

          The following list describes system error codes (errors 0 to 499). They are returned by the GetLastError function when many functions fail. To retrieve the description text for the error in your application, use the FormatMessage function with the FORMAT_MESSAGE_FROM_SYSTEM flag.

          ERROR_SUCCESS

          The operation completed successfully.

          ERROR_INVALID_FUNCTION

          ERROR_FILE_NOT_FOUND

          The system cannot find the file specified.

          ERROR_PATH_NOT_FOUND

          The system cannot find the path specified.

          ERROR_TOO_MANY_OPEN_FILES

          The system cannot open the file.

          ERROR_ACCESS_DENIED

          ERROR_INVALID_HANDLE

          ERROR_ARENA_TRASHED

          The storage control blocks were destroyed.

          ERROR_NOT_ENOUGH_MEMORY

          Not enough memory resources are available to process this command.

          ERROR_INVALID_BLOCK

          The storage control block address is invalid.

          ERROR_BAD_ENVIRONMENT

          The environment is incorrect.

          ERROR_BAD_FORMAT

          An attempt was made to load a program with an incorrect format.

          ERROR_INVALID_ACCESS

          The access code is invalid.

          ERROR_INVALID_DATA

          ERROR_OUTOFMEMORY

          Not enough storage is available to complete this operation.

          ERROR_INVALID_DRIVE

          The system cannot find the drive specified.

          ERROR_CURRENT_DIRECTORY

          The directory cannot be removed.

          ERROR_NOT_SAME_DEVICE

          The system cannot move the file to a different disk drive.

          ERROR_NO_MORE_FILES

          ERROR_WRITE_PROTECT

          The media is write protected.

          ERROR_BAD_UNIT

          The system cannot find the device specified.

          ERROR_NOT_READY

          ERROR_BAD_COMMAND

          The device does not recognize the command.

          Data error (cyclic redundancy check).

          ERROR_BAD_LENGTH

          The program issued a command but the command length is incorrect.

          The drive cannot locate a specific area or track on the disk.

          ERROR_NOT_DOS_DISK

          The specified disk or diskette cannot be accessed.

          ERROR_SECTOR_NOT_FOUND

          The drive cannot find the sector requested.

          ERROR_OUT_OF_PAPER

          The printer is out of paper.

          ERROR_WRITE_FAULT

          The system cannot write to the specified device.

          ERROR_READ_FAULT

          The system cannot read from the specified device.

          ERROR_GEN_FAILURE

          A device attached to the system is not functioning.

          ERROR_SHARING_VIOLATION

          The process cannot access the file because it is being used by another process.

          ERROR_LOCK_VIOLATION

          The process cannot access the file because another process has locked a portion of the file.

          ERROR_WRONG_DISK

          The wrong diskette is in the drive. Insert %2 (Volume Serial Number: %3) into drive %1.

          ERROR_SHARING_BUFFER_EXCEEDED

          Too many files opened for sharing.

          ERROR_HANDLE_EOF

          Reached the end of the file.

          ERROR_HANDLE_DISK_FULL

          ERROR_NOT_SUPPORTED

          The request is not supported.

          ERROR_REM_NOT_LIST

          Windows cannot find the network path. Verify that the network path is correct and the destination computer is not busy or turned off. If Windows still cannot find the network path, contact your network administrator.

          ERROR_DUP_NAME

          You were not connected because a duplicate name exists on the network. If joining a domain, go to System in Control Panel to change the computer name and try again. If joining a workgroup, choose another workgroup name.

          ERROR_BAD_NETPATH

          The network path was not found.

          ERROR_NETWORK_BUSY

          ERROR_DEV_NOT_EXIST

          The specified network resource or device is no longer available.

          ERROR_TOO_MANY_CMDS

          The network BIOS command limit has been reached.

          ERROR_ADAP_HDW_ERR

          A network adapter hardware error occurred.

          ERROR_BAD_NET_RESP

          The specified server cannot perform the requested operation.

          ERROR_UNEXP_NET_ERR

          An unexpected network error occurred.

          ERROR_BAD_REM_ADAP

          The remote adapter is not compatible.

          ERROR_PRINTQ_FULL

          The printer queue is full.

          ERROR_NO_SPOOL_SPACE

          Space to store the file waiting to be printed is not available on the server.

          ERROR_PRINT_CANCELLED

          Your file waiting to be printed was deleted.

          ERROR_NETNAME_DELETED

          The specified network name is no longer available.

          ERROR_NETWORK_ACCESS_DENIED

          ERROR_BAD_DEV_TYPE

          The network resource type is not correct.

          ERROR_BAD_NET_NAME

          The network name cannot be found.

          ERROR_TOO_MANY_NAMES

          The name limit for the local computer network adapter card was exceeded.

          ERROR_TOO_MANY_SESS

          The network BIOS session limit was exceeded.

          ERROR_SHARING_PAUSED

          The remote server has been paused or is in the process of being started.

          ERROR_REQ_NOT_ACCEP

          No more connections can be made to this remote computer at this time because there are already as many connections as the computer can accept.

          ERROR_REDIR_PAUSED

          The specified printer or disk device has been paused.

          ERROR_FILE_EXISTS

          ERROR_CANNOT_MAKE

          The directory or file cannot be created.

          ERROR_FAIL_I24

          ERROR_OUT_OF_STRUCTURES

          Storage to process this request is not available.

          ERROR_ALREADY_ASSIGNED

          The local device name is already in use.

          ERROR_INVALID_PASSWORD

          The specified network password is not correct.

          ERROR_INVALID_PARAMETER

          The parameter is incorrect.

          ERROR_NET_WRITE_FAULT

          A write fault occurred on the network.

          ERROR_NO_PROC_SLOTS

          The system cannot start another process at this time.

          ERROR_TOO_MANY_SEMAPHORES

          Cannot create another system semaphore.

          ERROR_EXCL_SEM_ALREADY_OWNED

          The exclusive semaphore is owned by another process.

          ERROR_SEM_IS_SET

          The semaphore is set and cannot be closed.

          ERROR_TOO_MANY_SEM_REQUESTS

          The semaphore cannot be set again.

          ERROR_INVALID_AT_INTERRUPT_TIME

          Cannot request exclusive semaphores at interrupt time.

          ERROR_SEM_OWNER_DIED

          The previous ownership of this semaphore has ended.

          ERROR_SEM_USER_LIMIT

          Insert the diskette for drive %1.

          ERROR_DISK_CHANGE

          The program stopped because an alternate diskette was not inserted.

          ERROR_DRIVE_LOCKED

          The disk is in use or locked by another process.

          ERROR_BROKEN_PIPE

          ERROR_OPEN_FAILED

          The system cannot open the device or file specified.

          ERROR_BUFFER_OVERFLOW

          The file name is too long.

          ERROR_DISK_FULL

          There is not enough space on the disk.

          ERROR_NO_MORE_SEARCH_HANDLES

          No more internal file identifiers available.

          ERROR_INVALID_TARGET_HANDLE

          The target internal file identifier is incorrect.

          ERROR_INVALID_CATEGORY

          The IOCTL call made by the application program is not correct.

          ERROR_INVALID_VERIFY_SWITCH

          The verify-on-write switch parameter value is not correct.

          ERROR_BAD_DRIVER_LEVEL

          The system does not support the command requested.

          ERROR_CALL_NOT_IMPLEMENTED

          This function is not supported on this system.

          ERROR_SEM_TIMEOUT

          The semaphore timeout period has expired.

          ERROR_INSUFFICIENT_BUFFER

          The data area passed to a system call is too small.

          ERROR_INVALID_NAME

          The filename, directory name, or volume label syntax is incorrect.

          ERROR_INVALID_LEVEL

          The system call level is not correct.

          ERROR_NO_VOLUME_LABEL

          The disk has no volume label.

          ERROR_MOD_NOT_FOUND

          The specified module could not be found.

          ERROR_PROC_NOT_FOUND

          The specified procedure could not be found.

          ERROR_WAIT_NO_CHILDREN

          There are no child processes to wait for.

          ERROR_CHILD_NOT_COMPLETE

          The %1 application cannot be run in Win32 mode.

          ERROR_DIRECT_ACCESS_HANDLE

          Attempt to use a file handle to an open disk partition for an operation other than raw disk I/O.

          ERROR_NEGATIVE_SEEK

          An attempt was made to move the file pointer before the beginning of the file.

          ERROR_SEEK_ON_DEVICE

          The file pointer cannot be set on the specified device or file.

          ERROR_IS_JOIN_TARGET

          A JOIN or SUBST command cannot be used for a drive that contains previously joined drives.

          ERROR_IS_JOINED

          An attempt was made to use a JOIN or SUBST command on a drive that has already been joined.

          ERROR_IS_SUBSTED

          An attempt was made to use a JOIN or SUBST command on a drive that has already been substituted.

          ERROR_NOT_JOINED

          The system tried to delete the JOIN of a drive that is not joined.

          ERROR_NOT_SUBSTED

          The system tried to delete the substitution of a drive that is not substituted.

          ERROR_JOIN_TO_JOIN

          The system tried to join a drive to a directory on a joined drive.

          ERROR_SUBST_TO_SUBST

          The system tried to substitute a drive to a directory on a substituted drive.

          ERROR_JOIN_TO_SUBST

          The system tried to join a drive to a directory on a substituted drive.

          ERROR_SUBST_TO_JOIN

          The system tried to SUBST a drive to a directory on a joined drive.

          ERROR_BUSY_DRIVE

          The system cannot perform a JOIN or SUBST at this time.

          ERROR_SAME_DRIVE

          The system cannot join or substitute a drive to or for a directory on the same drive.

          ERROR_DIR_NOT_ROOT

          The directory is not a subdirectory of the root directory.

          ERROR_DIR_NOT_EMPTY

          The directory is not empty.

          ERROR_IS_SUBST_PATH

          The path specified is being used in a substitute.

          ERROR_IS_JOIN_PATH

          Not enough resources are available to process this command.

          ERROR_PATH_BUSY

          The path specified cannot be used at this time.

          ERROR_IS_SUBST_TARGET

          An attempt was made to join or substitute a drive for which a directory on the drive is the target of a previous substitute.

          ERROR_SYSTEM_TRACE

          System trace information was not specified in your CONFIG.SYS file, or tracing is disallowed.

          ERROR_INVALID_EVENT_COUNT

          The number of specified semaphore events for DosMuxSemWait is not correct.

          ERROR_TOO_MANY_MUXWAITERS

          DosMuxSemWait did not execute too many semaphores are already set.

          ERROR_INVALID_LIST_FORMAT

          The DosMuxSemWait list is not correct.

          ERROR_LABEL_TOO_LONG

          The volume label you entered exceeds the label character limit of the target file system.

          ERROR_TOO_MANY_TCBS

          Cannot create another thread.

          ERROR_SIGNAL_REFUSED

          The recipient process has refused the signal.

          ERROR_DISCARDED

          The segment is already discarded and cannot be locked.

          ERROR_NOT_LOCKED

          The segment is already unlocked.

          ERROR_BAD_THREADID_ADDR

          The address for the thread ID is not correct.

          ERROR_BAD_ARGUMENTS

          One or more arguments are not correct.

          ERROR_BAD_PATHNAME

          The specified path is invalid.

          ERROR_SIGNAL_PENDING

          A signal is already pending.

          ERROR_MAX_THRDS_REACHED

          No more threads can be created in the system.

          ERROR_LOCK_FAILED

          Unable to lock a region of a file.

          The requested resource is in use.

          ERROR_DEVICE_SUPPORT_IN_PROGRESS

          Device's command support detection is in progress.

          ERROR_CANCEL_VIOLATION

          A lock request was not outstanding for the supplied cancel region.

          ERROR_ATOMIC_LOCKS_NOT_SUPPORTED

          The file system does not support atomic changes to the lock type.

          ERROR_INVALID_SEGMENT_NUMBER

          The system detected a segment number that was not correct.

          ERROR_INVALID_ORDINAL

          The operating system cannot run %1.

          ERROR_ALREADY_EXISTS

          Cannot create a file when that file already exists.

          ERROR_INVALID_FLAG_NUMBER

          The flag passed is not correct.

          ERROR_SEM_NOT_FOUND

          The specified system semaphore name was not found.

          ERROR_INVALID_STARTING_CODESEG

          The operating system cannot run %1.

          ERROR_INVALID_STACKSEG

          The operating system cannot run %1.

          ERROR_INVALID_MODULETYPE

          The operating system cannot run %1.

          ERROR_INVALID_EXE_SIGNATURE

          Cannot run %1 in Win32 mode.

          ERROR_EXE_MARKED_INVALID

          The operating system cannot run %1.

          ERROR_BAD_EXE_FORMAT

          %1 is not a valid Win32 application.

          ERROR_ITERATED_DATA_EXCEEDS_64k

          The operating system cannot run %1.

          ERROR_INVALID_MINALLOCSIZE

          The operating system cannot run %1.

          ERROR_DYNLINK_FROM_INVALID_RING

          The operating system cannot run this application program.

          ERROR_IOPL_NOT_ENABLED

          The operating system is not presently configured to run this application.

          ERROR_INVALID_SEGDPL

          The operating system cannot run %1.

          ERROR_AUTODATASEG_EXCEEDS_64k

          The operating system cannot run this application program.

          ERROR_RING2SEG_MUST_BE_MOVABLE

          The code segment cannot be greater than or equal to 64K.

          ERROR_RELOC_CHAIN_XEEDS_SEGLIM

          The operating system cannot run %1.

          ERROR_INFLOOP_IN_RELOC_CHAIN

          The operating system cannot run %1.

          ERROR_ENVVAR_NOT_FOUND

          The system could not find the environment option that was entered.

          ERROR_NO_SIGNAL_SENT

          No process in the command subtree has a signal handler.

          ERROR_FILENAME_EXCED_RANGE

          The filename or extension is too long.

          ERROR_RING2_STACK_IN_USE

          The ring 2 stack is in use.

          ERROR_META_EXPANSION_TOO_LONG

          The global filename characters, * or ?, are entered incorrectly or too many global filename characters are specified.

          ERROR_INVALID_SIGNAL_NUMBER

          The signal being posted is not correct.

          ERROR_THREAD_1_INACTIVE

          The signal handler cannot be set.

          ERROR_LOCKED

          The segment is locked and cannot be reallocated.

          ERROR_TOO_MANY_MODULES

          Too many dynamic-link modules are attached to this program or dynamic-link module.

          ERROR_NESTING_NOT_ALLOWED

          Cannot nest calls to LoadModule.

          ERROR_EXE_MACHINE_TYPE_MISMATCH

          This version of %1 is not compatible with the version of Windows you're running. Check your computer's system information and then contact the software publisher.

          ERROR_EXE_CANNOT_MODIFY_SIGNED_BINARY

          The image file %1 is signed, unable to modify.

          ERROR_EXE_CANNOT_MODIFY_STRONG_SIGNED_BINARY

          The image file %1 is strong signed, unable to modify.

          ERROR_FILE_CHECKED_OUT

          This file is checked out or locked for editing by another user.

          ERROR_CHECKOUT_REQUIRED

          The file must be checked out before saving changes.

          ERROR_BAD_FILE_TYPE

          The file type being saved or retrieved has been blocked.

          ERROR_FILE_TOO_LARGE

          The file size exceeds the limit allowed and cannot be saved.

          ERROR_FORMS_AUTH_REQUIRED

          Access Denied. Before opening files in this location, you must first add the web site to your trusted sites list, browse to the web site, and select the option to login automatically.

          ERROR_VIRUS_INFECTED

          Operation did not complete successfully because the file contains a virus or potentially unwanted software.

          ERROR_VIRUS_DELETED

          This file contains a virus or potentially unwanted software and cannot be opened. Due to the nature of this virus or potentially unwanted software, the file has been removed from this location.

          ERROR_PIPE_LOCAL

          ERROR_BAD_PIPE

          The pipe state is invalid.

          ERROR_PIPE_BUSY

          All pipe instances are busy.

          ERROR_NO_DATA

          ERROR_PIPE_NOT_CONNECTED

          No process is on the other end of the pipe.

          ERROR_MORE_DATA

          ERROR_VC_DISCONNECTED

          ERROR_INVALID_EA_NAME

          The specified extended attribute name was invalid.

          ERROR_EA_LIST_INCONSISTENT

          The extended attributes are inconsistent.

          WAIT_TIMEOUT

          The wait operation timed out.

          ERROR_NO_MORE_ITEMS

          No more data is available.

          ERROR_CANNOT_COPY

          The copy functions cannot be used.

          ERROR_DIRECTORY

          The directory name is invalid.

          ERROR_EAS_DIDNT_FIT

          The extended attributes did not fit in the buffer.

          ERROR_EA_FILE_CORRUPT

          The extended attribute file on the mounted file system is corrupt.

          ERROR_EA_TABLE_FULL

          The extended attribute table file is full.

          ERROR_INVALID_EA_HANDLE

          The specified extended attribute handle is invalid.

          ERROR_EAS_NOT_SUPPORTED

          The mounted file system does not support extended attributes.

          ERROR_NOT_OWNER

          Attempt to release mutex not owned by caller.

          ERROR_TOO_MANY_POSTS

          Too many posts were made to a semaphore.

          ERROR_PARTIAL_COPY

          Only part of a ReadProcessMemory or WriteProcessMemory request was completed.

          ERROR_OPLOCK_NOT_GRANTED

          The oplock request is denied.

          ERROR_INVALID_OPLOCK_PROTOCOL

          An invalid oplock acknowledgment was received by the system.

          ERROR_DISK_TOO_FRAGMENTED

          The volume is too fragmented to complete this operation.

          ERROR_DELETE_PENDING

          The file cannot be opened because it is in the process of being deleted.

          ERROR_INCOMPATIBLE_WITH_GLOBAL_SHORT_NAME_REGISTRY_SETTING

          Short name settings may not be changed on this volume due to the global registry setting.

          ERROR_SHORT_NAMES_NOT_ENABLED_ON_VOLUME

          Short names are not enabled on this volume.

          ERROR_SECURITY_STREAM_IS_INCONSISTENT

          The security stream for the given volume is in an inconsistent state. Please run CHKDSK on the volume.

          ERROR_INVALID_LOCK_RANGE

          A requested file lock operation cannot be processed due to an invalid byte range.

          ERROR_IMAGE_SUBSYSTEM_NOT_PRESENT

          The subsystem needed to support the image type is not present.

          ERROR_NOTIFICATION_GUID_ALREADY_DEFINED

          The specified file already has a notification GUID associated with it.

          ERROR_INVALID_EXCEPTION_HANDLER

          An invalid exception handler routine has been detected.

          ERROR_DUPLICATE_PRIVILEGES

          Duplicate privileges were specified for the token.

          ERROR_NO_RANGES_PROCESSED

          No ranges for the specified operation were able to be processed.

          ERROR_NOT_ALLOWED_ON_SYSTEM_FILE

          Operation is not allowed on a file system internal file.

          ERROR_DISK_RESOURCES_EXHAUSTED

          The physical resources of this disk have been exhausted.

          ERROR_INVALID_TOKEN

          The token representing the data is invalid.

          ERROR_DEVICE_FEATURE_NOT_SUPPORTED

          The device does not support the command feature.

          ERROR_MR_MID_NOT_FOUND

          The system cannot find message text for message number 0x%1 in the message file for %2.

          ERROR_SCOPE_NOT_FOUND

          The scope specified was not found.

          ERROR_UNDEFINED_SCOPE

          The Central Access Policy specified is not defined on the target machine.

          ERROR_INVALID_CAP

          The Central Access Policy obtained from Active Directory is invalid.

          ERROR_DEVICE_UNREACHABLE

          The device is unreachable.

          ERROR_DEVICE_NO_RESOURCES

          The target device has insufficient resources to complete the operation.

          ERROR_DATA_CHECKSUM_ERROR

          A data integrity checksum error occurred. Data in the file stream is corrupt.

          ERROR_INTERMIXED_KERNEL_EA_OPERATION

          An attempt was made to modify both a KERNEL and normal Extended Attribute (EA) in the same operation.

          ERROR_FILE_LEVEL_TRIM_NOT_SUPPORTED

          Device does not support file-level TRIM.

          ERROR_OFFSET_ALIGNMENT_VIOLATION

          The command specified a data offset that does not align to the device's granularity/alignment.

          ERROR_INVALID_FIELD_IN_PARAMETER_LIST

          The command specified an invalid field in its parameter list.

          ERROR_OPERATION_IN_PROGRESS

          An operation is currently in progress with the device.

          ERROR_BAD_DEVICE_PATH

          An attempt was made to send down the command via an invalid path to the target device.

          ERROR_TOO_MANY_DESCRIPTORS

          The command specified a number of descriptors that exceeded the maximum supported by the device.