Template:Zh OpenStreetMap Description Utility

From Documentation
Revision as of 12:01, 5 February 2020 by Admin (talk | contribs) (→‎Import CSV)
Jump to navigation Jump to search

Utilities


Import CSV

Select Import CSV to upload placemark definition by CSV file.

Each line of file - one placemark definition.

First line of file - column name list.

Keep in mind - values can't contain delimiter. For example, if your placemark HTML description can contain colon, use semicolon as delimiter (and don't use it in this description).


Main process screen

You can see table of placemark buffer.

All import process has next steps

  • upload CSV file in buffer
  • check data, edit it
  • import data to placemark table
  • analyze log
  • correct processed placemarks with warnings
  • delete processed data in from buffer


You can see buttons in toolbar

  • Upload File - upload CSV file
  • Import All - import data
  • Log - show process log
  • Clear Log - delete data from process log
  • New - create simple placemark definition (for example, for test purposes)
  • Edit - edit record in buffer (for example, for fixing errors and upload again)
  • Publish and Unpublish - you can change buffer placemark status
  • Delete - delete record from buffer
  • Delete All - delete all records from buffer
  • Delete Processed - delete all records from buffer in state Processed


When you upload file all records have state New

Press Upload File

Select file to upload.

Check and if you need - change Delimiter

You can set some defaults - if in file there is no value (not defined or empty value), you can apply default.

After loading you'll get upload log, it is not stored, only showed


Records can be rejected, if you not define required values. You can see record number (to edit line and upload it)


Records will not be uploaded if your first line doesn't contain column definition.


If you enter wrong colunm name, this column will not processed.


Next column names can be used

title required Placemark title
latitude required Latitude
longitude required Longitude
published optional Placemark status, values 0 or 1
addresstext optional Text address
icontype optional Icon Type
iconofsetx optional Icon X-offset
iconofsety optional Icon Y-offset
description optional Description
descriptionhtml optional Addition HTML text. All HTML formatted text in one line, line breaks are not allowed.
hrefimage optional URL Image
catid optional Category ID
markergroup optional Group ID
createdbyuser optional User ID, which associate with placemark
showuser optional Show user prompts, one integer value

Type of view user information

  • 0 - associated value in component No
  • 1 - associated value in component Text
  • 2 - associated value in component Icon
  • 3 - associated value in component No prompts
showgps optional Show GPS information
  • 0 - associated value in component No
  • 1 - associated value in component Yes
preparecontent optional Prepare the content with the Joomla Content Plugins
  • 0 - associated value in component No
  • 1 - associated value in component Yes
preparecontent optional Popup Content
  • 0 - associated value in component Title and Description
  • 1 - associated value in component Title
  • 2 - associated value in component Description
  • 9 - associated value in component Title and Article (by iframe)
  • 8 - associated value in component Article (by iframe)
  • 100 - associated value in component None


You can enter columns in any order, ie order of column names define order of placemark properties

If you want to import placemarks with definite status, you can change it in list or by buttons Publish or Unpublish.


By pressing Import All you start to import placemarks into working table.

You have to select map, to whic imported placemarks will be belong.


And press Import button.

In this case process log will be cleared and import process will start.

All placemarks with New state will be taken to process.

If some required values is not defined - will be rejected and state will be set to Error

In case of processing placemark has the same title with the other placemark, belonging the destination map, this processing placemark will not be imported, and state of it will be set to Skiped. You can't import placemark with same title.

Change title, change status to New and process again. Or import to the other map.

The process result screen


Imported placemarks in buffer change status to Processed

For demo purposes I uploaded placemark data with incorrect category ID, ie I set category ID which is not exists in categories.

In this case you can't see in buffer list category value, but it exists. The same for group ID.

If you will edit placemark in buffer - incorrect values will be set to 0 and data will be imported without category.

But if you enter into CSV file categories (or groups), which are not exists, and try to import - you'll get warnings and imported placemarks will be without it.

In future this checks will be available not only on import stage.

In case of warnings - if you need to have placemarks belonging to category or group you can delete imported placemarks and do

  • recreate file with correct IDs, upload it
  • remove incorrect ID and upload it with defaults
  • remove incorrect column with values and upload it with defaults

After that import again


If there is no any placemarks in buffer with state New and you try to process it (to import placemarks), you'll get message that no data to process


When you processed buffer you can delete processed placemarks by pressing Delete Processed

You can also can delete records by applying filters, selecting records and pressing Delete button.

You can delete all records from buffer by button Delete All


When you got warnings, you can analyze it by checking process log. It is stored in database until next import, therefore you can analyze it any times.

As described above, one record was imported with warnings, lets check this warning to understand log

Press Log


There are 6 columns with common title

  • ID - record log ID, just sequence
  • Import object - what object is processed, in our case it is Placemark
  • Error type - type of error, in my case I tried to load wrong category, value is Category not found
  • Target ID - it is ID of my imported object (placemark). In my case new imported placemark has ID 6248. Check images below.
  • Source ID - it is ID of object in buffer (placemark). In my case placemark in buffer has ID 374. Check images below.
  • Source Reference Object ID - it is ID of object, which is not assigned due to is doesn't exist. In my case I tried to set placemark category ID to 778. Check images below.

In other words, I tries to import placemark with category ID=778. But category with this ID is not exist. Therefore placemark was imported without category.

Source placemark to import (in buffer) has ID=374

New imported placemark has ID=6248

Images for log description

Source placemark (in buffer) with wrong value for category


Target placemark, to which category is not applied


Categories


Sorce placemark (in buffer) with correct category


Result imported placemark with correct category


My test file is


