Thứ Sáu, 19 tháng 5, 2017

Pmapper map api

1, Tạo mới và cài đặt một plugin trong PMAPPER:
+ Đăng ký tại config/config_default.xml: thêm một thẻ plugins
<pmapper>
            <pmTitle>p.mapper - A MapServer PHP/MapScript Framework</pmTitle>
            <debugLevel>3</debugLevel>
            <plugins>export</plugins>
            <plugins>scalebar</plugins>
            <plugins>transparency</plugins>
            <plugins>review_request</plugins>
            <plugins>ciren_test</plugins>
        </pmapper>

+ Đăng ký thêm một nút chức năng tại config/default/js_config.php
{tool:'ciren_test', name:'ciren_test', run: 'PM.Plugin.CirenTest.openCirenTestDlg'},

+ Nếu trong js_config.php đăng ký nút thì thêm icon ảnh trong images\buttons\default. Ảnh có tên = tên plugin_off.gif

+ trong thư mục plugin, tạo plugin theo tên khai báo tại config_default.xml. Trong thư mục đó, tạo file config.inc để khai báo các tài nguyên của plugin:
ví dụ: $jsFiles = array("ciren_test.js");

+Trong file ciren_test.js là các chức năng chính. Ví dụ

$.extend(PM.Plugin,
{
  CirenTest:{
    /**
    * Open the Transparency dialog
    */
    openCirenTestDlg: function() {
       alert("vao openCirenTestDlg"); //khong vao ham nay
      
    },
  }
})

2. Làm việc với bản đồ
$_SESSION["grouplist"] trong x_get-transparencies.php (plugin transparency)

Thứ Tư, 17 tháng 5, 2017

Hiển thị popup chọn file trong joomla

Lựa chọn file
C1: http://www.richardbutterworth.co.uk/blog/19-the-joomla-media-form-field
C2:
<field
            name="yourfile"
            type="filelist"
            label="COM_EXAMPLE_FIELD_YOURFILE_LABEL"
            description="COM_EXAMPLE_FIELD_YOURFILE_DESC"
            directory="images/mail_attach"
            hide_none="true"
            <!--hide_default="true"
            filter="\.pdf$"-->
        />

upload file trực tiếp
C3:https://docs.joomla.org/Creating_a_file_uploader_in_your_component
C4: http://stackoverflow.com/questions/15653414/file-upload-form-for-custom-joomla-component

Thứ Hai, 3 tháng 4, 2017

Postgresql copy table from database to other

pg_dump.exe -Upostgres -t vn_hcxa vientham | psql -Upostgres vientham3

Đổi hệ tọa độ của bảng
SELECT UpdateGeometrySRID('vn_hcxa','geom',4326);

Thứ Ba, 20 tháng 12, 2016

Mô hình thêm mới 01 cell trong dinte openxml

1. Khi tạo một workbook, đã mặc định thêm mới 1 thành phần style vào stylesheet bằng hàm
WorkbookStylesPart stylesPart = _workbookPart.AddNewPart<WorkbookStylesPart>(); stylesPart.Stylesheet = CStyle.GenerateStyleSheet();
 stylesPart.Stylesheet.Save();

2. Khi khởi tạo một style, đã khởi tạo các thành phần cơ bản
cStyle = new CStyle();
Trong CStyle.cs
public CStyle()
        {
            numberFormatCode = null;
            fontSize = 11;
            fontName = "TimeNewRoman";
            fontColor = "000";
            fontBold = false;
            fontItalic = false;
            fillPattern = PatternValues.None;
            fillForeGroundColor = null;
            borderLeftColor = null;
            borderLeftStyleValue = BorderStyleValues.None;
            borderBottomColor = null;
            borderBottomStyleValue = BorderStyleValues.None;
            borderRightColor = null;
            borderRightStyleValue = BorderStyleValues.None;
            borderTopColor = null;
            borderTopStyleValue = BorderStyleValues.None;
            alignmentHorizontal = HorizontalAlignmentValues.Left;
            alignmentVertical = VerticalAlignmentValues.Center;
            wrapText = true;
            textRotate = (uint)0;
        }
