Tag Info

New answers tagged

0

QGIS doesn't support text objects from TAB files. You can label the points in QGIS using the advanced label options. Pro Tip: Look at using map units for you label sizing to match how they look in MapInfo.


1

Anders, The draw order in MapInfo Pro for base tables (and DBMS tables as well) is controlled by the spatial index stored in the Map file. The only way to control the order is by creating a query inside MapInfo Pro and with this order it to have the most important points last in the table. Queries are not displayed using the spatial index. In your case, I ...


0

Following on from the comments on the question, you can avoid copying all the columns from the browser window by running a query using SQL Select to hold only the columns that you do want to copy ie just UPRN. A selection made on the base table will also be shown in the browser window of the query table meaning that you should be able to use this approach ...


0

I can help with questions 1 and 2 for which I find QGIS solutions quite simple. Question 1: Use the spatial query tool (see doc here and button icon below). Question 2: Use Vector > Analysis Tools > Basic Statistics (see screenshot below). It is quite intuitive to use: select the vector layer on which you need statistics (like a column sum), then select ...


0

An alternative approach using table level commands would be the following: Insert the route polyline and all the crossing lines into a temp table Objects Combine all the objects in the temp table together Objects Disaggregate the resulting object - this will split lines wherever they intersected prior to being combined Select the intersecting lines from ...


0

You need to go thru a few steps to achieve this: Make sure there is a node in the intersection. You can do this via the OverlayNodes() function. Now you can find the intersection and the nodes of the intersection using the IntersectNodes() function. You now have to loop thru the polyline to find the node number. You can do this by comparing the coordinates ...


3

You can use LayerInfo to get from a layer name to the matching layer number and vice versa. Use LAYER_INFO_NUM and LAYER_INFO_NAME. Also note that you can use a layer number to change the styling of a layer. You don't need the name. The layer number is unique where you can have multiple layers with the same name (if you have a table in the map multiple ...


2

Yes, you need to store the name of the selection table and reference it by name rather than using the special name 'Selection'. You can get the selection table's name using SelectionInfo(SEL_INFO_SELNAME). Once you've got that, you'll need to use Alias variables to reference the fields of that table. Also, you need to make sure that you use Fetch to retrieve ...


0

I don't know how wedded you are to the idea of doing what you want to do in MapBasic, but frankly that would be my approach of last resort. If you know what styles you want to apply (conditional on values of a data table column), you're better off writing a script (in, e.g., a useful language like Python) to create metadata: then you can store it and append ...


0

If the styling of elements is thematic (and you know what columns drive the theme) you can build a QML file programmatically in PostgreSQL. For example, I have a file with ~150 styles for government zone polygons (subsets of the zones have the same style). The data was originally in MapInfo format in two TAB files - one with the zone polygons, another with ...


2

There's no For Each in MapBasic unfortunately. A selection in MapInfo is effectively a table, so what you want to do is loop through the Selection table. The best way to do that is by using Do...Loop and Fetch. Something like this should work: Dim alBlockID as Alias Dim selectionName, selTableName as String Dim selCount, i_blockId as Integer selectionName ...


0

In ArcGIS for Desktop, you can use the tool Densify. Adds vertices along line or polygon features. Also replaces curve segments (Bezier, circular arcs, and elliptical arcs) with line segments.


1

I'm assuming that you want to erase the portions of the voronoi polygons generated from the sensus data that extent beyond its limits. If you create a convex hull object from the sensus point data (using Create Object), then that would form a boundary polygon that would limit the extent of the voronoi polygons produced at the edges of the sensus dataset. ...


2

Maybe you mixed lat (y) and lon (x)? For London: Latitude (y) : 51.5085300 Longitude (x): -0.1257400


2

You don't specify exactly where your tool get slow, but I have a few suggestions to improve the speed. Create the index on your table after you have inserted the data, not before With SQL Select statements always select into a named query and use the NoSelect keyword Add your table to the map after you have created your voronois regions. Use the Update ...


2

To expand on the first point made by Andrew Tice - MapInfo has an object thinning function to remove nodes within a certain tolerance of each other. You can access it through Objects > Snap/Thin... to generalise your vector data. In addition to removing any redundant data fields, you may want to also look at field types. For example, character fields have ...


2

Depending what you mean by "integrity", there are a couple of things you could consider: Generalise the vector component to reduce the number of nodes - there is a tool HERE which you could use. Or you could try converting the file into Esri Shape (using Universal Translator) and using the generalisation approaches in mapshaper and translate back into Tab ...


1

Let me expand on my previous answer to show how to get the value from the EDITTEXT control. First create your dialog box using a dialog statement like below. Dim inputText as String Dialog Control STATICTEXT ID 1 Title "Enter a valid number:" Control EDITTEXT ID 2 Into inputText Control OKBUTTON ID 3 ...


0

The company you purchased MapMarker from should be able to send you a link to download the latest MapMarker streets data. I would contact them.


1

When I asked Pitney Bowes support this question, I heard the following (same as Peter's response, essentially). "This issue is working as designed as there is no equivalent type to what MIPro uses for an Integer in dBase IV, so these fields are getting mapped to Numeric (Decimal) or Float types. Unfortunately there is no work around for this at this time."



Top 50 recent answers are included