title;description;latitude;longitude;catid;descriptionhtml
Hello;Some my text;59.91790658791312;30.394283583638412;778;<b>Hello</b> world<br />Here some HTML text
HHH;;59.92354196553846;30.38381223964427;45

Import Zh YandexMap

If extension is not installed - buttons for this extension is disabled.

Today you can:

  • import data from Zh YandexMap extension
    • import Groups
    • import Placemarks
  • check log for last import process

In future will be added

  • pre-import check (exists categories, groups and tags)
  • import tags for placemarks

Due to complex process creation of category - automatic creation of categories is not supported. Only check.

For correct process execution do not import data parallelly, ie in different windows (tabs). Just do it in one precess.

Data loading by Addition rule, it is not update exist data.

It means:

- group will be the same if it has THE SAME TITLE

- category will be the same if it has THE SAME PATH, ie it alias and aliases of all its parents are the same

- placemark will be the same if it has THE SAME TITLE and BELONGS to the destination MAP

If you close browser on middle of process - you can continue loading (but save log before new process).

When you start to continue import process - the same map objects will be skipped and you'll get only new data.

When process is done you'll get statistics window

Here main screen

Toolbar buttons:

  • Close - close and return to Utilities
  • Import groups - automatic load groups
  • Import placemarks - automatic load placemarks
  • Log - check process log
  • Clear Log - clear process log


Lets check how it works

For example we have

I created map in Zh YandexMap


New group


New category


I created placemarks assigned to group and category, and without it

Go to Zh OpenStreetMap


Create map

As you can see group Bank doesn't exist

And category doesn't exist too.

For correct loading placemarks you need to have groups and categories in extension. If it doesn't exist you'll get warnings in process log.

You can automatically load groups, but categories - no. You need to add it manually.

In next steps we will load groups and placemarks. And we will get placemarks with groups but without categories (I didn't enter it).

Go to import screen

Press Import groups

Press Import button


You can see we import our group


and result


check our log

it is empty

Lets import placemarks


Press Import placemarks


Select our source and destination maps

Press Import button


You can see we import our placemarks

It means we loaded 6 placemarks and had some warnings


and result

As you can see placemarks have group attribute


Check log

Log is common log for import

You can see 5 fields, lets explain on our example, import placemarks with category, which doesn't exist:

  • Import object - which map object will be process, in our case Placemark.
  • Error type - what error is occured, in our case Category not found. Check images with data for details above.
  • Target ID - distination object ID, in our case new placemark ID (ID = 104). Check images with data for details above.
  • Source ID - source object ID, in our case placemark ID (ID = 48) from source extension. Check images with data for details above.
  • Source Reference Object ID - reference object ID (category ID = 14), which is not exist in destination extension.

As you can see our problem is occurred for placemark Marker 7, which has in source extension (Zh YandexMap) ID = 48 and assigned to category x8 with ID = 14


I can clear log by press Clear Log or it will automatically be cleared by next precess


Lets try to import groups again

As you can see there is no any data to load

Import Zh GoogleMap

If extension is not installed - buttons for this extension is disabled.

Today you can:

  • import data from Zh GoogleMap extension
    • import Groups
    • import Placemarks
  • check log for last import process

In future will be added

  • pre-import check (exists categories, groups and tags)
  • import tags for placemarks

Due to complex process creation of category - automatic creation of categories is not supported. Only check.

For correct process execution do not import data parallelly, ie in different windows (tabs). Just do it in one precess.

Data loading by Addition rule, it is not update exist data.

It means:

- group will be the same if it has THE SAME TITLE

- category will be the same if it has THE SAME PATH, ie it alias and aliases of all its parents are the same

- placemark will be the same if it has THE SAME TITLE and BELONGS to the destination MAP

If you close browser on middle of process - you can continue loading (but save log before new process).

When you start to continue import process - the same map objects will be skipped and you'll get only new data.

When process is done you'll get statistics window

Here main screen

Toolbar buttons:

  • Close - close and return to Utilities
  • Import groups - automatic load groups
  • Import placemarks - automatic load placemarks
  • Log - check process log
  • Clear Log - clear process log


Lets check how it works

For example we have

I created map in Zh GoogleMap


New group


New category


I created placemarks assigned to group and category, and without it

Go to Zh OpenStreetMap


Create map

As you can see group Bank doesn't exist

And category doesn't exist too.

For correct loading placemarks you need to have groups and categories in extension. If it doesn't exist you'll get warnings in process log.

You can automatically load groups, but categories - no. You need to add it manually.

In next steps we will load groups and placemarks. And we will get placemarks with groups but without categories (I didn't enter it).

Go to import screen

Press Import groups

Press Import button


You can see we import our group


and result


check our log

it is empty

Lets import placemarks


Press Import placemarks


Select our source and destination maps

Press Import button


You can see we import our placemarks

It means we loaded 6 placemarks and had some warnings


and result

As you can see placemarks have group attribute


Check log

Log is common log for import

You can see 5 fields, lets explain on our example, import placemarks with category, which doesn't exist:

  • Import object - which map object will be process, in our case Placemark.
  • Error type - what error is occured, in our case Category not found. Check images with data for details above.
  • Target ID - distination object ID, in our case new placemark ID (ID = 110). Check images with data for details above.
  • Source ID - source object ID, in our case placemark ID (ID = 97) from source extension. Check images with data for details above.
  • Source Reference Object ID - reference object ID (category ID = 15), which is not exist in destination extension.

As you can see our problem is occurred for placemark Marker 6, which has in source extension (Zh GoogleMap) ID = 97 and assigned to category x8 with ID = 15


I can clear log by press Clear Log or it will automatically be cleared by next precess


Lets try to import groups again

As you can see there is no any data to load