3. Có thể khai báo các thuộc tính cho style thông qua
cStyle.alignmentHorizontal = HorizontalAlignmentValues.Left;
 Style.fontName = "Times New Roman";
 cStyle.fontSize = 12;
 Khi cStyle.CreateStyle(); sẽ tạo style theo tất cả các thuộc tính đã set -> CStyle.cs (line 97), hàm này sẽ bổ sung các thuộc tính quan trọng:
         public Fill _oFill { get; set; }
        public Border _oBorder { get; set; }
        public Font _oFont { get; set; }
        public Alignment _oAlignment { get; set; }
        public NumberingFormat _oNumberingFormat { get; set; }
Chú ý:
Riêng đối với _oNumberingFormat phải quan tâm tới NumberFormatId
Hàm InsertNumberingFormat
public uint InsertNumberingFormat(NumberingFormat numberingFormat, WorkbookPart workbookPart)
        {
            NumberingFormats numberingFormats = workbookPart.WorkbookStylesPart.Stylesheet.Elements<NumberingFormats>().First();
            //cập nhật id cho numberingFormat
            numberingFormat.NumberFormatId = numberingFormats.Count;
            numberingFormats.Append(numberingFormat);
            return (uint)numberingFormats.Count++;
        } 

Cuối cùng, hàm
public uint GetStyleIndex(WorkbookPart _workbookPart, Cell cell)
        {
            CellFormat cellFormat = cell.StyleIndex != null ? this.GetCellFormat(cell.StyleIndex, _workbookPart).CloneNode(true) as CellFormat : new CellFormat();
            this.AppendCellFormat(cellFormat, _workbookPart); //là hàm quan trọng để tạo các format
            uint styleIndex = this.InsertCellFormat(cellFormat, _workbookPart);
            return styleIndex;
        }

Sẽ thêm mới một style và trả về styleIndex
















Thứ Ba, 6 tháng 12, 2016

How to Use ViewModel in Asp.Net MVC with Example

Here we will learn what is viewmodel in asp.net mvc and how to use viewmodel in asp.net mvc applications with example.

ViewModel in Asp.Net MVC

The viewmodel in asp.net mvc represent only the data we want to display on view whether it is used for displaying or for taking input from view. If we want to display more than one model on view in asp.net mvc then we need to create a new viewmodel. Following image shows visual representation of view model in asp.net mvc.
Here we will learn asp.net mvc viewmodel with simple example if we have a Customer entity and Order entity. In view to display both entities (Customer entity + Order entity) data then we need to create viewmodel (CustomerVM) and we will select the properties whichever we want to display from both entities (Customer entity + Order entity) and create a viewmodel.

viewmodel structure in asp.net mvc application

Now start with creating a viewmodel in asp.net mvc before that let's have look on table which we are going to use in our application.

Thứ Sáu, 2 tháng 12, 2016

Hướng dẫn cài đặt PostgreSQL 9.5, PostGIS 2.2 and pgRouting 2.1.0 trong Centos

Postgres là hệ quản trị cơ sở mã nguồn mở hỗ trợ rất mạnh các hệ thống thông tin bản đồ (webgis). Tài liệu này sẽ hướng dẫn cài đặt PostgreSQL 9.5; PostGIS; Pgrouting trong hệ điều hành CentOS 6
Kết quả hình ảnh cho postgresql pgrouting 

Thứ Tư, 30 tháng 11, 2016

Hive đọc dữ liệu từ HDFS


Trong bài trước đã hướng dẫn sử dụng Hive phân tích dữ liệu chứng khoán. Trong ví dụ đó, tôi sử dụng lệnh “load data local inpath” để đưa dữ liệu từ thư mục lưu trữ trên máy local vào tảng dữ liệu đã được tạo sẵn trong hive. Lệnh trên cũng đồng thời tạo thư mục NYSE trong workspace của Hive trên HDFS. Với lệnh trên, tôi phân vân rằng liệu với dữ liệu streaming (sử dụng Apache Flume liên tục đẩy dữ liệu vào HDFS) thì làm thế nào để Hive có thể đọc được (dữ liệu mới được tự động đẩy vào Hive table để phân tích). Rất may Hive đã làm cho tôi việc này. Để hiểu rõ hơn cơ chế đọc dữ liệu của Hive, tôi đã test một trường hợp sau:
 Kết quả hình ảnh cho hive hdfs