Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Введение

Данная статья является руководством по созданию своих плагинов импорта открытых данных для платформы Geo2Tag. Детальная информация о базовых классах и общих интерфейсах таких плагинов доступна в статье Интерфейсы плагинов для импорта открытых данных.

...

  1. Job - абстрактный класс для задания импорта.
  2. OpenDataObjectsLoader - базовый класс для загрузки элементов открытых данных из внешнего источника.
  3. OpenDataToPointTranslator - абстрактный класс для конвертации элементов открытых данных в формат точек Geo2Tag. При его наследовании необходимо переопределить методы  getPointJson(self) и getPoint(self(подробно структура класса описана в документе Интерфейсы плагинов для импорта открытых данных). Пример наследования:

    Code Block
    languagepy
    class MyOdtoPointTranslatorclass MyOdtoPointTranslator(OpenDataToPointTranslator):     def getPointJson
         def getPointJson(self): 
               # Default content        obj = {}        obj content
            obj = {}
            obj['version']  = self.version        obj self.version
            obj['import_source']  = self.importSource                self.importSource
    
            # Newly added content
        content        obj['image_url'] = self.objectRepresentation['images'][0]        return obj
        def getPoint
            return obj
     
        def getPoint(self):        # Default content        point = 
            # Default content
            point = {'json': self self.getPointJson()}        point
            point['channel_id']  = self.channelId            self.channelId
    
            # Newly added content
                # Filling all mandatory fields of        of point
            lat = self self.objectRepresentation['latitude'] 
               lon = objectRepresentation['longitude'] 
               point['location'] = {'type': 'Point', 'coordinates': [lat, lon]} 
               point['alt'] = self self.objectRepresentation['altitude'] 
               point['date'] = datetime.now() 
               point['bc'] = false
            return point
            return point
    
    



  4. OpenDataObjectsParser - абстрактный класс для разделения массива открытых данных на отдельные элементы.
  5. OpenDataToPointsLoader - абстрактный класс для записи точек в БД Geo2Tag.
  6. ODImportParser - парсер аргументов для REST запросов к плагину.

...